diff --git a/linode-ansible/deploy.yml b/linode-ansible/deploy.yml index 293b54a..e291772 100644 --- a/linode-ansible/deploy.yml +++ b/linode-ansible/deploy.yml @@ -1,6 +1,6 @@ --- - hosts: all roles: - - base_personal + - base become: yes become_user: root diff --git a/pvm-ansible/deploy.yml b/pvm-ansible/deploy.yml index 293b54a..e291772 100644 --- a/pvm-ansible/deploy.yml +++ b/pvm-ansible/deploy.yml @@ -1,6 +1,6 @@ --- - hosts: all roles: - - base_personal + - base become: yes become_user: root diff --git a/vm-ansible/Pulumi.yaml b/vm-ansible/Pulumi.yaml index b373e5f..f5f7dc9 100644 --- a/vm-ansible/Pulumi.yaml +++ b/vm-ansible/Pulumi.yaml @@ -43,5 +43,5 @@ template: description: Password of the username in the cloud-init phase playbooks: type: String - default: 'deploy.yml' - description: "Ansible Playbooks to implement, separate by commas." + default: '' + description: "Additional playbooks to implement, separate by commas." diff --git a/vm-ansible/__main__.py b/vm-ansible/__main__.py index fd8cdc1..ea7ccb7 100644 --- a/vm-ansible/__main__.py +++ b/vm-ansible/__main__.py @@ -35,9 +35,9 @@ volume = lv.Volume("disk", # Stream configuration files cloudinit = lv.CloudInitDisk("cloud-init", - meta_data = Template(open("./cloud-init/meta-data.jinja", "r").read()).render(env), - user_data = Template(open("./cloud-init/user-data.jinja", "r").read()).render(env), - network_config = open("./cloud-init/network-config", "r").read() + meta_data = Template(open("./templates/meta-data.jinja", "r").read()).render(env), + user_data = Template(open("./templates/user-data.jinja", "r").read()).render(env), + network_config = open("./templates/network-config", "r").read() ) vm = lv.Domain(config.get('hostname'), @@ -75,12 +75,18 @@ inventory = command.local.Command("a-inventory", opts = pulumi.ResourceOptions(depends_on = [ wait_time ]) ) -# Applying the command -for playbook in config.get('playbooks').split(','): - execute_ansible = command.local.Command(f"a-{playbook.split('.')[0]}", +deploy = command.local.Command('ap deploy', + create = 'ansible-playbook deploy.yml', + delete = 'rm -f ./ansible.log', + opts = pulumi.ResourceOptions(depends_on = [ inventory ]) +) + +# Running additional playbooks +for playbook in sorted(config.get('playbooks').split(',')): + execute_ansible = command.local.Command(f"ap {playbook.split('.')[0]}", create = f"ansible-playbook {playbook}", delete = "rm -f ./ansible.log", - opts = pulumi.ResourceOptions(depends_on = [ inventory ]) + opts = pulumi.ResourceOptions(depends_on = [ deploy ]) ) pulumi.export("ip", vm.network_interfaces[0]['addresses'][0]) diff --git a/vm-ansible/deploy.yml b/vm-ansible/deploy.yml index 293b54a..e291772 100644 --- a/vm-ansible/deploy.yml +++ b/vm-ansible/deploy.yml @@ -1,6 +1,6 @@ --- - hosts: all roles: - - base_personal + - base become: yes become_user: root diff --git a/vm-ansible/cloud-init/meta-data.jinja b/vm-ansible/templates/meta-data.jinja similarity index 100% rename from vm-ansible/cloud-init/meta-data.jinja rename to vm-ansible/templates/meta-data.jinja diff --git a/vm-ansible/cloud-init/network-config b/vm-ansible/templates/network-config similarity index 100% rename from vm-ansible/cloud-init/network-config rename to vm-ansible/templates/network-config diff --git a/vm-ansible/cloud-init/user-data.jinja b/vm-ansible/templates/user-data.jinja similarity index 100% rename from vm-ansible/cloud-init/user-data.jinja rename to vm-ansible/templates/user-data.jinja