api/v1/config/crd/eno.azure.io_compositions.yaml (452 lines of code) (raw):

--- apiVersion: apiextensions.k8s.io/v1 kind: CustomResourceDefinition metadata: annotations: controller-gen.kubebuilder.io/version: v0.17.3 name: compositions.eno.azure.io spec: group: eno.azure.io names: kind: Composition listKind: CompositionList plural: compositions singular: composition scope: Namespaced versions: - additionalPrinterColumns: - jsonPath: .spec.synthesizer.name name: Synthesizer type: string - jsonPath: .status.currentSynthesis.synthesized name: Age type: date - jsonPath: .status.simplified.status name: Status type: string - jsonPath: .status.simplified.error name: Error type: string name: v1 schema: openAPIV3Schema: description: |- Compositions represent a collection of related, synthesized resources. For example: when managing Postgres with Eno, one would create a composition per distinct instance of Postgres, all referencing a single synthesizer resource. Changing the spec of a composition will result in re-synthesis. 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: properties: bindings: description: |- Synthesizers can accept Kubernetes resources as inputs. Bindings allow compositions to specify which resource to use for a particular input "reference". Declaring extra bindings not (yet) supported by the synthesizer is valid. items: description: |- Bindings map a specific Kubernetes resource to a ref exposed by a synthesizer. Compositions use bindings to populate inputs supported by their synthesizer. properties: key: description: Key determines which ref this binding binds to. Opaque. type: string resource: description: A reference to a specific resource name and optionally namespace. properties: name: type: string namespace: type: string required: - name type: object required: - key - resource type: object type: array synthesisEnv: description: |- SynthesisEnv A set of environment variables that will be made available inside the synthesis Pod. items: properties: name: maxLength: 100 type: string value: type: string required: - name type: object maxItems: 500 type: array synthesizer: description: Compositions are synthesized by a Synthesizer, referenced by name. properties: name: type: string type: object type: object status: properties: currentSynthesis: description: |- A synthesis is the result of synthesizing a composition. In other words: it's a collection of resources returned from a synthesizer. properties: attempts: description: Counter used internally to calculate back off when retrying failed syntheses. type: integer canceled: description: |- Canceled signals that any running synthesis pods should be deleted, and new synthesis pods should never be created for this synthesis UUID. format: date-time type: string deferred: description: |- Deferred is true when this synthesis was caused by a change to either the synthesizer or an input with a ref that sets `Defer == true`. type: boolean initialized: description: Initialized is set when the synthesis process is initiated. format: date-time type: string inputRevisions: description: InputRevisions contains the versions of the input resources that were used for this synthesis. items: properties: key: type: string resourceVersion: type: string revision: type: integer synthesizerGeneration: format: int64 type: integer type: object type: array observedCompositionGeneration: description: |- The value of the composition's metadata.generation at the time the synthesis began. This is a min i.e. a newer composition may have been used. format: int64 type: integer observedSynthesizerGeneration: description: |- The value of the synthesizer's metadata.generation at the time the synthesis began. This is a min i.e. a newer composition may have been used. format: int64 type: integer podCreation: description: Time at which the most recent synthesizer pod was created. format: date-time type: string ready: description: Time at which the synthesis's reconciled resources became ready. format: date-time type: string reconciled: description: Time at which the synthesis's resources were reconciled into real Kubernetes resources. format: date-time type: string resourceSlices: description: |- References to every resource slice that contains the resources comprising this synthesis. Immutable. items: properties: name: type: string type: object type: array results: description: Results are passed through opaquely from the synthesizer's KRM function. items: properties: message: type: string severity: type: string tags: additionalProperties: type: string type: object type: object type: array synthesized: description: Time at which the synthesis completed i.e. resourceSlices was written format: date-time type: string uuid: description: |- A random UUID scoped to this particular synthesis operation. Used internally for strict ordering semantics. type: string type: object inFlightSynthesis: description: |- A synthesis is the result of synthesizing a composition. In other words: it's a collection of resources returned from a synthesizer. properties: attempts: description: Counter used internally to calculate back off when retrying failed syntheses. type: integer canceled: description: |- Canceled signals that any running synthesis pods should be deleted, and new synthesis pods should never be created for this synthesis UUID. format: date-time type: string deferred: description: |- Deferred is true when this synthesis was caused by a change to either the synthesizer or an input with a ref that sets `Defer == true`. type: boolean initialized: description: Initialized is set when the synthesis process is initiated. format: date-time type: string inputRevisions: description: InputRevisions contains the versions of the input resources that were used for this synthesis. items: properties: key: type: string resourceVersion: type: string revision: type: integer synthesizerGeneration: format: int64 type: integer type: object type: array observedCompositionGeneration: description: |- The value of the composition's metadata.generation at the time the synthesis began. This is a min i.e. a newer composition may have been used. format: int64 type: integer observedSynthesizerGeneration: description: |- The value of the synthesizer's metadata.generation at the time the synthesis began. This is a min i.e. a newer composition may have been used. format: int64 type: integer podCreation: description: Time at which the most recent synthesizer pod was created. format: date-time type: string ready: description: Time at which the synthesis's reconciled resources became ready. format: date-time type: string reconciled: description: Time at which the synthesis's resources were reconciled into real Kubernetes resources. format: date-time type: string resourceSlices: description: |- References to every resource slice that contains the resources comprising this synthesis. Immutable. items: properties: name: type: string type: object type: array results: description: Results are passed through opaquely from the synthesizer's KRM function. items: properties: message: type: string severity: type: string tags: additionalProperties: type: string type: object type: object type: array synthesized: description: Time at which the synthesis completed i.e. resourceSlices was written format: date-time type: string uuid: description: |- A random UUID scoped to this particular synthesis operation. Used internally for strict ordering semantics. type: string type: object inputRevisions: items: properties: key: type: string resourceVersion: type: string revision: type: integer synthesizerGeneration: format: int64 type: integer type: object type: array previousSynthesis: description: |- A synthesis is the result of synthesizing a composition. In other words: it's a collection of resources returned from a synthesizer. properties: attempts: description: Counter used internally to calculate back off when retrying failed syntheses. type: integer canceled: description: |- Canceled signals that any running synthesis pods should be deleted, and new synthesis pods should never be created for this synthesis UUID. format: date-time type: string deferred: description: |- Deferred is true when this synthesis was caused by a change to either the synthesizer or an input with a ref that sets `Defer == true`. type: boolean initialized: description: Initialized is set when the synthesis process is initiated. format: date-time type: string inputRevisions: description: InputRevisions contains the versions of the input resources that were used for this synthesis. items: properties: key: type: string resourceVersion: type: string revision: type: integer synthesizerGeneration: format: int64 type: integer type: object type: array observedCompositionGeneration: description: |- The value of the composition's metadata.generation at the time the synthesis began. This is a min i.e. a newer composition may have been used. format: int64 type: integer observedSynthesizerGeneration: description: |- The value of the synthesizer's metadata.generation at the time the synthesis began. This is a min i.e. a newer composition may have been used. format: int64 type: integer podCreation: description: Time at which the most recent synthesizer pod was created. format: date-time type: string ready: description: Time at which the synthesis's reconciled resources became ready. format: date-time type: string reconciled: description: Time at which the synthesis's resources were reconciled into real Kubernetes resources. format: date-time type: string resourceSlices: description: |- References to every resource slice that contains the resources comprising this synthesis. Immutable. items: properties: name: type: string type: object type: array results: description: Results are passed through opaquely from the synthesizer's KRM function. items: properties: message: type: string severity: type: string tags: additionalProperties: type: string type: object type: object type: array synthesized: description: Time at which the synthesis completed i.e. resourceSlices was written format: date-time type: string uuid: description: |- A random UUID scoped to this particular synthesis operation. Used internally for strict ordering semantics. type: string type: object simplified: properties: error: type: string status: type: string type: object type: object type: object served: true storage: true subresources: status: {}