This repository has been archived on 2024-05-02. You can view files and clone it, but cannot push or open issues or pull requests.
Go to file
2020-12-08 22:47:22 -05:00
playbooks Implement docker compose app deployment playbook 2020-12-08 22:47:22 -05:00
resources Implement docker compose app deployment playbook 2020-12-08 22:47:22 -05:00
tasks Implement configure-webproxy for setting up basic nginx server 2020-12-07 20:27:09 -05:00
vars Update vars files with better organization and usage separation 2020-12-04 14:50:47 -05:00
.gitignore Convert from pipenv to poetry 2020-02-11 23:15:34 -05:00
.gitmodules Add secrets submodule so we can be secure and stuff 2019-11-23 20:26:59 -05:00
.pre-commit-config.yaml Update repository meta data 2020-12-04 15:00:20 -05:00
en1.yml Implement docker compose app deployment playbook 2020-12-08 22:47:22 -05:00
en2.yml Update en2 with new variable names 2020-02-11 23:16:58 -05:00
poetry.lock Add missing jsondiff dependency 2020-12-08 22:47:22 -05:00
pyproject.toml Add missing jsondiff dependency 2020-12-08 22:47:22 -05:00
README.md Update repository meta data 2020-12-04 15:00:20 -05:00

omni-ansible

Network Ansible configurations

  • The omni_* prefix is used for custom variables defined and used internally to distinguish them from ansible_* or other variables. The _runtime_ prefix should be used for runtime variables
  • Passing clean=true should force cleaning any and all cached stuff
  • Passing update=true should update any unpinned things to their latest version

Organizational notes:

  • Playbooks should be platform/device agnostic. Any playbook should be runnable against any device. If the config a playbook deploys isn't applicable to that device then the playbook should be laid out so that it skips any inapplicable hosts.
  • Building from that, platform-conditionals should go in task files: when conditions in playbooks should be limited to runtime conditions.

Target notes:

  • The 'mgmt' target grants remote management access. This usually means SSH + local login access, but can also mean web interface (cockpit, erx, etc)

General workflow:

  1. Run provision.yml - this gets the entire environment into a ready-to-go state but does not deploy any actual applications or perform any target tasks
  2. Run one or more deploy-*.yml - this deploys the application noted to the system
  3. Run one or more do-*.yml - this performs one off tasks

local env creation

Requires Poetry-1.1+

git clone https://vcs.enp.one/omni/omni-ansible.git

cd omni-ansible/

poetry install