Managing Waldur with Ansible
NB! Repository with Ansible playbooks for Waldur management is not open-sourced. It is available to Waldur users that have purchased support packages.
Ansible version 2.9 is supported; code in this repository may work with other Ansible versions but it is not guaranteed.
- Make sure that you have:
- Folder containing managed-ansible Ansible installer (this one).
- Folder containing deployment-specific settings.
- INSTALLER_PATH - full path to current folder
- DEPLOYMENT_CONFIG_PATH - full path to folder with deployment-specific information
- DEPLOYMENT_IDS - list of deployment IDs you want to manage.
- Run ./setup_deployment.sh. This will create required symlinks.
ansible-playbook -DC <deployment_id.yml>to check what installer will do.
ansible-playbook -D <deployment_id.yml>to apply the installer.
- Download a new archive into a separate folder and unpack.
- Check what has changed:
rsync --dry-run -avzh unpacked-folder-eg-ansible-3.2.3/ /path/to/installer/
- Do the upgrade:
rsync -avzh unpacked-folder-eg-ansible-3.2.3/ /path/to/installer/
Upgrading Waldur to a new version is achieved by following the checklist:
- Update deployment-specific variables for the new version in
groups_vars/<deployment_id>/vault(if setting is private).
- Update target version in
waldur_mastermind_versionto a new version of the Waldur release.
ansible-playbook -DC <deployment_id.yml>to check what installer will do during the upgrade.
ansible-playbook -D <deployment_id.yml>to perform an upgrade.
Add new deployment
- Prepare servers matching requirements.
- Make sure you can access them by SSH by running only
ssh <host>. Otherwise you should tweak
~/.ssh/configfile or describe connectivity in the Ansible inventory.
Ansible (this repository):
- Add new deployment-specific host group to
[foo]); add hosts to this group.
- Add hosts to Waldur role groups in
- Add variable files for new deployment:
- Add deployment specific information under
- Copy existing playbook that is the closest match for a new deployment; modify as needed
- Run Ansible playbook to set up deployment:
ansible-playbook -D foo.yml
Ansible (this repository):
- Delete deployment-specific playbook, roles, tasks, templates etc.
- Delete variable files:
rm -rf group_vars/foo
- Delete deployment-specific host group and all deployment-specific hosts from
Managing Waldur deployed as Helm
- Installed and running
kubernetessystem on a node (e. g. minikube)
kubectlon the node
Place all configuration files for release in next manner:
- Files related to TLS ->
- Files related to white-labeling ->
- Files related to mastermind templates ->
- Files related to stress testing ->
- Files related to SAML2 ->
More configuration info: