A tool developed by Ansible for deploying and managing OpenLab CI infrastructures
- License: Apache License, Version 2.0
- Source: https://github.com/liu-sheng/labkeeper
Labkeeper is a collection of Ansible playbooks and roles used to deploy and manager OpenLab CI infrastructures.
This project is initially forked from the OpenStack Windmill project, and modified for specific OpenLab CI system deployment.
- Check the configuration files under the config/ directory and the inventory files, maybe
need to modify some fields:
- Modify the nodepool and zuul servers IP address if needed
- Replace the github_acc_token field with github personal access token, which need to be manually generated in Github token
- Check the github_app_key_file, zuul_tenant_name, zuul_public_ip, etc.
Create an openlab.pem file with SSH private key to access servers to deploy CI services, and vault-password.txt file with ansible vault password as content.
Select one type of deployment: allinone, openlab`(refer to the inventory in `/inventory), the allinone is default choice. Then run following script to start deployment:
$ export DEFAULT_REMOTE_USER=ubuntu $ export DPLOY_TYPE=openlab $ ./deploy.sh
After finishing deploying Change the github app webhook URL, e.g. modify the allinoneopenlab app or theopenlab app webhook URL.
- Update the log server fqdn and host key(secrets.yaml) in the jobs config repo (openlab-zuul-jobs).
- Fix some workaround approaches and make more variables in playbooks configurable.
- Add support for monitoring and heath check functions.