This document aims to outline the requirements for the various forms of contribution for this project.
ALL contributions are subject to review via pull request
- Ensure the "base repository" is set to "ansible/product-demos".
- PRs should include the playbook/demo and required entry in corresponding
<demo>/setup.yml
. - PRs should include documentation in corresponding
<demo>/README.md
. - PRs should be rebased against the
main
branch to avoid conflicts. - PRs should not impact more than a single directory/demo section.
- PRs should not rely on external infrastructure or configuration unless the dependency is automated or specified in the
user_message
ofsetup.yml
.
- Create a new branch based on main. (eg.
git checkout -b <branch name>
) - Add your playbook to the appropriate demo/section subdirectory.
- Make any changes needed to match the existing standards in the directory.
- Ex: Parameterized hosts
hosts: "{{ _hosts | default('windows') }}"
- Create an entry for your playbook in your subdirectories
setup.yml
- You can copy paste an existing one and edit it.
- Ensure you edit the name, playbook path, survey etc.
- Add any needed roles/collections to the requirements.yml
- Test via demo.redhat.com, specify your branch name within the project configuration.
NOTE: demo.redhat.com is available to Red Hat Associates and Partners with a valid account.
- Create a new subdirectory with no spaces
- Create a new setup.yml copying appropriate elements from another
- Below is a sample skeleton for a new setup.yml
--- user_message: '' controller_components: - job_templates controller_templates: ...
controller_components
can be any of the roles defined here- Add variables for each component listed
- Include a README.md in the subdirectory
To run ansible-lint
you will need to set an environment variable for the token to connect to Automation Hub. You can get a token from here.
Copy the value of the token and run export ANSIBLE_GALAXY_SERVER_AH_TOKEN=<token>