Useful to push images updates to a master repository containing central manifests.
If you are using Kubernetes, usually, after building and pushing a Docker image to it's registry you will probably need to push that new tag to the repository that has all your manifest.
- Clones the central repository
- Runs: kustomize edit set image
- Pushes the resulted manifest to the central repository
There are different variables to setup the action:
Kustomize version to use. If not set the latest available will be use. Check https://github.com/kubernetes-sigs/kustomize/releases for available versions
The images (space separated) to edit using kustomize. For example: node:8.15.0 mysql=mariadb For more information run: kustomize edit set image -h
The email that will be used for the commit in the destination-repository-name.
The name that will be used for the commit in the destination-repository-name. If not specified, the repository-username will be used instead.
The repository we will push the kustomize results to.
For the repository https://github.com/rusowyler/github-action-kustomize-and-push is rusowyler.
For the repository https://github.com/rusowyler/github-action-kustomize-and-push is github-action-kustomize-and-push
The branch name for the destination repository. It defaults to main.
The directory to wipe and replace in the target repository. Defaults to wiping the entire repository
The commit message to be used. Defaults to "Updated KUSTOMIZE_IMAGES from ORIGIN_COMMIT". ORIGIN_COMMIT and KUSTOMIZE_IMAGES are replaced by the URL@commit and the submited images
E.g.:
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
Generate your personal token following the steps:
- Go to the Github Settings (on the right hand side on the profile picture)
- On the left hand side pane click on "Developer Settings"
- Click on "Personal Access Tokens" (also available at https://github.com/settings/tokens)
- Generate a new token, choose "Repo". Copy the token.
Then make the token available to the Github Action following the steps:
- Go to the Github page for the repository that you push from, click on "Settings"
- On the left hand side pane click on "Secrets"
- Click on "Add a new secret" and name it "API_TOKEN_GITHUB"
- name: Kustomize and push
uses: rusowyler/github-action-kustomize-and-push@main
env:
API_TOKEN_GITHUB: ${{ secrets.API_TOKEN_GITHUB }}
with:
kustomize-edit-images: "node:8.15.0"
repository-username: "rusowyler"
repository-name: "central-k8s-repository"
user-email: [email protected]
directory: enviroment/qa- Add real world examples
- Add a working example