First and foremost, thank you for your contribution. If at any stage you are stuck, confused or any other developer prone state, please ask for help.
-
Commit Messages use conventional commit format
-
ALL CI jobs must pass. if they error, you can view the "details" for what went wrong.
-
Ansible:
- Tasks must be named
- Task name must reflect their activity
- All task modules to use FQCN
- Don't be afraid of white space.
- Two blanks lines above tasks
- Two blank lines blow tasks
- One blank line at the end of the file
- Any task that "spills" a secret, must use
no_log
Development of this project has been setup to be done from VSCodium. The following additional requirements need to be met:
-
npm has been installed. required for
markdown
lintingsudo apt install -y --no-install-recommends npm
-
setup of other requirements can be done with
make prepare
-
ALL Linting must pass for Merge to be conducted.
make lint
!!! tip "TL;DR"
Common make commands are make prepare
then make docs
and make lint
Included within the root of the repository is a makefile that can be used during development to check/run different items as is required during development. The following make targets are available:
-
prepare
prepare the repository. init's all git submodules and sets up a python virtual env and other make targets
-
docs
builds the docs and places them within a directory called build, which can be viewed within a web browser
-
lint
conducts all required linting
-
ansible-lint
lints ansible directories/files only. should only be used when you only want to check Ansible formatting.
-
docs-lint
lints the markdown documents within the docs directory for formatting errors that MKDocs may/will have an issue with.
-
-
clean
cleans up build artifacts and removes the python virtual environment
# to test use
ansible-inventory -i nofusscomputing.centurion.centurion --list -vvv