# schema source: Flux Operator v0.59.0 https://github.com/controlplaneio-fluxcd/flux-operator
apiVersion <string> enum=fluxcd.controlplane.io/v1
kind <string> enum=ResourceSet
metadata.name <string> (required)
metadata.namespace <string> (required)
spec <object>	# ResourceSetSpec defines the desired state of ResourceSet
spec.commonMetadata <object>	# CommonMetadata specifies the common labels and annotations that are applied to all resources. Any existing label or annotation will be overridden if its key matches a common one.
spec.commonMetadata.annotations <map[string]string>	# Annotations to be added to the object's metadata.
spec.commonMetadata.labels <map[string]string>	# Labels to be added to the object's metadata.
spec.dependsOn <[]object>	# DependsOn specifies the list of Kubernetes resources that must exist on the cluster before the reconciliation process starts.
spec.dependsOn[].apiVersion <string> (required)	# APIVersion of the resource to depend on.
spec.dependsOn[].kind <string> (required)	# Kind of the resource to depend on.
spec.dependsOn[].name <string> (required)	# Name of the resource to depend on.
spec.dependsOn[].namespace <string>	# Namespace of the resource to depend on.
spec.dependsOn[].ready <boolean>	# Ready checks if the resource Ready status condition is true.
spec.dependsOn[].readyExpr <string>	# ReadyExpr checks if the resource satisfies the given CEL expression. The expression replaces the default readiness check and is only evaluated if Ready is set to 'true'.
spec.inputStrategy <object>	# InputStrategy defines how the inputs are combined when multiple input provider objects are used. Defaults to flattening all inputs from all providers into a single list of input sets.
spec.inputStrategy.includeEmptyProviders <boolean>	# IncludeEmptyProviders controls how input providers that export no inputs are treated. Only applies when Name is Permute. When true, if any provider has zero inputs the resulting permutation set is empty (mathematically correct Cartesian product behavior). When false or unset (default), providers with zero inputs are silently skipped and the remaining providers still permute among themselves.
spec.inputStrategy.name <string> (required) enum=Flatten|Permute	# Name defines how the inputs are combined when multiple input provider objects are used. Supported values are: - Flatten: all inputs sets from all input provider objects are flattened into a single list of input sets. - Permute: all inputs sets from all input provider objects are combined using a Cartesian product, resulting in a list of input sets that contains every possible combination of input values. For example, if provider A has inputs [{x: 1}, {x: 2}] and provider B has inputs [{y: "a"}, {y: "b"}], the resulting input sets will be: [{x: 1, y: "a"}, {x: 1, y: "b"}, {x: 2, y: "a"}, {x: 2, y: "b"}]. This strategy can lead to a large number of input sets and should be used with caution. Users should use filtering features from ResourceSetInputProvider to limit the amount of exported inputs.
spec.inputs <[]object>	# Inputs contains the list of ResourceSet inputs.
spec.inputsFrom <[]object>	# InputsFrom contains the list of references to input providers. When set, the inputs are fetched from the providers and concatenated with the in-line inputs defined in the ResourceSet.
spec.inputsFrom[].apiVersion <string> enum=fluxcd.controlplane.io/v1	# APIVersion of the input provider resource. When not set, the APIVersion of the ResourceSet is used.
spec.inputsFrom[].kind <string> enum=ResourceSetInputProvider	# Kind of the input provider resource.
spec.inputsFrom[].name <string>	# Name of the input provider resource. Cannot be set when the Selector field is set.
spec.inputsFrom[].selector <object>	# Selector is a label selector to filter the input provider resources as an alternative to the Name field.
spec.inputsFrom[].selector.matchExpressions <[]object>	# matchExpressions is a list of label selector requirements. The requirements are ANDed.
spec.inputsFrom[].selector.matchExpressions[].key <string> (required)	# key is the label key that the selector applies to.
spec.inputsFrom[].selector.matchExpressions[].operator <string> (required)	# operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
spec.inputsFrom[].selector.matchExpressions[].values <[]string>	# values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
spec.inputsFrom[].selector.matchLabels <map[string]string>	# matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
spec.resources <[]object>	# Resources contains the list of Kubernetes resources to reconcile.
spec.resourcesTemplate <string>	# ResourcesTemplate is a Go template that generates the list of Kubernetes resources to reconcile. The template is rendered as multi-document YAML, the resources should be separated by '---'. When both Resources and ResourcesTemplate are set, the resulting objects are merged and deduplicated, with the ones from Resources taking precedence.
spec.serviceAccountName <string>	# The name of the Kubernetes service account to impersonate when reconciling the generated resources.
spec.steps <[]object> min=1 max=20	# Steps contains an ordered list of named steps to reconcile in sequence. Each step's resources are applied and health-checked before the next step starts. Mutually exclusive with Resources and ResourcesTemplate.
spec.steps[].name <string> (required) pattern="^[a-z0-9]([-a-z0-9]*[a-z0-9])?$" max=63	# Name of the step, must be unique within the ResourceSet.
spec.steps[].resources <[]object>	# Resources contains the list of Kubernetes resources to reconcile.
spec.steps[].resourcesTemplate <string>	# ResourcesTemplate is a Go template that generates the list of Kubernetes resources to reconcile. The template is rendered as multi-document YAML, the resources should be separated by '---'. When both Resources and ResourcesTemplate are set, the resulting objects are merged and deduplicated, with the ones from Resources taking precedence.
spec.steps[].timeout <string> pattern="^([0-9]+(\\.[0-9]+)?(ms|s|m|h))+$"	# Timeout is the maximum time to wait for the step's resources to become ready. When not set, the ResourceSet reconciliation timeout is used.
spec.wait <boolean>	# Wait instructs the controller to check the health of all the reconciled resources.
status <object>	# ResourceSetStatus defines the observed state of ResourceSet.
status.conditions <[]object>	# Conditions contains the readiness conditions of the object.
status.conditions[].lastTransitionTime <string> (required) format=date-time	# 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.
status.conditions[].message <string> (required) max=32768	# message is a human readable message indicating details about the transition. This may be an empty string.
status.conditions[].observedGeneration <integer> format=int64 min=0	# 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.
status.conditions[].reason <string> (required) pattern="^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$" min=1 max=1024	# 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.
status.conditions[].status <string> (required) enum=True|False|Unknown	# status of the condition, one of True, False, Unknown.
status.conditions[].type <string> (required) 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])$" max=316	# type of condition in CamelCase or in foo.example.com/CamelCase.
status.externalChecksumRefs <[]string>	# ExternalChecksumRefs lists the ConfigMap and Secret references discovered in checksumFrom annotations on the last reconciliation that point to objects not rendered by this ResourceSet. Each entry has the form "Kind/namespace/name". It is used to trigger a reconciliation when one of the referenced objects changes.
status.history <[]object>	# History contains the reconciliation history of the ResourceSet as a list of snapshots ordered by the last reconciled time.
status.history[].digest <string> (required)	# Digest is the checksum in the format `<algo>:<hex>` of the resources in this snapshot.
status.history[].firstReconciled <string> (required) format=date-time	# FirstReconciled is the time when this revision was first reconciled to the cluster.
status.history[].lastReconciled <string> (required) format=date-time	# LastReconciled is the time when this revision was last reconciled to the cluster.
status.history[].lastReconciledDuration <string> (required)	# LastReconciledDuration is time it took to reconcile the resources in this revision.
status.history[].lastReconciledStatus <string> (required)	# LastReconciledStatus is the status of the last reconciliation.
status.history[].metadata <map[string]string>	# Metadata contains additional information about the snapshot.
status.history[].totalReconciliations <integer> (required) format=int64	# TotalReconciliations is the total number of reconciliations that have occurred for this snapshot.
status.inventory <object>	# Inventory contains a list of Kubernetes resource object references last applied on the cluster.
status.inventory.entries <[]object> (required)	# Entries of Kubernetes resource object references.
status.inventory.entries[].id <string> (required)	# ID is the string representation of the Kubernetes resource object's metadata, in the format '<namespace>_<name>_<group>_<kind>'.
status.inventory.entries[].v <string> (required)	# Version is the API version of the Kubernetes resource object's kind.
status.lastAppliedRevision <string>	# LastAppliedRevision is the digest of the generated resources that were last reconcile.
status.lastHandledReconcileAt <string>	# LastHandledReconcileAt holds the value of the most recent reconcile request value, so a change of the annotation value can be detected.
