Giter Club home page Giter Club logo

custom_catalog_kommander_2's Introduction

DKP 2.x Custom Catalog Apps

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 Portal With Custom Catalog Item

Quick Start

Pre-reqs

  1. 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

  2. Git & kubectl cli tools and a bash shell to run the script provided in this repo

Usage

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.

  1. Set the environment variables to point to the Kommander cluster

    export KUBECONFIG=admin.conf
    
  2. 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
    
  3. 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
    
  4. 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 
    

How it works

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.

  1. App & HelmRepository resource in the DKP Kommander cluster This makes the catalog item visible in the Kommander UI under workspace or project apps depending on the value added to the apps.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
  1. 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 a HelmRelese 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

custom_catalog_kommander_2's People

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.