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: {}