This repository has been archived on 2020-05-07. You can view files and clone it, but cannot push or open issues or pull requests.
dokku-ansible-deploy/plays/commonlib/vars.yml

85 lines
2.5 KiB
YAML
Raw Normal View History

2020-04-14 09:30:40 +00:00
---
2020-04-14 11:02:16 +00:00
# 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
2020-04-14 09:30:40 +00:00
- name: Check if internal system variables exists
stat:
path: "{{ plugin_config_root }}/vars.yml"
register: vars_yml
- name: Load internal system variables
2020-04-15 10:15:51 +00:00
no_log: true
2020-04-14 09:30:40 +00:00
when: vars_yml.stat.exists
include_vars:
2020-04-14 09:30:40 +00:00
file: "{{ plugin_config_root }}/vars.yml"
- name: Check if an application vault directory exists
stat:
path: "{{ app_config_root }}/vault"
register: vault_dir
- name: Load application encrypted vault variables
2020-04-15 10:15:51 +00:00
no_log: true
2020-04-14 09:30:40 +00:00
when: vault_dir.stat.exists
include_vars:
2020-04-14 09:30:40 +00:00
ignore_unknown_extensions: true
dir: "{{ app_config_root }}/vault"
name: vault
2020-04-14 09:30:40 +00:00
extensions:
- yml
register: vault_include
2020-04-14 11:14:09 +00:00
2020-04-15 10:04:53 +00:00
- name: Check if the application config file exists
stat:
path: "{{ app_config_root }}/config.yml"
register: config_yml
- name: Load unencrypted configuration variables
2020-04-15 10:15:51 +00:00
no_log: true
2020-04-15 10:04:53 +00:00
when: config_yml.stat.exists
include_vars:
file: "{{ app_config_root }}/config.yml"
2020-04-14 12:18:37 +00:00
- name: Create the dokku variable dictionary
set_fact:
dokku:
{
app: "{{ app }}",
2020-04-14 12:18:37 +00:00
mariadb_addr: "dokku-mariadb-{{ app }}",
mongodb_addr: "dokku-mongo-{{ app }}:27017",
2020-04-14 12:18:37 +00:00
mariadb_user: "mariadb",
mongodb_user: "{{ app }}",
mariadb_type: "mariadb",
mongodb_type: "mongodb",
2020-04-14 12:18:37 +00:00
hostname: "{{ lookup('file', '/home/dokku/HOSTNAME') }}",
2020-04-14 13:10:30 +00:00
host: "{{ inventory_hostname }}",
2020-04-14 12:18:37 +00:00
}
2020-04-15 09:55:32 +00:00
- name: DEBUG -> vars dump for debugging purposes
debug:
msg: "{{ vars }}"
2020-04-15 09:56:49 +00:00
when: vars_debug_mode | default(false)
2020-04-15 09:55:32 +00:00
# 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
2020-04-15 10:04:53 +00:00
- name: Create vault variable dictionary
set_fact:
vault: "{{ vault_include.ansible_facts.vault | default([]) }}"
- name: Create config variable dictionary
set_fact:
config:
2020-04-16 10:56:54 +00:00
dirs: "{{ hostvars[dokku.host].dirs | default([]) }}"
2020-04-14 13:10:30 +00:00
db: "{{ hostvars[dokku.host].db | default([]) }}"
2020-04-16 10:57:11 +00:00
files: "{{ hostvars[dokku.host].files | default([]) }}"
2020-04-14 13:10:30 +00:00
env: "{{ hostvars[dokku.host].env | default([]) }}"
templates: "{{ hostvars[dokku.host].templates | default([]) }}"
vars: "{{ hostvars[dokku.host].vars | default([]) }}"
volumes: "{{ hostvars[dokku.host].volumes | default([]) }}"