Skip to content

XContainerApp

Experimental

This API is experimental and may change without notice.

An Azure Container App and its managed Container App Environment.

API

Property Value
Group azure.platform.example.org
Kind XContainerApp
Plural xcontainerapps
Scope Namespaced
Versions v1alpha1 (referenceable)
Source compositions/apis/azure/containerapp/schema.yaml

Spec

Field Type Required Default Description
envVars (nullable) map[string]string no null Plain (non-secret) environment variables passed to the container.
image string yes — Container image reference to run, e.g. docker.io/library/nginx:latest.
location string no swedencentral Azure region for the Container App.
maxReplicas integer no 3 Maximum number of container replicas.
minReplicas integer no 1 Minimum number of container replicas.
name immutable string yes — Name of the Container App.
port integer no 8080 Port the container listens on.
resourceGroupRef object yes — Resource group hosting the Container App.
    resourceGroupRef.name string yes — Logical name of the XResourceGroup.
size string no small T-shirt size: small = 0.25 vCPU/0.5Gi, medium = 0.5 vCPU/1Gi, large = 1 vCPU/2Gi. One of: small, medium, large.

Fields marked immutable are fixed once the resource is created; changing one is rejected by the API server. An immutable object pins the fields nested under it too. To change one, delete the resource and create it again.

Example

Create the referenced XResourceGroup before creating the app. The team example is disabled by default in its kustomization.yaml.

---
apiVersion: azure.platform.example.org/v1alpha1
kind: XContainerApp
metadata:
  name: containerappdemo01
spec:
  name: containerappdemo01
  size: small
  resourceGroupRef:
    name: crd-dev-apps
  image: docker.io/library/nginx:latest
  port: 80

Taken from teams/crd-dev/apps.yaml, which is applied to the cluster by Flux, so it cannot drift from a working manifest.

Status

Populated by Crossplane once the underlying Azure resources exist. Every composite in this repository exposes the provisioned Azure resource ID as status.id.

Field Type Required Default Description
environmentId string no — Azure resource ID of the Container App Environment.
fqdn string no — Public fully qualified domain name of the Container App.
id string no — Azure resource ID of the Container App.

Reference