76 lines
2.2 KiB
YAML
76 lines
2.2 KiB
YAML
---
|
|
# Note(decentral1se): please note that the majority of the vars that are
|
|
# referenced in this play are passed in via --extra-vars definitions in the
|
|
# functions script
|
|
|
|
- name: Check if internal system variables exists
|
|
stat:
|
|
path: "{{ plugin_config_root }}/vars.yml"
|
|
register: vars_yml
|
|
|
|
- name: Load internal system variables
|
|
no_log: true
|
|
when: vars_yml.stat.exists
|
|
include_vars:
|
|
file: "{{ plugin_config_root }}/vars.yml"
|
|
|
|
- name: Check if the application config file exists
|
|
stat:
|
|
path: "{{ app_config_root }}/config.yml"
|
|
register: config_yml
|
|
|
|
- name: Load unencrypted configuration variables
|
|
no_log: true
|
|
when: config_yml.stat.exists
|
|
include_vars:
|
|
file: "{{ app_config_root }}/config.yml"
|
|
|
|
- name: Check if an application vault directory exists
|
|
stat:
|
|
path: "{{ app_config_root }}/vault"
|
|
register: vault_dir
|
|
|
|
- name: Load application encrypted vault variables
|
|
no_log: true
|
|
when: vault_dir.stat.exists
|
|
include_vars:
|
|
ignore_unknown_extensions: true
|
|
dir: "{{ app_config_root }}/vault"
|
|
name: vault
|
|
extensions:
|
|
- yml
|
|
register: vault_include
|
|
|
|
- name: Create the dokku variable dictionary
|
|
set_fact:
|
|
dokku:
|
|
{
|
|
app: "{{ app }}",
|
|
mariadb_addr: "dokku-mariadb-{{ app }}",
|
|
mariadb_user: "mariadb",
|
|
hostname: "{{ lookup('file', '/home/dokku/HOSTNAME') }}",
|
|
}
|
|
|
|
- name: Debug variable dictionaries
|
|
debug:
|
|
msg: "{{ item }}"
|
|
with_items:
|
|
- "{{ vars }}"
|
|
when: debug is defined and debug == true
|
|
|
|
# Note(decentral1se): this has to be done like this through the hostvars
|
|
# interface because of the way Ansible forces us to work here. There is a bug
|
|
# report out on this: https://github.com/ansible/ansible/issues/36024
|
|
- name: Create config variable dictionary
|
|
set_fact:
|
|
config:
|
|
db: "{{ hostvars[dokku.hostname].db | default([]) }}"
|
|
env: "{{ hostvars[dokku.hostname].env | default([]) }}"
|
|
templates: "{{ hostvars[dokku.hostname].templates | default([]) }}"
|
|
vars: "{{ hostvars[dokku.hostname].vars | default([]) }}"
|
|
volumes: "{{ hostvars[dokku.hostname].volumes | default([]) }}"
|
|
|
|
- name: Create vault variable dictionary
|
|
set_fact:
|
|
vault: "{{ vault_include.ansible_facts.vault }}"
|