Enable a Custom Application from the Workspace Catalog

Enable a Custom Application from the Workspace Catalog
After creating a GitRepository, you can either use the DKP UI or the CLI to enable your custom applications. To deploy an application to selected clusters within a workspace, refer to the cluster-scoped configuration section.
From within a workspace, you can enable applications to deploy. Verify that an application has successfully deployed via the CLI.
Enable the Application Using the UI
Follow these steps:
From the top menu bar, select your target workspace.
Select Applications from the sidebar menu to browse the available applications from your configured repositories.
Select the three dot button from the bottom-right corner of the desired application tile, and then select Enable.
If available, select a version from the drop-down menu. This drop-down menu will only be visible if there is more than one version.
(Optional) If you want to override the default configuration values, copy your customized values into the text editor under Configure Service or upload your YAML file that contains the values:
CODEsomeField: someValueConfirm the details are correct, and then select the Enable button.
For all applications, you must provide a display name and an ID which is automatically generated based on what you enter for the display name, unless or until you edit the ID directly. The ID must be compliant with Kubernetes DNS subdomain name validation rules.
Alternately, you can use the CLI to enable your custom applications.
Prerequisites
Determine the name of the workspace where you wish to perform the deployments. You can use the
dkp get workspacescommand to see the list of workspace names and their corresponding namespaces.Set the
WORKSPACE_NAMESPACEenvironment variable to the name of the workspace’s namespace where the cluster is attached:BASHexport WORKSPACE_NAMESPACE=<workspace_namespace>
Enable the Application using the CLI
Follow these steps:
Get the list of available applications to enable using the following command:
CODEkubectl get apps -n ${WORKSPACE_NAMESPACE}Deploy one of the supported applications from the list with an
AppDeploymentresource.Within the
AppDeployment, define theappRefto specify whichAppwill be enabled:CODEcat <<EOF | kubectl apply -f - apiVersion: apps.kommander.d2iq.io/v1alpha3 kind: AppDeployment metadata: name: my-custom-app namespace: ${WORKSPACE_NAMESPACE} spec: appRef: name: custom-app-0.0.1 kind: App EOF
The
appRef.namemust match the appnamefrom the list of available catalog applications.Create the resource in the workspace you just created, which instructs Kommander to deploy the
AppDeploymentto theKommanderClusters in the same workspace.
Enable an Application with a Custom Configuration using the CLI
Follow these steps:
Provide the name of a
ConfigMapin theAppDeployment, which provides custom configuration on top of the default configuration:CODEcat <<EOF | kubectl apply -f - apiVersion: apps.kommander.d2iq.io/v1alpha3 kind: AppDeployment metadata: name: my-custom-app namespace: ${WORKSPACE_NAMESPACE} spec: appRef: name: custom-app-0.0.1 kind: App configOverrides: name: my-custom-app-overrides EOFCreate the
ConfigMapwith the name provided in the step above, with the custom configuration:CODEcat <<EOF | kubectl apply -f - apiVersion: v1 kind: ConfigMap metadata: namespace: ${WORKSPACE_NAMESPACE} name: my-custom-app-overrides data: values.yaml: | someField: someValue EOF
Kommander waits for the ConfigMap to be present before deploying the AppDeployment to the managed or attached clusters in the Workspace.
Verify Applications
After completing the previous steps, your applications are enabled. Connect to the attached cluster and check the HelmReleases to verify the deployments:
kubectl get helmreleases -n ${WORKSPACE_NAMESPACE}
The output looks similar to this:
NAMESPACE NAME READY STATUS AGE
workspace-test-vjsfq my-custom-app True Release reconciliation succeeded 7m3s