This document will tell you how to get the project up and running as smoothly as possible.
In order to test your changes you need a running Kubernetes cluster. There are multiple options for you, but maybe the easiest one is kind.
Most likely you want to test your changes within a running PostgreSQL cluster. You can set up a fully functional stack by applying the provided manifests within this repository:
kubectl apply -k config/samples/postgres
Note: You have to install kustomize in order to execute the command mentioned above.
In order to modify the code you need a working Go installation.
In order to modify the workflows you need a working Python installation.
In order to generate the changelogs you need a working Ruby installation.
As multiple languages are required for this project it is recommended to use some kind of version manager like asdf.
In order to test changes to the Custom Resources Definitions you have to apply these to your running Kubernetes cluster. Whenever you make changes you can just execute:
make install
When you are done with testing the changes you can remove the CRDs by executing:
make uninstall
To test changes within the operator you have to point your KUBECONFIG
to the Kubernetes
cluster you configured before. After setting up the KUBECONFIG
you can just run the
operator locally and it will interact with the configured Kubernetes cluster. You should
be able to develop and debug locally without any issues by running:
make run
Many files (documentation, manifests, ...) in this repository are
auto-generated. E.g. deploy/bundle.yaml
originates from the yaml files in
/config
. Before proposing a pull request:
- Commit your changes.
- Run
make generate
. - Commit the generated changes.