This project will discover and provide orchestration and instruction to the various servers in the AniNIX ecosystem. It's named after the S'Jet carrier Kapisi from the game "Homeworld: Deserts of Kharak".
Go to file
2023-11-16 12:59:49 -06:00
bin catchup 2023-10-08 12:28:14 -05:00
examples catchup 2023-10-08 12:28:14 -05:00
playbooks Infrastructure cleanup 2022-12-18 22:23:17 -06:00
precommit-hooks Updating some SSH config 2023-07-19 15:41:27 -05:00
roles catchup 2023-10-08 12:28:14 -05:00
.gitignore catchup 2023-10-08 12:28:14 -05:00
LICENSE Initial commit 2019-12-06 13:57:27 -06:00
Makefile Adding packaging 2023-10-20 19:08:32 -05:00
PKGBUILD Fixing PKGBUILD dependencies 2023-11-16 12:59:49 -06:00
README.md Catching up with current dev 2022-04-19 12:01:03 -05:00
requirements.txt Updating Ubiqtorate 2020-10-08 16:33:19 -05:00

This project will discover and provide inventory intelligence to Sora, Shadowfeed, Geth, and Sharingan. It is named after the fictional Star Wars Imperial Intelligence organization that oversaw the various divisions of Intelligence and orchestrated their operations.

Note: This project is in progress -- former Makefiles from ConfigPackages are being upgraded into Ansible playbooks here.

How to use

This project expects that you use an Ansible vault for credentials. Create one and add this to your .bashrc.

export ANSIBLE_VAULT_PASSWORD_FILE=$HOME/password-store/${organization}.vault.password
export ANSIBLE_VAULT_FILE=$HOME/password-store/${organization}.vault

Take a look at examples/msn0.yml as an example inventory -- make sure you populate one of your own.

Once you have your vault and inventory, use AniNIX/ShadowArch with your hypervisor to provision the base image for your machines, or Raspbian.

Then, use the SSHkey playbook to copy your key and the deploy playbook to set things up.

ansible-playbook -i your-inventory.yml playbooks/sshkey.yml
ansible-playbook -i your-inventory.yml playbooks/deploy.yml

We've also added two scripts in ./bin to make your life easier:

  • full-deploy: This is the general role. If you are creating an AniNIX replica, once you have your inventory and vault populated, then you can run this script to push everything. This is also optimal when rotating vault secrets or other global tasks. This is effectively standardizing invocation of our overall deployment playbook.
  • deploy-role: When you are updating a specific role, use this script to push that role to your group. Ideally, this should only be used to push a role that you have been working on to a target group in your inventory that's already tagged for the role in the deployment playbook.

Happy hacking!

Exceptions

Some services, such as AniNIX/Sharingan and AniNIX/Geth, store their configuration in internal datastructures and databases such that we cannot easily export our build for others to use. We will document what we have done for each of these as best we can in the README.md files for others to replicate. Backups of these services into AniNIX/Aether are therefore dumps of these databases and not available to share.