diff --git a/roles/teleport-agent/defaults /main.yml b/roles/teleport-agent/defaults /main.yml new file mode 100644 index 0000000..7da5bfd --- /dev/null +++ b/roles/teleport-agent/defaults /main.yml @@ -0,0 +1,6 @@ +--- +teleport_proxy: "teleport.opstree.dev:443" +token_path: "/opt/token.file" +teleport_config_path: "/etc/teleport.yaml" +content: "22f17675f040af5a9f6581f07c843e77" + diff --git a/roles/teleport-agent/handlers/main.tf b/roles/teleport-agent/handlers/main.tf new file mode 100644 index 0000000..7f51df9 --- /dev/null +++ b/roles/teleport-agent/handlers/main.tf @@ -0,0 +1,5 @@ +--- +- name: Restart Teleport + ansible.builtin.systemd: + name: teleport + state: restarted diff --git a/roles/teleport-agent/meta /main.yml b/roles/teleport-agent/meta /main.yml new file mode 100644 index 0000000..78bec41 --- /dev/null +++ b/roles/teleport-agent/meta /main.yml @@ -0,0 +1,4 @@ +galaxy_info: + author: Pritam kondapratiwar + description: Install and configure Teleport node. + company: Opstree Solution diff --git a/roles/teleport-agent/tasks /main.yml b/roles/teleport-agent/tasks /main.yml new file mode 100644 index 0000000..10c6cc9 --- /dev/null +++ b/roles/teleport-agent/tasks /main.yml @@ -0,0 +1,4 @@ +--- +- name: Run tasks on Teleport nodes + include_tasks: node.yml + diff --git a/roles/teleport-agent/tasks /node.yml b/roles/teleport-agent/tasks /node.yml new file mode 100644 index 0000000..61e1e20 --- /dev/null +++ b/roles/teleport-agent/tasks /node.yml @@ -0,0 +1,26 @@ +--- +- name: Create token file with teleport token + ansible.builtin.copy: + dest: "{{ token_path }}" + content: "{{ content }}" + owner: root + group: root + mode: '0600' + +- name: Run teleport node install script + ansible.builtin.shell: "curl -fsSL https://{{ teleport_proxy }}/scripts/install.sh | bash" + +- name: Generate /etc/teleport.yaml using teleport node configure + ansible.builtin.command: > + teleport node configure + --output={{ teleport_config_path }} + --token={{ token_path }} + --proxy={{ teleport_proxy }} + +- name: Enable and start teleport service + ansible.builtin.systemd: + name: teleport + enabled: true + state: started + notify: Restart Teleport +