defaults | ||
files | ||
github/workflows | ||
handlers | ||
meta | ||
molecule | ||
tasks | ||
templates | ||
vars | ||
.ansible-lint | ||
.pre-commit-config.yaml | ||
.yamllint | ||
CHANGELOG.md | ||
LICENSE | ||
README.md |
CI Badge
Kojihub Role
This role installs kojihub and kojiweb. Note that it does NOT install the database. The database must be installed from a different role or playbook method. This role also assumes you are using a Kerberos infrastructure, such as FreeIPA.
FAS is not yet implemented.
Ansible 2.10 users: You will need the community.general collection installed.
Getting started
Ensure all dependencies are installed and then follow the below process
git clone repo
Get the development repositorypre-commit install
Install the pre-commit hooks- Make edits as explained in the customization section
pre-commit
Make sure existing code is gooddo development
Dont ask me :Dpre-commit
Make sure the edits are good to gomolecule converge
Dependencies
This repo expects 3 things installed on the local machine
- pre-commit Methodology to test yaml style
- ansible-lint lint ansible code for best practices
- yamllint Ensures all yaml is well formed
Customization
There are a few files that are required to be updated when using this template
- molecule/requirements.yml - Update with any required roles or collections
- molecule/default/converge.yml - update with new role name
- molecule/default/molecule.yml - update with desired distributions and extra playbooks
- github - Rename to
.github
and push, this will set up yamllint, ansible-lint and a CI check job for themain
branch- NOTE: If you are using a SAML token this may fail. You can created the files within the Github web app
Optional
The github actions are configured to automatically run the molecule tests but if you want to load them locally you will also need molecule installed on the development machine
Advanced
There are numerous other options within the defaults/main.yml that can change other parts of the behavior of the system
Changelog
The changelog is stored externally