mirror of
https://github.com/rocky-linux/ansible-role-kojid.git
synced 2024-11-24 14:11:25 +00:00
39 lines
1.9 KiB
Markdown
39 lines
1.9 KiB
Markdown
CI Badge
|
|
|
|
# Kojid Role
|
|
This role prepares a system to be a koji builder. This requires kerberos keytabs.
|
|
|
|
## Getting started
|
|
Ensure all dependencies are installed and then follow the below process
|
|
1. `git clone repo` Get the development repository
|
|
2. `pre-commit install` Install the pre-commit hooks
|
|
3. Make edits as explained in the customization section
|
|
4. `pre-commit` Make sure existing code is good
|
|
5. `do development` Dont ask me :D
|
|
6. `pre-commit` Make sure the edits are good to go
|
|
7. `molecule converge`
|
|
|
|
## Dependencies
|
|
This repo expects 3 things installed on the local machine
|
|
1. [pre-commit](https://pre-commit.com/) Methodology to test yaml style
|
|
2. [ansible-lint](https://github.com/ansible-community/ansible-lint) lint ansible code for best practices
|
|
3. [yamllint](https://github.com/adrienverge/yamllint) Ensures all yaml is well formed
|
|
|
|
### Customization
|
|
There are a few files that are required to be updated when using this template
|
|
1. [molecule/requirements.yml](molecule/requirements.yml) - Update with any required roles or collections
|
|
2. [molecule/default/converge.yml](molecule/default/converge.yml) - update with new role name
|
|
3. [molecule/default/molecule.yml](molecule/default/molecule.yml) - update with desired distributions and extra playbooks
|
|
4. [github](github) - Rename to `.github` and push, this will set up yamllint, ansible-lint and a CI check job for the `main` branch
|
|
1. 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](./defaults/main.yml) that can change other parts of the behavior of the system
|
|
|
|
## Changelog
|
|
The [changelog](./CHANGELOG.md) is stored externally
|