A plugin that provide Ansible-based operator functionality for the Operator SDK. This project contains the core Ansible operator implementation that enables developers to build Kubernetes operators using Ansible playbooks and roles.
This project provides the Ansible plugin for Operator SDK, allowing you to:
- Build Kubernetes operators using Ansible playbooks and roles
- Manage custom resources with Ansible automation
- Handle operator lifecycle events through Ansible tasks
- Leverage the full ecosystem of Ansible modules and collections
- Push access to this repository
- Forked repository and local clone of fork
- Remote ref named
upstream
that points to this repository
Since this project is currently consumed as a library there are some manual steps that need to take place prior to creating a release. They are as follows:
- Checkout the
main
branch:
git checkout main
- Ensure the
main
branch is up to date:
git fetch upstream && git pull upstream main
- Checkout a new branch for release prep work:
git checkout -b release/prep-vX.Y.Z
- Update the
ImageVersion
variable ininternal/version/version.go
to be the version you are prepping for release - Update the line with
export IMAGE_VERSION
inMakefile
to be the version you are prepping for release - Regenerate the testdata:
make generate
- Commit and push your changes to your fork
- Create a PR against the
main
branch
- Ensure the steps in Release Prep have been completed. Do NOT progress past this point until the release prep PR has merged.
- Checkout the
main
branch:
git checkout main
- Ensure your local branch is up to date:
git fetch upstream && git pull upstream main
- Checkout a new branch for the new release following the pattern
release-vX.Y
. In this example we will create a branch for av0.2.0
release:
git checkout -b release-v0.2
- Push the newly created release branch:
git push -u upstream release-v0.2
- Create a new release tag:
git tag -a -s -m "ansible-operator-plugins release v0.2.0" v0.2.0
- Push the new tag:
git push upstream v0.2.0
- Ensure the steps in Release Prep have been completed. Do NOT progress past this point until the release prep PR has merged.
- Cherry pick the merged release prep PR to the proper major/minor branch by commenting the following on the PR:
/cherry-pick release-vX.Y
where X is the major version and Y is the minor version. An example of cherry picking for a v0.2.1
release would be:
/cherry-pick release-v0.2
- A bot will have created the cherry pick PR. Merge this. Do NOT progress past this point until the cherry pick PR has merged.
- Checkout the appropriate release branch. In this example we will be "creating" a
v0.2.1
release:
git checkout release-v0.2
- Ensure it is up to date:
git fetch upstream && git pull upstream release-v0.2
- Create a new release tag:
git tag -a -s -m "ansible-operator-plugins release v0.2.1" v0.2.1
- Push the new tag:
git push upstream v0.2.1
Note
While the release process is automated once the tag is pushed it can occasionally timeout. If this happens, re-running the action will re-run the release process and typically succeed.