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
Ethan Paul 6583c1ef15
Add performance tuning for nextcloud app
Fix nextcloud cron jobs never being run
2021-05-02 13:51:20 -04:00
playbooks Add support for deploying assets alongside compose apps 2021-04-29 19:08:05 -04:00
resources Add performance tuning for nextcloud app 2021-05-02 13:51:20 -04:00
tasks Add task to delete and reclone local repos on error 2021-03-22 22:29:18 -04:00
vars Add performance tuning for nextcloud app 2021-05-02 13:51:20 -04: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
README.md Update repository meta data 2020-12-04 15:00:20 -05:00
ansible.cfg Add ansible config to enable forward agent 2021-01-15 00:35:57 -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

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