Application
The Application custom resource enables features such as branding, release notes, port forwarding, dashboard buttons, app status indicators, and custom graphs.
There is some overlap between the Application custom resource manifest file and the Kubernetes SIG Application custom resource. For example, enabling features such as adding a button to the dashboard requires the use of both the Application and SIG Application custom resources.
The following is an example manifest file for the Application custom resource:
apiVersion: kots.io/v1beta1
kind: Application
metadata:
name: my-application
spec:
title: My Application
icon: https://support.io/img/logo.png
releaseNotes: These are our release notes
allowRollback: false
targetKotsVersion: "1.60.0"
minKotsVersion: "1.40.0"
requireMinimalRBACPrivileges: false
additionalImages:
- jenkins/jenkins:lts
additionalNamespaces:
- "*"
ports:
- serviceName: web
servicePort: 9000
localPort: 9000
applicationUrl: "http://web"
statusInformers:
- deployment/my-web-svc
- deployment/my-worker
graphs:
- title: User Signups
query: 'sum(user_signup_events_total)'
title
Description | The application title. Used on the license upload and in various places in the Replicated Admin Console. |
---|---|
Example |
|
Supports Go templates? | No |
Supported for Embedded Cluster? | Yes |
icon
Description | The icon file for the application. Used on the license upload, in various places in the Admin Console, and in the Download Portal. The icon can be a remote URL or a Base64 encoded image. Base64 encoded images are required to display the image in air gap installations with no outbound internet access. |
---|---|
Example |
|
Supports Go templates? | No |
Supported for Embedded Cluster? | Yes |
releaseNotes
Description | The release notes for this version. These can also be set when promoting a release. |
---|---|
Example |
|
Supports Go templates? | No |
Supported for Embedded Cluster? | Yes |
allowRollback
Description | Enable this flag to create a Rollback button on the Admin Console Version History page. If an application is guaranteed not to introduce backwards-incompatible versions, such as through database migrations, then the Rollback does not revert any state. Rather, it recovers the YAML manifests that are applied to the cluster. |
---|---|
Example |
|
Default | false |
Supports Go templates? | No |
Supported for Embedded Cluster? | Embedded Cluster 1.17.0 and later supports partial rollbacks of the application version. Partial rollbacks are supported only when rolling back to a version where there is no change to the Embedded Cluster Config compared to the currently-installed version. For example, users can roll back to release version 1.0.0 after upgrading to 1.1.0 only if both 1.0.0 and 1.1.0 use the same Embedded Cluster Config. |
additionalNamespaces
Description | An array of additional namespaces as strings that Replicated KOTS creates on the cluster. For more information, see Defining Additional Namespaces. In addition to creating the additional namespaces, KOTS ensures that the application secret exists in the namespaces. KOTS also ensures that this application secret has access to pull the application images, including both images that are used and any images you add in the For dynamically created namespaces, specify |
---|---|
Example |
|
Supports Go templates? | No |
Supported for Embedded Cluster? | Yes |
additionalImages
Description | An array of strings that reference images to be included in air gap bundles and pushed to the local registry during installation. KOTS detects images from the PodSpecs in the application. Some applications, such as Operators, might need to include additional images that are not referenced until runtime. For more information, see Defining Additional Images. |
---|---|
Example |
|
Supports Go templates? | No |
Supported for Embedded Cluster? | Yes |
requireMinimalRBACPrivileges
Description |
Requires minimal role-based access control (RBAC) be used for all customer installations. When set to For additional requirements and limitations related to using namespace-scoped RBAC, see About Namespace-scoped RBAC in Configuring KOTS RBAC. |
---|---|
Example |
|
Default | false |
Supports Go templates? | No |
Supported for Embedded Cluster? | No |
supportMinimalRBACPrivileges
Description |
Allows minimal role-based access control (RBAC) be used for all customer installations. When set to Minimal RBAC is not used by default. It is only used when the For additional requirements and limitations related to using namespace-scoped RBAC, see About Namespace-scoped RBAC in Configuring KOTS RBAC. |
---|---|
Example |
|
Default | false |
Supports Go templates? | No |
Supported for Embedded Cluster? | No |
ports
Description | Extra ports (additional to the note KOTS does not automatically create port forwards for installations on VMs or bare metal servers with Replicated Embedded Cluster or Replicated kURL. This is because it cannot be verified that the ports are secure and authenticated. Instead, Embedded Cluster or kURL creates a NodePort service to make the Admin Console accessible on a port on the node (port You can expose additional ports on the node for Embedded Cluster or kURL installations by creating NodePort services. For more information, see Exposing Services Using NodePorts. The
note Ensure that you use the For more information about adding links to port forwarded services, see Add a Link to a Port-Forwarded Service in the Admin Console. |
---|---|
Example |
|
Supports Go templates? | Go templates are supported in the Using Go templates in the |
Supported for Embedded Cluster? | Yes |
statusInformers
Description | Resources to watch and report application status back to the user. When you include
For more information about including statusInformers, see Adding Resource Status Informers. |
---|---|
Example |
The following example shows excluding a specific status informer based on a user-supplied value from the Admin Console Configuration screen:
|
Supports Go templates? | Yes |
Supported for Embedded Cluster? | Yes |
graphs
Description | Custom graphs to include on the Admin Console application dashboard.For more information about how to create custom graphs, see Adding Custom Graphs.
|
---|---|
Example |
|
Supports Go templates? | Yes |
Supported for Embedded Cluster? | No |
proxyRegistryDomain
proxyRegistryDomain
is deprecated. For information about how to use a custom domain for the Replicated proxy registry, see Using Custom Domains.
Description | The custom domain used for proxy.replicated.com. For more information, see Using Custom Domains. Introduced in KOTS v1.91.1. |
---|---|
Example |
|
Supports Go templates? | No |
replicatedRegistryDomain
replicatedRegistryDomain
is deprecated. For information about how to use a custom domain for the Replicated registry, see Using Custom Domains.
Description | The custom domain used for registry.replicated.com. For more information, see Using Custom Domains. Introduced in KOTS v1.91.1. |
---|---|
Example |
|
Supports Go templates? | No |
Supported for Embedded Cluster? | Yes |
targetKotsVersion
Description | The KOTS version that is targeted by the release. For more information, see Setting Minimum and Target Versions for KOTS. |
---|---|
Example |
|
Supports Go templates? | No |
Supported for Embedded Cluster? | No. Setting targetKotsVersion to a version earlier than the KOTS version included in the specified version of Embedded Cluster will cause Embedded Cluster installations to fail with an error message like: Error: This version of App Name requires a different version of KOTS from what you currently have installed. . To avoid installation failures, do not use targetKotsVersion in releases that support installation with Embedded Cluster. |
minKotsVersion (Beta)
Description | The minimum KOTS version that is required by the release. For more information, see Setting Minimum and Target Versions for KOTS. |
---|---|
Example |
|
Supports Go templates? | No |
Supported for Embedded Cluster? | No. Setting minKotsVersion to a version later than the KOTS version included in the specified version of Embedded Cluster will cause Embedded Cluster installations to fail with an error message like: Error: This version of App Name requires a different version of KOTS from what you currently have installed. . To avoid installation failures, do not use minKotsVersion in releases that support installation with Embedded Cluster. |