Packages:
sme.sap.com/v1alpha1
Resource Types:CAPApplication
CAPApplication is the schema for capapplications API
| Field | Description | ||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersionstring | sme.sap.com/v1alpha1 | ||||||||||||
kindstring | CAPApplication | ||||||||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||
specCAPApplicationSpec | CAPApplication spec
| ||||||||||||
statusCAPApplicationStatus | CAPApplication status |
CAPApplicationVersion
CAPApplicationVersion defines the schema for capapplicationversions API
| Field | Description | ||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersionstring | sme.sap.com/v1alpha1 | ||||||||||||||
kindstring | CAPApplicationVersion | ||||||||||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||||||
specCAPApplicationVersionSpec | CAPApplicationVersion spec
| ||||||||||||||
statusCAPApplicationVersionStatus | CAPApplicationVersion status |
CAPTenant
CAPTenant defines the schema for captenants API
| Field | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|
apiVersionstring | sme.sap.com/v1alpha1 | ||||||||
kindstring | CAPTenant | ||||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||
specCAPTenantSpec | CAPTenant spec
| ||||||||
statusCAPTenantStatus | CAPTenant status |
CAPTenantOperation
CAPTenantOperation defines the schema for captenantoperations API
| Field | Description | ||||||||
|---|---|---|---|---|---|---|---|---|---|
apiVersionstring | sme.sap.com/v1alpha1 | ||||||||
kindstring | CAPTenantOperation | ||||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||
specCAPTenantOperationSpec | CAPTenantOperation spec
| ||||||||
statusCAPTenantOperationStatus | CAPTenantOperation status |
CAPTenantOutput
CAPTenantOutput is the schema for captenantoutputs API
| Field | Description | ||
|---|---|---|---|
apiVersionstring | sme.sap.com/v1alpha1 | ||
kindstring | CAPTenantOutput | ||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||
specCAPTenantOutputSpec | CAPTenantOutputData spec
|
ClusterDomain
ClusterDomain is the schema for clusterdomains API
| Field | Description | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersionstring | sme.sap.com/v1alpha1 | ||||||||||
kindstring | ClusterDomain | ||||||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||
specDomainSpec | ClusterDomains spec
| ||||||||||
statusDomainStatus | ClusterDomain status |
Domain
Domain is the schema for domains API
| Field | Description | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
apiVersionstring | sme.sap.com/v1alpha1 | ||||||||||
kindstring | Domain | ||||||||||
metadataKubernetes meta/v1.ObjectMeta | Refer to the Kubernetes API documentation for the fields of the
metadata field. | ||||||||||
specDomainSpec | Domains spec
| ||||||||||
statusDomainStatus | Domain status |
ApplicationDomains
(Appears on: CAPApplicationSpec)
Application domains
Deprecated: ApplicationDomains exists for historical compatibility and should not be used. This will be removed in future versions. Use DomainRef instead.
| Field | Description |
|---|---|
primarystring | Primary application domain will be used to generate a wildcard TLS certificate. In project “Gardener” managed clusters this is (usually) a subdomain of the cluster domain |
secondary[]string | Customer specific domains to serve application endpoints (optional) |
dnsTargetstring | Public ingress URL for the cluster Load Balancer |
istioIngressGatewayLabels[]NameValue | Labels used to identify the istio ingress-gateway component and its corresponding namespace. Usually {“app”:“istio-ingressgateway”,“istio”:“ingressgateway”} |
BTP
(Appears on: CAPApplicationSpec)
| Field | Description |
|---|---|
services[]ServiceInfo | Details of BTP Services |
BTPTenantIdentification
(Appears on: CAPApplicationSpec, CAPTenantOperationSpec, CAPTenantSpec)
Identifies an SAP BTP subaccount (tenant)
| Field | Description |
|---|---|
subDomainstring | BTP subaccount subdomain |
tenantIdstring | BTP subaccount Tenant ID |
CAPApplicationSpec
(Appears on: CAPApplication)
CAPApplicationSpec defines the desired state of CAPApplication
| Field | Description |
|---|---|
domainRefs[]DomainRef | Domains used by the application (new) |
domainsApplicationDomains | [DEPRECATED] Domains used by the application // Will be removed in future versions |
globalAccountIdstring | SAP BTP Global Account Identifier where services are entitles for the current application |
btpAppNamestring | Short name for the application (similar to BTP XSAPPNAME) |
providerBTPTenantIdentification | Provider subaccount where application services are created |
btpBTP | SAP BTP Services consumed by the application |
CAPApplicationState
(string alias)
(Appears on: CAPApplicationStatus)
| Value | Description |
|---|---|
"Consistent" | CAPApplication has been reconciled and is now consistent |
"Deleting" | Deletion has been triggered |
"Error" | An error occurred during reconciliation |
"Processing" | CAPApplication is being reconciled |
CAPApplicationStatus
(Appears on: CAPApplication)
| Field | Description |
|---|---|
GenericStatusGenericStatus | (Members of |
stateCAPApplicationState | State of CAPApplication |
servicesOnlybool | Represents whether this is a services only scenario |
domainSpecHashstring | Hash representing last known application domains |
lastFullReconciliationTimeKubernetes meta/v1.Time | The last time a full reconciliation was completed |
observedSubdomains[]string | Last known application subdomains |
CAPApplicationStatusConditionType
(string alias)
| Value | Description |
|---|---|
"AllTenantsReady" | |
"LatestVersionReady" |
CAPApplicationVersionSpec
(Appears on: CAPApplicationVersion)
CAPApplicationVersionSpec specifies the desired state of CAPApplicationVersion
| Field | Description |
|---|---|
capApplicationInstancestring | Denotes to which CAPApplication the current version belongs |
versionstring | Semantic version |
registrySecrets[]string | Registry secrets used to pull images of the application components |
workloads[]WorkloadDetails | Information about the Workloads |
tenantOperationsTenantOperations | Tenant Operations may be used to specify how jobs are sequenced for the different tenant operations |
contentJobs[]string | Content Jobs may be used to specify the sequence of content jobs when several jobs exist |
serviceExposures[]ServiceExposure | Configuration for the service(s) to be exposed (relevant only for ‘Service’ type deployment workloads) |
CAPApplicationVersionState
(string alias)
(Appears on: CAPApplicationVersionStatus)
| Value | Description |
|---|---|
"Deleting" | Deletion has been triggered |
"Error" | An error occurred during reconciliation |
"Processing" | CAPApplicationVersion is being processed |
"Ready" | CAPApplicationVersion is now ready for use (dependent resources have been created) |
CAPApplicationVersionStatus
(Appears on: CAPApplicationVersion)
| Field | Description |
|---|---|
GenericStatusGenericStatus | (Members of |
stateCAPApplicationVersionState | State of CAPApplicationVersion |
finishedJobs[]string | List of finished Content Jobs |
CAPTenantOperationSpec
(Appears on: CAPTenantOperation)
| Field | Description |
|---|---|
operationCAPTenantOperationType | Scope of the tenant lifecycle operation. One of ‘provisioning’, ‘deprovisioning’ or ‘upgrade’ |
BTPTenantIdentificationBTPTenantIdentification | (Members of BTP sub-account (tenant) for which request is created |
capApplicationVersionInstancestring | Reference to CAPApplicationVersion for executing the operation |
steps[]CAPTenantOperationStep | Steps (jobs) to be executed for the operation to complete |
CAPTenantOperationState
(string alias)
(Appears on: CAPTenantOperationStatus)
| Value | Description |
|---|---|
"Completed" | CAPTenantOperation steps completed |
"Deleting" | CAPTenantOperation deletion has been triggered |
"Failed" | CAPTenantOperation steps have failed |
"Processing" | CAPTenantOperation is being processed |
CAPTenantOperationStatus
(Appears on: CAPTenantOperation)
| Field | Description |
|---|---|
GenericStatusGenericStatus | (Members of |
stateCAPTenantOperationState | State of CAPTenantOperation |
currentStepuint32 | Current step being processed from the sequence of specified steps |
activeJobstring | Name of the job being executed for the current step |
CAPTenantOperationStep
(Appears on: CAPTenantOperationSpec)
| Field | Description |
|---|---|
namestring | Name of the workload from the referenced CAPApplicationVersion |
typeJobType | Type of job. One of ‘TenantOperation’ or ‘CustomTenantOperation’ |
continueOnFailurebool | Indicates whether the operation can continue in case of step failure. Relevant only for type ‘CustomTenantOperation’ |
CAPTenantOperationType
(string alias)
(Appears on: CAPTenantOperationSpec)
| Value | Description |
|---|---|
"deprovisioning" | Deprovision tenant |
"provisioning" | Provision tenant |
"upgrade" | Upgrade tenant |
CAPTenantOutputSpec
(Appears on: CAPTenantOutput)
| Field | Description |
|---|---|
subscriptionCallbackDatastring |
CAPTenantSpec
(Appears on: CAPTenant)
CAPTenantSpec defines the desired state of the CAPTenant
| Field | Description |
|---|---|
capApplicationInstancestring | Denotes to which CAPApplication the current tenant belongs |
BTPTenantIdentificationBTPTenantIdentification | (Members of Details of consumer sub-account subscribing to the application |
versionstring | Semver that is used to determine the relevant CAPApplicationVersion that a CAPTenant can be upgraded to (i.e. if it is not already on that version) |
versionUpgradeStrategyVersionUpgradeStrategyType | Denotes whether a CAPTenant can be upgraded. One of (‘always’, ‘never’) |
CAPTenantState
(string alias)
(Appears on: CAPTenantStatus)
| Value | Description |
|---|---|
"Deleting" | Deletion has been triggered |
"Provisioning" | Tenant is being provisioned |
"ProvisioningError" | Tenant provisioning ended in error |
"Ready" | Tenant has been provisioned/upgraded and is now ready for use |
"UpgradeError" | Tenant upgrade failed |
"Upgrading" | Tenant is being upgraded |
CAPTenantStatus
(Appears on: CAPTenant)
| Field | Description |
|---|---|
GenericStatusGenericStatus | (Members of |
stateCAPTenantState | State of CAPTenant |
currentCAPApplicationVersionInstancestring | Specifies the current version of the tenant after provisioning or upgrade |
previousCAPApplicationVersions[]string | Previous versions of the tenant (first to last) |
lastFullReconciliationTimeKubernetes meta/v1.Time | The last time a full reconciliation was completed |
CommonDetails
(Appears on: DeploymentDetails, JobDetails)
CommonDetails specifies the common details of the Container/Pod that may be relevant for both Deployments and Jobs
| Field | Description |
|---|---|
imagestring | Image info for the container |
imagePullPolicyKubernetes core/v1.PullPolicy | Pull policy for the container image |
command[]string | Entrypoint array for the container |
args[]string | Arguments to the entrypoint |
env[]Kubernetes core/v1.EnvVar | Environment Config for the Container |
volumes[]Kubernetes core/v1.Volume | Volume Configuration for the Pod |
volumeMounts[]Kubernetes core/v1.VolumeMount | Volume Mount Configuration for the Container |
serviceAccountNamestring | Name of the ServiceAccount to use to run the Pod |
resourcesKubernetes core/v1.ResourceRequirements | Resources |
securityContextKubernetes core/v1.SecurityContext | SecurityContext for the Container |
podSecurityContextKubernetes core/v1.PodSecurityContext | SecurityContext for the Pod |
nodeNamestring | The name of the node to which the Pod should be assigned to. See: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodename |
nodeSelectormap[string]string | The label selectors using which node for the Pod would be determined. See: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector |
priorityClassNamestring | Priority class name mapping used to prioritize and schedule the Pod. See: https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/#priorityclass |
affinityKubernetes core/v1.Affinity | Affinity/anti-affinity used to provide more constraints for node selection. See: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#affinity-and-anti-affinity |
tolerations[]Kubernetes core/v1.Toleration | Tolerations used to schedule the Pod. See: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ |
topologySpreadConstraints[]Kubernetes core/v1.TopologySpreadConstraint | The Topology spread constraints used to control how Pods are spread across regions, zones, nodes etc. See: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#pod-topology-spread-constraints |
initContainers[]Kubernetes core/v1.Container | List of containers executed before the main container is started |
restartPolicyKubernetes core/v1.RestartPolicy | Restart policy for the Pod. See: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#restart-policy |
DNSMode
(string alias)
(Appears on: DomainSpec)
| Value | Description |
|---|---|
"None" | No DNS entries will be created (Default) |
"Subdomain" | A DNS entry will be created for each subdomain specified by the applications using this domain |
"Wildcard" | Wildcard DNS entry will be created |
DeletionRules
(Appears on: WorkloadMonitoring)
| Field | Description |
|---|---|
metrics[]MetricRule | |
expressionstring | A promQL expression that evaluates to a scalar boolean (1 or 0). Example: scalar(sum(avg_over_time(demo_metric{job=“cav-demo-app-4-srv-svc”,namespace=“demo”}[2m]))) <= bool 0.1 |
DeploymentDetails
(Appears on: WorkloadDetails)
DeploymentDetails specifies the details of the Deployment
| Field | Description |
|---|---|
CommonDetailsCommonDetails | (Members of |
typeDeploymentType | Type of the Deployment |
replicasint32 | Number of replicas |
ports[]Ports | Port configuration |
livenessProbeKubernetes core/v1.Probe | Liveness probe |
readinessProbeKubernetes core/v1.Probe | Readiness probe |
monitoringWorkloadMonitoring | Workload monitoring specification |
DeploymentType
(string alias)
(Appears on: DeploymentDetails)
Type of deployment
| Value | Description |
|---|---|
"Additional" | Additional deployment type |
"CAP" | CAP backend server deployment type |
"Router" | Application router deployment type |
"Service" | Service deployment type |
DomainEntity
DomainRef
(Appears on: CAPApplicationSpec)
Domain references
| Field | Description |
|---|---|
kindstring | |
namestring |
DomainSpec
(Appears on: ClusterDomain, Domain)
| Field | Description |
|---|---|
domainstring | Domain used by an application |
ingressSelectormap[string]string | Selector is the set of labels used to select the ingress pods handling the domain |
tlsModeTLSMode | TLS mode for the generated (Istio) Gateway resource. Set this to Mutual when using mTLS with an external gateway. |
dnsModeDNSMode | DNS mode controls the creation of DNS entries related to the domain |
dnsTargetstring | DNS Target for traffic to this domain |
DomainState
(string alias)
(Appears on: DomainStatus)
| Value | Description |
|---|---|
"Deleting" | |
"Error" | |
"Processing" | |
"Ready" |
DomainStatus
(Appears on: ClusterDomain, Domain)
| Field | Description |
|---|---|
GenericStatusGenericStatus | (Members of |
stateDomainState | State of the Domain |
dnsTargetstring | Effective DNS Target identified for this domain |
gatewayNamestring | Gateway name used for the domain |
observedDomainstring | domain observed during last reconciliation |
Duration
(string alias)
(Appears on: MetricRule, MonitoringConfig)
Duration is a valid time duration that can be parsed by Prometheus
Supported units: y, w, d, h, m, s, ms
Examples: 30s, 1m, 1h20m15s, 15d
GenericStatus
(Appears on: CAPApplicationStatus, CAPApplicationVersionStatus, CAPTenantOperationStatus, CAPTenantStatus, DomainStatus)
Custom resource status
| Field | Description |
|---|---|
observedGenerationint64 | Observed generation of the resource where this status was identified |
conditions[]Kubernetes meta/v1.Condition | State expressed as conditions |
JobDetails
(Appears on: WorkloadDetails)
JobDetails specifies the details of the Job
| Field | Description |
|---|---|
CommonDetailsCommonDetails | (Members of |
typeJobType | Type of Job |
backoffLimitint32 | Specifies the number of retries before marking this job failed. |
ttlSecondsAfterFinishedint32 | Specifies the time after which the job may be cleaned up. |
JobType
(string alias)
(Appears on: CAPTenantOperationStep, JobDetails)
Type of Job
| Value | Description |
|---|---|
"Content" | job for deploying content or configuration to (BTP) services |
"CustomTenantOperation" | job for custom tenant operation e.g. pre/post hooks for a tenant operation |
"TenantOperation" | job for tenant operation e.g. deploying relevant data to a tenant |
MetricRule
(Appears on: DeletionRules)
MetricRule specifies a Prometheus metric and rule which represents a cleanup condition. Metrics of type Gauge and Counter are supported.
Rule evaluation for Gauge type metric: The time series data of the metric (restricted to the current workload by setting job label as workload service name) is calculated as an average over the specified period.
A sum of the calculated average from different time series is then compared to the provided threshold value to determine whether the rule has been satisfied.
Evaluation: sum(avg_over_time(<gauge-metric>{job=<workload-service-name>}[<lookback-duration>])) <= <lower0threshold-value>
Rule evaluation for Counter type metric: The time series data of the metric (restricted to the current workload by setting job label as workload service name) is calculated as rate of increase over the specified period.
The sum of the calculated rates from different time series is then compared to the provided threshold value to determine whether the rule has been satisfied.
Evaluation: sum(rate(<counter-metric>{job=<workload-service-name>}[<lookback-duration>])) <= <lower0threshold-value>
| Field | Description |
|---|---|
namestring | Prometheus metric. For example |
typeMetricType | Type of Prometheus metric which can be either |
calculationPeriodDuration | Duration of time series data used for the rule evaluation |
thresholdValuestring | The threshold value which is compared against the calculated value. If calculated value is less than or equal to the threshold the rule condition is fulfilled. |
MetricType
(string alias)
(Appears on: MetricRule)
Type of Prometheus metric
| Value | Description |
|---|---|
"Counter" | Prometheus Metric type Counter |
"Gauge" | Prometheus Metric type Gauge |
MonitoringConfig
(Appears on: WorkloadMonitoring)
| Field | Description |
|---|---|
intervalDuration | Interval at which Prometheus scrapes the metrics from the target. |
portstring | Name of the port (specified on the workload) which will be used by Prometheus server to scrape metrics |
pathstring | HTTP path from which to scrape for metrics. |
scrapeTimeoutDuration | Timeout after which Prometheus considers the scrape to be failed. |
NameValue
(Appears on: ApplicationDomains)
Generic Name/Value configuration
| Field | Description |
|---|---|
namestring | |
valuestring |
PortNetworkPolicyType
(string alias)
(Appears on: Ports)
Type of NetworkPolicy for the port
| Value | Description |
|---|---|
"Application" | Expose the port for the current application versions pod(s) scope |
"Cluster" | Expose the port for any pod(s) in the overall cluster scope |
Ports
(Appears on: DeploymentDetails)
Configuration of Service Ports for the deployment
| Field | Description |
|---|---|
appProtocolstring | App protocol used by the service port |
namestring | Name of the service port |
networkPolicyPortNetworkPolicyType | Network Policy of the service port |
portint32 | The port number used for container and the corresponding service (if any) |
routerDestinationNamestring | Destination name which may be used by the Router deployment to reach this backend service |
Route
(Appears on: ServiceExposure)
Routing configuration (http match) for the exposed service
| Field | Description |
|---|---|
workloadNamestring | Name of the workload (eventually a service to route requests to); must be a valid workload name (Deployment) |
portint32 | Port number used for the service (must be present in the workload/service) |
pathstring | A unique routing path used (as a match/prefix) to route requests to the workload (when omitted, “/” would be used) |
ServiceExposure
(Appears on: CAPApplicationVersionSpec)
ServiceExposure specifies the details of the VirtualService to be exposed for Service type workload(s)
| Field | Description |
|---|---|
subDomainstring | Subdomain under which the service is exposed (used as the Key for identifying the VirtualService) |
routes[]Route | Routes specifies the routing configuration (http match) for the exposed service |
ServiceInfo
(Appears on: BTP)
Service information
| Field | Description |
|---|---|
namestring | A unique name of service based on usage in the app (this may be the name of the instance or binding) |
secretstring | Secret containing service access credentials |
classstring | Type of service |
StatusConditionType
(string alias)
| Value | Description |
|---|---|
"Ready" |
TLSMode
(string alias)
(Appears on: DomainSpec)
| Value | Description |
|---|---|
"Mutual" | Mutual TLS Mode |
"Simple" | Simple TLS Mode (Default) |
TenantOperationWorkloadReference
(Appears on: TenantOperations)
| Field | Description |
|---|---|
workloadNamestring | Reference to a specified workload of type ‘TenantOperation’ or ‘CustomTenantOperation’ |
continueOnFailurebool | Indicates whether to proceed with remaining operation steps in case of failure. Relevant only for ‘CustomTenantOperation’ |
TenantOperations
(Appears on: CAPApplicationVersionSpec)
Configuration used to sequence tenant related jobs for a given tenant operation
| Field | Description |
|---|---|
provisioning[]TenantOperationWorkloadReference | Tenant provisioning steps |
upgrade[]TenantOperationWorkloadReference | Tenant upgrade steps |
deprovisioning[]TenantOperationWorkloadReference | Tenant deprovisioning steps |
VersionUpgradeStrategyType
(string alias)
(Appears on: CAPTenantSpec)
| Value | Description |
|---|---|
"always" | Always (default) |
"never" | Never |
WorkloadDetails
(Appears on: CAPApplicationVersionSpec)
WorkloadDetails specifies the details of the Workload
| Field | Description |
|---|---|
namestring | Name of the workload |
consumedBTPServices[]string | List of BTP services consumed by the current application component workload. These services must be defined in the corresponding CAPApplication. |
labelsmap[string]string | Custom labels for the current workload |
annotationsmap[string]string | Annotations for the current workload, in case of |
deploymentDefinitionDeploymentDetails | Definition of a deployment |
jobDefinitionJobDetails | Definition of a job |
WorkloadMonitoring
(Appears on: DeploymentDetails)
WorkloadMonitoring specifies the metrics related to the workload
| Field | Description |
|---|---|
deletionRulesDeletionRules | DeletionRules specify the metrics conditions that need to be satisfied for the version to be deleted automatically. Either a set of metrics based rules can be specified, or a PromQL expression which evaluates to a boolean scalar. |
scrapeConfigMonitoringConfig | Configuration to be used to create ServiceMonitor for the workload service. If not specified, CAP Operator will not attempt to create a ServiceMonitor for the workload |
Generated with gen-crd-api-reference-docs
on git commit 50011c0.