Enable a Custom Application from the Project Catalog
Enable a Custom Application from the Project Catalog
After creating a GitRepository, you can either use the DKP UI or the CLI to enable your custom applications.
From within a project, you can enable applications to deploy. Verify that an application has successfully deployed via the CLI.
Enable the Application using the UI
From the top menu bar, select your target workspace.
Select Projects from the sidebar menu.
Select your project from the list.
Select the Applications tab 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 values content into the text editor under Configure Service or just upload your YAML file that contains the values:
CODEsomeField: someValue
Confirm 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 in the section below.
Enable the Application using the CLI
Follow these steps:
Set the
PROJECT_NAMESPACE
environment variable to the name of the project’s namespace:CODEexport PROJECT_NAMESPACE=<project_namespace>
Get the list of available applications to enable using the following command:
CODEkubectl get apps -n ${PROJECT_NAMESPACE}
Enable one of the supported applications from the list with an
AppDeployment
resource.Within the
AppDeployment
resource. Provide theappRef
and application version to specify whichApp
is deployed:CODEcat <<EOF | kubectl apply -f - apiVersion: apps.kommander.d2iq.io/v1alpha3 kind: AppDeployment metadata: name: my-custom-app namespace: ${PROJECT_NAMESPACE} spec: appRef: name: custom-app-0.0.1 kind: App EOF
The appRef.name
must match the app name
from the list of available applications.
Enable an Application with a Custom Configuration using the CLI
Follow these steps:
Provide the name of a
ConfigMap
in 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: ${PROJECT_NAMESPACE} spec: appRef: name: custom-app-0.0.1 kind: App configOverrides: name: my-custom-app-overrides EOF
Create the
ConfigMap
with the name provided in the step above, with the custom configuration:CODEcat <<EOF | kubectl apply -f - apiVersion: v1 kind: ConfigMap metadata: namespace: ${PROJECT_NAMESPACE} name: my-custom-app-overrides data: values.yaml: | someField: someValue EOF
Kommander waits for the ConfigMap
to be present before enabling the AppDeployment
to the attached clusters in the Project.
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 ${PROJECT_NAMESPACE}
The output looks similar to this:
NAMESPACE NAME READY STATUS AGE
project-test-vjsfq my-custom-app True Release reconciliation succeeded 7m3s
Upgrade Custom Applications
You must maintain your custom applications manually. When upgrading DKP, ensure you validate for compatibility issues any custom applications you run against the current version of Kubernetes. We recommend upgrading to the latest compatible application versions as soon as possible.