The purpose of this project is to demonstrate how custom apps can added to Kommander 2.x and also to show how this process can be automated
-
Kommander 2.x Cluster should already be running and the kubeconfig file to connect to the cluster as an admin should be present locally
Note: Clone the following repo to deploy 2.x Kommander cluster if one does not already exist https://github.com/arbhoj/dkp-pseudo-onprem-setup.git
-
Git & kubectl cli tools and a bash shell to run the script provided in this repo
Follow the steps given here to deploy custom apps bundled with this repo.
Note: These are example apps and can be used as a baseline to create your own.
-
Set the environment variables to point to the Kommander cluster
export KUBECONFIG=admin.conf
-
Get the details of the git repository hosted in the cluster to manange flux resources. This will print the git repo url and the credentials to be used to access that.
./get_git_repo_details.sh
-
Now clone the git repository using the url and credentials from the last command
e.g: git clone https://a17664e980b634238b403e5003c2baf9-439434263.us-west-2.elb.amazonaws.com/dkp/kommander/gitserver/repo
-
Set the path of the repo redirectory in an environment variable named REPO_PATH and run the deploy_custom_apps.sh script
e.g.: export REPO_PATH=$(pwd)/repo ./deploy_custom_apps.sh
Creating and deploying Custom Catalog items are broken into two parts:
Note: Catalog items use FluxCD to perform the actual deployment of artifacts to the cluster hence some familiarity with FluxCD is a nice to have before continuing.
- App & HelmRepository resource in the DKP Kommander cluster
This makes the catalog item visible in the Kommander UI under
workspace
orproject
apps depending on the value added to theapps.kommander.d2iq.io/scope
annotation
Sample Manifest:
apiVersion: apps.kommander.d2iq.io/v1alpha1
kind: App
metadata:
annotations:
apps.kommander.d2iq.io/category: logging
apps.kommander.d2iq.io/description: elastic description
apps.kommander.d2iq.io/display-name: Elasticsearch
apps.kommander.d2iq.io/scope: workspace
apps.kommander.d2iq.io/type: custom
apps.kommander.d2iq.io/overview: |-
# Overview
This sets up elasticsearch
apps.kommander.d2iq.io/icon: PHN2ZyB3aWR0aD0iMjIwIiBoZWlnaHQ9IjEzMCIgdmlld0JveD0iMCAwIDIyMCAxMzAiIGZpbGw9Im5vbmUiIHhtbG5zPSJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2ZyI+CjxyZWN0IHdpZHRoPSIyMjAiIGhlaWdodD0iMTMwIiBmaWxsPSJ3aGl0ZSIvPgo8cGF0aCBkPSJNMTQ5LjY5NiA1MS4xOTQ1QzE0OS43MDYgNDcuOTg5NyAxNDguNzI1IDQ0Ljg2MDEgMTQ2Ljg4NyA0Mi4yMzQ1QzE0NS4wNDkgMzkuNjA5IDE0Mi40NDQgMzcuNjE2IDEzOS40MyAzNi41Mjg1QzEzOS43MDMgMzUuMTMxMSAxMzkuODQxIDMzLjcxMDQgMTM5Ljg0IDMyLjI4NjRDMTM5LjgzOCAyNy41NzI3IDEzOC4zNDIgMjIuOTgwOSAxMzUuNTY3IDE5LjE3MDVDMTMyLjc5MiAxNS4zNjAyIDEyOC44ODEgMTIuNTI3MyAxMjQuMzk2IDExLjA3ODhDMTE5LjkxIDkuNjMwMzEgMTE1LjA4MSA5LjY0MDcxIDExMC42MDEgMTEuMTA4NUMxMDYuMTIyIDEyLjU3NjMgMTAyLjIyMyAxNS40MjYgOTkuNDY0NyAxOS4yNDgzQzk3LjQzMDQgMTcuNjY3NyA5NC45MzYyIDE2Ljc5MzUgOTIuMzYwMiAxNi43NTgzQzg5Ljc4NDMgMTYuNzIzMSA4Ny4yNjcxIDE3LjUyODggODUuMTkwNCAxOS4wNTMzQzgzLjExMzcgMjAuNTc3OCA4MS41OTA4IDIyLjczNzggODAuODUyNSAyNS4yMDU5QzgwLjExNDEgMjcuNjc0IDgwLjIwMDggMzAuMzE1NiA4MS4wOTkyIDMyLjczQzc4LjA3NjggMzMuODI5MiA3NS40NjM4IDM1LjgyODEgNzMuNjExOSAzOC40NTc0QzcxLjc2IDQxLjA4NjggNzAuNzU4MiA0NC4yMjA0IDcwLjc0MTMgNDcuNDM2NEM3MC43MzEgNTAuNjUyOSA3MS43MTg1IDUzLjc5MzUgNzMuNTY3NiA1Ni40MjU0Qzc1LjQxNjggNTkuMDU3MyA3OC4wMzY2IDYxLjA1MDkgODEuMDY2MiA2Mi4xMzE3QzgwLjc5NzEgNjMuNTI5OCA4MC42NjA4IDY0Ljk1MDEgODAuNjU5MiA2Ni4zNzM5QzgwLjY0OTQgNzEuMDg5MiA4Mi4xMzkxIDc1LjY4NTYgODQuOTEyOSA3OS40OTg4Qzg3LjY4NjggODMuMzEyIDkxLjYwMTEgODYuMTQ0NiA5Ni4wOTAzIDg3LjU4NzJDMTAwLjU4IDg5LjAyOTkgMTA1LjQxMSA4OS4wMDggMTA5Ljg4NyA4Ny41MjQ2QzExNC4zNjMgODYuMDQxMiAxMTguMjUyIDgzLjE3MzIgMTIwLjk5MSA3OS4zMzQ5QzEyMy4wMTkgODAuOTE5IDEyNS41MDkgODEuNzk3NyAxMjguMDgzIDgxLjgzNzZDMTMwLjY1NiA4MS44Nzc1IDEzMy4xNzIgODEuMDc2NSAxMzUuMjQ5IDc5LjU1NjFDMTM3LjMyNiA3OC4wMzU3IDEzOC44NDkgNzUuODc5MSAxMzkuNTg5IDczLjQxMzlDMTQwLjMyOCA3MC45NDg2IDE0MC4yNDIgNjguMzA5NSAxMzkuMzQ1IDY1Ljg5NzJDMTQyLjM2NSA2NC43OTY2IDE0NC45NzYgNjIuNzk3NyAxNDYuODI2IDYwLjE2OTNDMTQ4LjY3NyA1Ny41NDA4IDE0OS42NzggNTQuNDA4OSAxNDkuNjk2IDUxLjE5NDUiIGZpbGw9IndoaXRlIi8+CjxwYXRoIGQ9Ik0xMDEuNzc4IDQzLjg2NTFMMTE5LjA1MSA1MS43MzdMMTM2LjQ5NiAzNi40Njk3QzEzNi43NDYgMzUuMjA4IDEzNi44NjkgMzMuOTI0NCAxMzYuODYzIDMyLjYzODJDMTM2Ljg2NSAyOC40NzUzIDEzNS41MzQgMjQuNDIxIDEzMy4wNjQgMjEuMDY5OUMxMzAuNTk0IDE3LjcxODggMTI3LjExNiAxNS4yNDcgMTIzLjEzOSAxNC4wMTdDMTE5LjE2MiAxMi43ODY5IDExNC44OTUgMTIuODYzMyAxMTAuOTY0IDE0LjIzNUMxMDcuMDM0IDE1LjYwNjYgMTAzLjY0NiAxOC4yMDEzIDEwMS4yOTggMjEuNjM4N0w5OC40MDE0IDM2LjY3MTRMMTAxLjc3OCA0My44NjUxWiIgZmlsbD0iI0ZFQzUxNCIvPgo8cGF0aCBkPSJNODMuOTAxMSA2Mi4xNTc2QzgzLjY1MDkgNjMuNDM3OCA4My41MjgxIDY0LjczOTYgODMuNTM0NCA2Ni4wNDQxQzgzLjUzMDggNzAuMjIyIDg0Ljg2NzYgNzQuMjkwOSA4Ny4zNDgxIDc3LjY1MjdDODkuODI4NyA4MS4wMTQ2IDkzLjMyMjIgODMuNDkyMSA5Ny4zMTUzIDg0LjcyMUMxMDEuMzA4IDg1Ljk1IDEwNS41OSA4NS44NjU3IDEwOS41MzIgODQuNDgwNUMxMTMuNDc0IDgzLjA5NTIgMTE2Ljg2NyA4MC40ODIxIDExOS4yMTMgNzcuMDI1MkwxMjIuMDkxIDYyLjAzNjZMMTE4LjI1MyA1NC43MDM2TDEwMC44OTUgNDYuNzk0OUw4My45MDExIDYyLjE1NzZaIiBmaWxsPSIjMDBCRkIzIi8+CjxwYXRoIGQ9Ik04My43OTExIDMyLjI2NDRMOTUuNjI2NiAzNS4wNTgzTDk4LjIyMjUgMjEuNTk4NkM5Ni42MTE2IDIwLjM4MjQgOTQuNjUwNyAxOS43MTk3IDkyLjYzMjMgMTkuNzA5NEM5MC42MTM5IDE5LjY5OSA4OC42NDYzIDIwLjM0MTcgODcuMDIzMSAyMS41NDEzQzg1LjM5OTkgMjIuNzQxIDg0LjIwODEgMjQuNDMzNCA4My42MjU2IDI2LjM2NTlDODMuMDQzMSAyOC4yOTg1IDgzLjEwMTIgMzAuMzY3NiA4My43OTExIDMyLjI2NDQiIGZpbGw9IiNGMDRFOTgiLz4KPHBhdGggZD0iTTgyLjc2MzYgMzUuMDg0QzgwLjIwMjMgMzUuOTI3MSA3Ny45NjUxIDM3LjU0MjcgNzYuMzU5MiAzOS43MDg3Qzc0Ljc1MzQgNDEuODc0OCA3My44NTc4IDQ0LjQ4NTEgNzMuNzk1NSA0Ny4xODA4QzczLjczMzIgNDkuODc2NSA3NC41MDczIDUyLjUyNTMgNzYuMDExNCA1NC43NjMyQzc3LjUxNTUgNTcuMDAxMiA3OS42NzU3IDU4LjcxODQgODIuMTk1MyA1OS42Nzg5TDk4LjgwNDUgNDQuNjY4Mkw5NS43NTQgMzguMTUyOEw4Mi43NjM2IDM1LjA4NFoiIGZpbGw9IiMxQkE5RjUiLz4KPHBhdGggZD0iTTEyMi4yMzggNzcuMDI1MUMxMjMuNjE3IDc4LjA4NTEgMTI1LjI2NCA3OC43Mzc0IDEyNi45OTUgNzguOTA3OUMxMjguNzI1IDc5LjA3ODQgMTMwLjQ2OSA3OC43NjA0IDEzMi4wMjcgNzcuOTg5OEMxMzMuNTg2IDc3LjIxOTIgMTM0Ljg5OCA3Ni4wMjcxIDEzNS44MTMgNzQuNTQ4N0MxMzYuNzI4IDczLjA3MDMgMTM3LjIxIDcxLjM2NDkgMTM3LjIwNSA2OS42MjYxQzEzNy4yMSA2OC41MTk2IDEzNy4wMTggNjcuNDIxMSAxMzYuNjQgNjYuMzgxMkwxMjQuODEyIDYzLjYxM0wxMjIuMjM4IDc3LjAyNTFaIiBmaWxsPSIjOTNDOTBFIi8+CjxwYXRoIGQ9Ik0xMjQuNjQzIDYwLjUxMTFMMTM3LjY2MyA2My41NThDMTQwLjI2MyA2Mi42ODIzIDE0Mi41MjQgNjEuMDE2NyAxNDQuMTMyIDU4Ljc5MzdDMTQ1Ljc0IDU2LjU3MDcgMTQ2LjYxMyA1My45MDEzIDE0Ni42MzEgNTEuMTU3OUMxNDYuNjI5IDQ4LjUxNDQgMTQ1LjgyMyA0NS45MzQyIDE0NC4zMiA0My43NTk0QzE0Mi44MTcgNDEuNTg0NyAxNDAuNjg4IDM5LjkxODQgMTM4LjIxNiAzOC45ODE0TDEyMS4xODYgNTMuOTA0MUwxMjQuNjQzIDYwLjUxMTFaIiBmaWxsPSIjMDA3N0NDIi8+CjxwYXRoIGQ9Ik03Ny44MzI4IDExNy40MDRMNzguODU5NCAxMTcuMjk4TDc4LjkyOSAxMTkuMzkyQzc2LjY0MDggMTE5LjczNyA3NC4zMzE2IDExOS45MjUgNzIuMDE3NyAxMTkuOTU2QzY5LjQ2MzQgMTE5Ljk1NiA2Ny42NTQ2IDExOS4yMjMgNjYuNTkxMyAxMTcuNzU2QzY1LjUyOCAxMTYuMjkgNjQuOTk3NiAxMTMuOTg2IDY1IDExMC44NDVDNjUgMTA0LjYzMSA2Ny40NyAxMDEuNTIzIDcyLjQxIDEwMS41MjFDNzQuNzk1NyAxMDEuNTIxIDc2LjU4IDEwMi4xODggNzcuNzYzMSAxMDMuNTIzQzc4Ljk0NjIgMTA0Ljg1OCA3OS41Mzc3IDEwNi45NTYgNzkuNTM3NyAxMDkuODE4TDc5LjM5NDcgMTExLjgzOUg2Ny42OTQ5QzY3LjY5NDkgMTEzLjc5NCA2OC4wNDkzIDExNS4yNDcgNjguNzU4MiAxMTYuMTk4QzY5LjQ2NyAxMTcuMTQ5IDcwLjcwMjYgMTE3LjYyMiA3Mi40NjUgMTE3LjYxN0M3NC4yMjQ5IDExNy42MTcgNzYuMDE0MiAxMTcuNTQ2IDc3LjgzMjggMTE3LjQwNFpNNzYuODc5NSAxMDkuNzI3Qzc2Ljg3OTUgMTA3LjU1MSA3Ni41Mjk5IDEwNi4wMTUgNzUuODMwOSAxMDUuMTE4Qzc1LjEzMTggMTA0LjIyMSA3My45OTc2IDEwMy43NzEgNzIuNDI4MyAxMDMuNzY5QzcwLjg1NDIgMTAzLjc2OSA2OS42NzI0IDEwNC4yNDIgNjguODgyOCAxMDUuMTg3QzY4LjA5MzMgMTA2LjEzMyA2Ny42ODUxIDEwNy42NDcgNjcuNjU4MiAxMDkuNzI3SDc2Ljg3OTVaIiBmaWxsPSIjMUMxRTIzIi8+CjxwYXRoIGQ9Ik04My4yNDUxIDExOS44MjFWOTYuNDgzNEg4NS44OTk3VjExOS44MjFIODMuMjQ1MVoiIGZpbGw9IiMxQzFFMjMiLz4KPHBhdGggZD0iTTEwMi42NTEgMTA3LjIzVjExNi4xNzJDMTAyLjY1MSAxMTcuMDU2IDEwNC44NTEgMTE3LjAyMyAxMDQuODUxIDExNy4wMjNMMTA0LjcxNiAxMTkuMzczQzEwMi44NDYgMTE5LjM3MyAxMDEuMzAyIDExOS41MjcgMTAwLjM3MSAxMTguNjRDOTguMzYyOCAxMTkuNTMxIDk2LjE4NzggMTE5Ljk4MyA5My45OTExIDExOS45NjdDOTIuMzU4MyAxMTkuOTY3IDkxLjExNzggMTE5LjUwNiA5MC4yNjk2IDExOC41ODVDODkuNDIxNCAxMTcuNjYzIDg4Ljk5ODUgMTE2LjMzNiA4OS4wMDEgMTE0LjYwM0M4OS4wMDEgMTEyLjg4IDg5LjQzODUgMTExLjYxIDkwLjMxMzYgMTEwLjc5NEM5MS4xODg3IDEwOS45NzcgOTIuNTU4NyAxMDkuNDc1IDk0LjQyMzcgMTA5LjI4N0w5OS45ODk1IDEwOC43NTVWMTA3LjIzQzk5Ljk4OTUgMTA2LjAyMiA5OS43MzA0IDEwNS4xNTkgOTkuMjEyMiAxMDQuNjQxQzk4LjkyOSAxMDQuMzc0IDk4LjU5NDUgMTA0LjE2NyA5OC4yMjkgMTA0LjAzM0M5Ny44NjM1IDEwMy44OTggOTcuNDc0NSAxMDMuODQgOTcuMDg1NiAxMDMuODZIOTAuMDk3M1YxMDEuNTE0SDk2Ljg5ODZDOTguOTA3OSAxMDEuNTE0IDEwMC4zNjcgMTAxLjk3NCAxMDEuMjc2IDEwMi44OTZDMTAyLjE4NiAxMDMuODE3IDEwMi42NDQgMTA1LjI2MiAxMDIuNjUxIDEwNy4yM1pNOTEuNzI4OSAxMTQuNDZDOTEuNzI4OSAxMTYuNjM4IDkyLjYyNzIgMTE3LjcyNiA5NC40MjM3IDExNy43MjNDOTYuMDQ3MiAxMTcuNzIzIDk3LjY1ODggMTE3LjQ0OCA5OS4xOTAyIDExNi45MDlMMTAwLjAwNCAxMTYuNjIzVjExMC43NzVMOTQuNzU3NCAxMTEuMjdDOTMuNjk0MSAxMTEuMzY2IDkyLjkyNjYgMTExLjY3NCA5Mi40NTQ4IDExMi4xOTRDOTEuOTY3MiAxMTIuNzExIDkxLjcyODkgMTEzLjQ3IDkxLjcyODkgMTE0LjQ2WiIgZmlsbD0iIzFDMUUyMyIvPgo8cGF0aCBkPSJNMTEzLjAzMSAxMDMuODk3QzExMC40NTcgMTAzLjg5NyAxMDkuMTY5IDEwNC43OTUgMTA5LjE2NiAxMDYuNTkxQzEwOS4xMzYgMTA2LjkzNyAxMDkuMjAzIDEwNy4yODUgMTA5LjM2IDEwNy41OTVDMTA5LjUxNiAxMDcuOTA0IDEwOS43NTcgMTA4LjE2NCAxMTAuMDU0IDEwOC4zNDRDMTEwLjY0MyAxMDguNjg5IDExMS45ODcgMTA5LjA0MyAxMTQuMDg3IDEwOS40MDdDMTE2LjE4NiAxMDkuNzcyIDExNy42NzUgMTEwLjI4NiAxMTguNTUzIDExMC45NTFDMTE5LjQyNSAxMTEuNjEzIDExOS44NjMgMTEyLjg1NCAxMTkuODY1IDExNC42NzJDMTE5Ljg2OCAxMTYuNDkxIDExOS4yODIgMTE3LjgyNyAxMTguMTA5IDExOC42OEMxMTYuOTQgMTE5LjUzMSAxMTUuMjI5IDExOS45NTYgMTEyLjk3NiAxMTkuOTU2QzExMS41MDkgMTE5Ljk1NiAxMDYuNjE4IDExOS40MTMgMTA2LjYxOCAxMTkuNDEzTDEwNi43NjEgMTE3LjExMUMxMDkuNTcgMTE3LjM4MiAxMTEuNjA0IDExNy41OCAxMTIuOTk0IDExNy41OEMxMTQuMzg0IDExNy41OCAxMTUuNDEgMTE3LjM2NCAxMTYuMTMzIDExNi45MjdDMTE2Ljg1NSAxMTYuNDkxIDExNy4yMTQgMTE1Ljc1NCAxMTcuMjE0IDExNC43MjdDMTE3LjIxNCAxMTMuNzAxIDExNi45MDYgMTEzIDExNi4yOSAxMTIuNjM0QzExNS42NzQgMTEyLjI2NyAxMTQuMzI5IDExMS45MTkgMTEyLjI1NyAxMTEuNTg5QzExMC4xODYgMTExLjI1OSAxMDguNjk3IDExMC43NzUgMTA3LjgyNCAxMTAuMTIyQzEwNi45NTIgMTA5LjQ3IDEwNi41MTIgMTA4LjI4OSAxMDYuNTEyIDEwNi41NzdDMTA2LjUxMiAxMDQuODY1IDEwNy4xMiAxMDMuNTc0IDEwOC4zNDUgMTAyLjc0NUMxMDkuNzAzIDEwMS44OCAxMTEuMjkzIDEwMS40NDcgMTEyLjkwMiAxMDEuNTA2QzExNC4zNDMgMTAxLjUwNiAxMTkuMzQ0IDEwMS44NzMgMTE5LjM0NCAxMDEuODczVjEwNC4xOUMxMTYuNjk3IDEwNC4wODQgMTE0LjU0MSAxMDMuODk3IDExMy4wMzEgMTAzLjg5N1oiIGZpbGw9IiMxQzFFMjMiLz4KPHBhdGggZD0iTTEzMi42OTggMTA0LjE3OUgxMjcuMDU5VjExMi42NkMxMjcuMDU5IDExNC42OTMgMTI3LjIwNyAxMTYuMDI5IDEyNy41MDMgMTE2LjY2N0MxMjcuOCAxMTcuMzA1IDEyOC41IDExNy42MjQgMTI5LjYxMSAxMTcuNjI0TDEzMi43NjggMTE3LjQxMUwxMzIuOTQ0IDExOS42MTFDMTMxLjc1IDExOS44MyAxMzAuNTQyIDExOS45NiAxMjkuMzI5IDEyMEMxMjcuNDgzIDEyMCAxMjYuMjA4IDExOS41NTEgMTI1LjUwMSAxMTguNjU0QzEyNC43OTUgMTE3Ljc1NyAxMjQuNDQgMTE2LjA0NiAxMjQuNDM4IDExMy41MjFWMTA0LjE3OUgxMjEuOTE5VjEwMS44NzZIMTI0LjQzOFY5Ni40NUgxMjcuMDU5VjEwMS44NzZIMTMyLjY5OFYxMDQuMTc5WiIgZmlsbD0iIzFDMUUyMyIvPgo8cGF0aCBkPSJNMTM2LjM5NCA5OS42MTA2Vjk2LjUyNzFIMTM5LjA2M1Y5OS42MTA2SDEzNi4zOTRaTTEzNi4zOTQgMTE5LjgyVjEwMS44NzdIMTM5LjA2M1YxMTkuODJIMTM2LjM5NFoiIGZpbGw9IiMxQzFFMjMiLz4KPHBhdGggZD0iTTE1MC41NzIgMTAxLjUyMUMxNTEuOTA0IDEwMS41NzcgMTUzLjIzIDEwMS43MTkgMTU0LjU0MyAxMDEuOTQ2TDE1NS4zOTQgMTAyLjA1M0wxNTUuMjg3IDEwNC4yMTZDMTUzLjg5OSAxMDQuMDM5IDE1Mi41MDMgMTAzLjkzMyAxNTEuMTA0IDEwMy44OTdDMTQ5LjA5NSAxMDMuODk3IDE0Ny43MyAxMDQuMzc1IDE0Ny4wMDggMTA1LjMzQzE0Ni4yODcgMTA2LjI4NiAxNDUuOTI3IDEwOC4wNiAxNDUuOTI3IDExMC42NTFDMTQ1LjkyNyAxMTMuMjM5IDE0Ni4yNjQgMTE1LjA0MiAxNDYuOTM5IDExNi4wNTlDMTQ3LjYxMyAxMTcuMDc2IDE0OS4wMTMgMTE3LjU4MyAxNTEuMTM3IDExNy41OEwxNTUuMzI0IDExNy4yNjFMMTU1LjQzIDExOS40NjFDMTUzLjggMTE5LjczNyAxNTIuMTUyIDExOS45MDMgMTUwLjQ5OSAxMTkuOTU2QzE0Ny43MzQgMTE5Ljk1NiAxNDUuODI3IDExOS4yNDcgMTQ0Ljc3NiAxMTcuODNDMTQzLjcyNSAxMTYuNDEyIDE0My4xOTggMTE0LjAxOSAxNDMuMTk1IDExMC42NTFDMTQzLjE5NSAxMDcuMjgyIDE0My43NjQgMTA0LjkxOSAxNDQuOSAxMDMuNTZDMTQ2LjAzNyAxMDIuMjAxIDE0Ny45MjggMTAxLjUyMSAxNTAuNTcyIDEwMS41MjFaIiBmaWxsPSIjMUMxRTIzIi8+Cjwvc3ZnPgo=
name: elasticsearch-2.0.0
spec:
appId: elasticsearch
gitRepositoryRef:
kind: GitRepository
name: management
namespace: kommander-flux
version: 2.0.0
If the app is deploying a helm chart from a repository for which a HelmRepository resource does not already exist. The resource needs to be created for the same.
Sample Manifest:
apiVersion: source.toolkit.fluxcd.io/v1beta1
kind: HelmRepository
metadata:
labels:
kustomize.toolkit.fluxcd.io/name: management-cluster
kustomize.toolkit.fluxcd.io/namespace: kommander
name: codecentric
namespace: kommander-flux
spec:
interval: 10m
timeout: 1m
url: https://codecentric.github.io/helm-charts
- Corrresponding Artifacts in the flux repo
This does the actual work of deploying the artifact to the cluster(s). It contains
Kustomization
files and directories that carry definition of aHelmRelese
resource and any custom values being passed in the form of a configmap resource. Here is what the structure looks like:
services
├── elasticsearch
│ ├── 2.0.0
│ │ ├── defaults
│ │ │ ├── cm.yaml
│ │ │ └── kustomization.yaml
│ │ ├── elasticsearch.yaml
│ │ └── kustomization.yaml
│ └── metadata.yaml
└── keycloak
├── 15.1.0
│ ├── defaults
│ │ ├── cm.yaml
│ │ └── kustomization.yaml
│ ├── keycloak.yaml
│ └── kustomization.yaml
└── metadata.yaml