Options
All
  • Public
  • Public/Protected
  • All
Menu

Interface KubernetesApplication

Information used to construct resources when creating or updating an application in a Kubernetes cluster. This structure is designed for a typical microservice-type deployment of one container optionally providing a service on a single port. If you need anything more complicated than that, you can use the various partial specs in this structure to manage more elaborate applications and the applicationData callback on the [[KubernetesDeploymentRegistration]].

Hierarchy

  • KubernetesApplication

Index

Properties

Optional deploymentSpec

deploymentSpec: DeepPartial<V1Deployment>

Partial deployment spec for this application that is overlaid on top of the default deployment spec template. It can be used to provide custom resource specifications, liveness and readiness checks, etc.

Optional host

host: string

Ingress rule hostname, if not provided none is used in the ingress rule, meaning it will apply to the wildcard host, and "localhost" is used when constructing the service endpoint URL. Prefer ingressSpec

image

image: string

Full image name and tag for deployment pod template container.

Optional imagePullSecret

imagePullSecret: string

Name of image pull secret for container image, if not provided no image pull secret is provided in the pod spec. Prefer deploymentSpec.

Optional ingressSpec

ingressSpec: DeepPartial<NetworkingV1beta1Ingress>

Partial ingress spec for this application that is overlaid on top of the default ingress spec template.

Optional mode

mode: "full" | "sync"

Mode of operation. If not provided, the "full" mode is used, making calls to the Kubernetes API and, if configured, persisting changes to the sync/GitOps repo. If set to "sync", it will only persist changes to the configured sync/GitOps repo, making no calls to the Kubernetes API.

name

name: string

Name of resources to create. It can be overriden for individual resources in the partial specs.

ns

ns: string

Namespace to create resources in.

Optional patchStrategy

patchStrategy: "application/merge-patch+json" | "application/strategic-merge-patch+json"

Strategy to use when patching resources for this application. Supported values are "application/merge-patch+json" and "application/strategic-merge-patch+json". The default is "application/strategic-merge-patch+json". See https://kubernetes.io/docs/tasks/run-application/update-api-object-kubectl-patch/ for details.

Optional path

path: string

Ingress rule URL path, if not provided no ingress rule is added. Typically ingress paths start with a forward slash ("/") but do not end with one, unless the path is just "/".

Optional port

port: number

Port the service listens on, if not provided, no service resource is created.

Optional protocol

protocol: "http" | "https"

Ingress protocol, "http" or "https". If tslSecret is provided, the default is "https", otherwise "http". Prefer ingressSpec

Optional replicas

replicas: number

Number of replicas in deployment. May be overridden by deploymentSpec. Prefer deploymentSpec

Optional roleBindingSpec

roleBindingSpec: DeepPartial<V1RoleBinding> | DeepPartial<V1ClusterRoleBinding>

Partial role binding spec for the role to service account. This partial spec is overlaid onto the default role binding spec, which contains metadata and the role and service account names. The role binding is only created if the roleSpec is also provided.

Optional roleSpec

roleSpec: DeepPartial<V1Role> | DeepPartial<V1ClusterRole>

Partial role to create for binding to service account. If provided, this partial spec is overlaid onto the default role spec, which is just metadata with no rules. If this is not defined, this deployment will not create a role and therefore not bind a role to a service account.

Optional secrets

secrets: V1Secret[]

Secrets to upsert prior to creating deployment.

Optional serviceAccountSpec

serviceAccountSpec: DeepPartial<V1ServiceAccount>

Partial service account spec to create and use in the deployment. This partial spec is overlaid onto the default service account spec. If the serviceAccountSpec is provided, the resulting service account spec is upserted during deployment. If a roleSpec is provided, the resulting service account spec is upserted during deployment and a role binding is created between the role and service account. If neither the serviceAccountSpec nor roleSpec are created, no service account is managed by the deployment. If this spec contains a name, it is used in the role binding and deployment specs.

Optional serviceSpec

serviceSpec: DeepPartial<V1Service>

Partial service spec for this application that is overlaid on top of the default service spec template.

Optional tlsSecret

tlsSecret: string

Name of TLS secret for host Prefer ingressSpec

workspaceId

workspaceId: string

Atomist workspace ID

Generated using TypeDoc