helm/korifi/controllers/crds/korifi.cloudfoundry.org_cfapps.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
name: cfapps.korifi.cloudfoundry.org
spec:
group: korifi.cloudfoundry.org
names:
kind: CFApp
listKind: CFAppList
plural: cfapps
singular: cfapp
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .spec.displayName
name: Display Name
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
description: CFApp is the Schema for the cfapps API
properties:
apiVersion:
description: |-
APIVersion defines the versioned schema of this representation of an object.
Servers should convert recognized schemas to the latest internal value, and
may reject unrecognized values.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources
type: string
kind:
description: |-
Kind is a string value representing the REST resource this object represents.
Servers may infer this from the endpoint the client submits requests to.
Cannot be updated.
In CamelCase.
More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
type: string
metadata:
type: object
spec:
description: CFAppSpec defines the desired state of CFApp
properties:
currentDropletRef:
description: A reference to the CFBuild currently assigned to the
app. The CFBuild must be in the same namespace.
properties:
name:
default: ""
description: |-
Name of the referent.
This field is effectively required, but due to backwards compatibility is
allowed to be empty. Instances of this type with an empty value here are
almost certainly wrong.
TODO: Add other useful fields. apiVersion, kind, uid?
More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
TODO: Drop `kubebuilder:default` when controller-gen doesn't need it https://github.com/kubernetes-sigs/kubebuilder/issues/3896.
type: string
type: object
x-kubernetes-map-type: atomic
desiredState:
description: |-
The user-requested state of the CFApp. The currently-applied state of the CFApp is in status.ObservedDesiredState.
Allowed values are "STARTED", and "STOPPED".
enum:
- STOPPED
- STARTED
type: string
displayName:
description: |-
The mutable, user-friendly name of the app. Unlike metadata.name, the user can change this field.
This is more restrictive than CC's app model- to make default route validation errors less likely
pattern: ^[-\w]+$
type: string
envSecretName:
description: The name of a Secret in the same namespace, which contains
the environment variables to be set on every one of its running
containers (via AppWorkload)
type: string
lifecycle:
description: Specifies how to build images for the app
properties:
data:
description: Data used to specify details for the Lifecycle
properties:
buildpacks:
description: |-
Buildpacks to include in auto-detection when building the app image.
If no values are specified, then all available buildpacks will be used for auto-detection
items:
type: string
type: array
stack:
description: Stack to use when building the app image
type: string
required:
- stack
type: object
type:
description: |-
The CF Lifecycle type.
Only "buildpack" and "docker" are currently allowed
enum:
- buildpack
- docker
type: string
required:
- data
- type
type: object
required:
- desiredState
- displayName
- lifecycle
type: object
status:
description: CFAppStatus defines the observed state of CFApp
properties:
actualState:
description: AppState defines the desired state of CFApp.
type: string
conditions:
items:
description: "Condition contains details for one aspect of the current
state of this API Resource.\n---\nThis struct is intended for
direct use as an array at the field path .status.conditions. For
example,\n\n\n\ttype FooStatus struct{\n\t // Represents the
observations of a foo's current state.\n\t // Known .status.conditions.type
are: \"Available\", \"Progressing\", and \"Degraded\"\n\t //
+patchMergeKey=type\n\t // +patchStrategy=merge\n\t // +listType=map\n\t
\ // +listMapKey=type\n\t Conditions []metav1.Condition `json:\"conditions,omitempty\"
patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`\n\n\n\t
\ // other fields\n\t}"
properties:
lastTransitionTime:
description: |-
lastTransitionTime is the last time the condition transitioned from one status to another.
This should be when the underlying condition changed. If that is not known, then using the time when the API field changed is acceptable.
format: date-time
type: string
message:
description: |-
message is a human readable message indicating details about the transition.
This may be an empty string.
maxLength: 32768
type: string
observedGeneration:
description: |-
observedGeneration represents the .metadata.generation that the condition was set based upon.
For instance, if .metadata.generation is currently 12, but the .status.conditions[x].observedGeneration is 9, the condition is out of date
with respect to the current state of the instance.
format: int64
minimum: 0
type: integer
reason:
description: |-
reason contains a programmatic identifier indicating the reason for the condition's last transition.
Producers of specific condition types may define expected values and meanings for this field,
and whether the values are considered a guaranteed API.
The value should be a CamelCase string.
This field may not be empty.
maxLength: 1024
minLength: 1
pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
type: string
status:
description: status of the condition, one of True, False, Unknown.
enum:
- "True"
- "False"
- Unknown
type: string
type:
description: |-
type of condition in CamelCase or in foo.example.com/CamelCase.
---
Many .condition.type values are consistent across resources like Available, but because arbitrary conditions can be
useful (see .node.status.conditions), the ability to deconflict is important.
The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
maxLength: 316
pattern: ^([a-z0-9]([-a-z0-9]*[a-z0-9])?(\.[a-z0-9]([-a-z0-9]*[a-z0-9])?)*/)?(([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9])$
type: string
required:
- lastTransitionTime
- message
- reason
- status
- type
type: object
type: array
observedDesiredState:
description: 'Deprecated: No longer used'
type: string
observedGeneration:
description: ObservedGeneration captures the latest generation of
the CFApp that has been reconciled
format: int64
type: integer
vcapApplicationSecretName:
description: VCAPApplicationSecretName contains the name of the CFApp's
VCAP_APPLICATION Secret, which should exist in the same namespace
type: string
vcapServicesSecretName:
description: VCAPServicesSecretName contains the name of the CFApp's
VCAP_SERVICES Secret, which should exist in the same namespace
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}