helm/korifi/controllers/crds/korifi.cloudfoundry.org_cfbuilds.yaml
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.15.0
name: cfbuilds.korifi.cloudfoundry.org
spec:
group: korifi.cloudfoundry.org
names:
kind: CFBuild
listKind: CFBuildList
plural: cfbuilds
singular: cfbuild
scope: Namespaced
versions:
- additionalPrinterColumns:
- jsonPath: .spec.appRef.name
name: AppGUID
type: string
- jsonPath: .status.conditions[?(@.type=='Succeeded')].status
name: Staged
type: string
- jsonPath: .metadata.creationTimestamp
name: Age
type: date
name: v1alpha1
schema:
openAPIV3Schema:
description: CFBuild is the Schema for the cfbuilds 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: CFBuildSpec defines the desired state of CFBuild
properties:
appRef:
description: The CFApp associated with this build. 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
lifecycle:
description: Specifies the buildpacks and stack for the build
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
packageRef:
description: The CFPackage associated with this build. 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
stagingDiskMB:
description: 'Unimplemented: StagingDiskMB is the ephemeral-disk size
request for the pod that will stage the image'
type: integer
stagingMemoryMB:
description: The memory limit for the pod that will stage the image
type: integer
required:
- appRef
- lifecycle
- packageRef
- stagingDiskMB
- stagingMemoryMB
type: object
status:
description: CFBuildStatus defines the observed state of CFBuild
properties:
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
droplet:
description: BuildDropletStatus defines the observed state of the
CFBuild's Droplet or runnable image
properties:
ports:
description: The exposed ports for the application
items:
format: int32
type: integer
type: array
processTypes:
description: The process types and associated start commands for
the Droplet
items:
description: ProcessType is a map of process names and associated
start commands for the Droplet
properties:
command:
type: string
type:
type: string
required:
- command
- type
type: object
type: array
registry:
description: The Container registry image, and secrets to access
properties:
image:
description: The location of the source image
type: string
imagePullSecrets:
description: A list of secrets required to pull the image
from its repository
items:
description: |-
LocalObjectReference contains enough information to let you locate the
referenced object inside 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
type: array
required:
- image
type: object
stack:
description: The stack used to build the Droplet
type: string
required:
- registry
type: object
observedGeneration:
description: ObservedGeneration captures the latest generation of
the CFBuild that has been reconciled
format: int64
type: integer
type: object
type: object
served: true
storage: true
subresources:
status: {}