apiVersion: v1
kind: Namespace
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
    control-plane: controller-manager
  name: resiliency-system
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.16.1
  labels:
    app.kubernetes.io/name: resiliency-io
  name: agents.core.resiliency.io
spec:
  group: core.resiliency.io
  names:
    kind: Agent
    listKind: AgentList
    plural: agents
    singular: agent
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.state
      name: Status
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: Agent is the Schema for the agents 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: AgentSpec defines the desired state of Agent
            properties:
              secretName:
                type: string
              type:
                enum:
                - AWSInventory
                - AzureInventory
                - FocusAzure
                - GCPInventory
                - KubernetesInventory
                - OpenShiftInventory
                type: string
            required:
            - secretName
            - type
            type: object
          status:
            description: AgentStatus defines the observed state of Agent
            properties:
              attempts:
                format: int32
                type: integer
              conditions:
                items:
                  description: Condition contains details for one aspect of the current
                    state of this API Resource.
                  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.
                      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
              secretName:
                type: string
              state:
                type: string
            required:
            - attempts
            - state
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.16.1
  labels:
    app.kubernetes.io/name: resiliency-io
  name: artifacts.operations.resiliency.io
spec:
  group: operations.resiliency.io
  names:
    kind: Artifact
    listKind: ArtifactList
    plural: artifacts
    singular: artifact
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.state
      name: Status
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: Artifact is the Schema for the artifacts 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: ArtifactSpec defines the desired state of Artifact
            properties:
              assetName:
                description: Reference the Asset where the artifact is stored (for
                  example an ObjectStorage)
                type: string
              id:
                description: Reference the ID inside the asset where is stored (for
                  example the file path)
                type: string
              type:
                description: Artifact type
                type: string
            required:
            - assetName
            - id
            - type
            type: object
          status:
            description: ArtifactStatus defines the observed state of Artifact
            properties:
              attempts:
                format: int32
                type: integer
              conditions:
                items:
                  description: Condition contains details for one aspect of the current
                    state of this API Resource.
                  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.
                      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
              state:
                type: string
            required:
            - attempts
            - state
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.16.1
  labels:
    app.kubernetes.io/name: resiliency-io
  name: assets.inventory.resiliency.io
spec:
  group: inventory.resiliency.io
  names:
    kind: Asset
    listKind: AssetList
    plural: assets
    singular: asset
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.type
      name: Type
      type: string
    - jsonPath: .status.state
      name: Status
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: Asset is the Schema for the assets 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: AssetSpec defines the desired state of Asset
            properties:
              awsRoute53:
                description: Reference a AWS Route53 service
                properties:
                  zoneID:
                    description: DNS zone id
                    type: string
                required:
                - zoneID
                type: object
              awsS3:
                description: Reference a AWS Bucket service
                properties:
                  name:
                    description: Bucket name
                    type: string
                  region:
                    description: AWS region name
                    type: string
                required:
                - name
                - region
                type: object
              azureDNS:
                description: Reference a AzureBlob service
                properties:
                  resourceGroupName:
                    description: Resource group name
                    type: string
                  zoneName:
                    description: DNS zone name
                    type: string
                required:
                - resourceGroupName
                - zoneName
                type: object
              azureStorageAccount:
                description: Reference a AzureBlob service
                properties:
                  containerName:
                    description: Container name in storage account
                    type: string
                  storageAccountName:
                    description: Azure Storage account name
                    type: string
                  subscriptionID:
                    description: Azure Storage subscription ID
                    type: string
                required:
                - containerName
                - storageAccountName
                type: object
              cloudFlareDNS:
                description: Reference a CloudFlare DNS service
                properties:
                  zoneID:
                    type: string
                  zoneName:
                    type: string
                required:
                - zoneID
                type: object
              gcpCloudDNS:
                description: Reference a GCP Cloud DNS service
                properties:
                  projectID:
                    description: Project ID
                    type: string
                  zoneName:
                    description: DNS zone name
                    type: string
                required:
                - projectID
                - zoneName
                type: object
              gcpCloudStorage:
                description: Reference a GCP Cloud Storage service
                properties:
                  name:
                    description: Bucket name
                    type: string
                  projectID:
                    description: Project ID
                    type: string
                required:
                - name
                - projectID
                type: object
              kubernetesCluster:
                description: Reference a Kubernetes cluster
                properties:
                  api:
                    description: Kubernetes API
                    type: string
                required:
                - api
                type: object
              minIO:
                description: Reference a Minio service
                properties:
                  endpoint:
                    description: Bucket endpoint
                    type: string
                  name:
                    description: Bucket name
                    type: string
                  useSSL:
                    description: Use SSL
                    type: boolean
                required:
                - endpoint
                - name
                type: object
              mongodb:
                description: MongoDB Database
                properties:
                  host:
                    description: MongoDB host
                    type: string
                  port:
                    description: MongoDB port
                    format: int32
                    type: integer
                required:
                - host
                - port
                type: object
              mysql:
                description: MySQL database
                properties:
                  host:
                    description: MySQL host
                    type: string
                  port:
                    description: MySQL port
                    format: int32
                    type: integer
                required:
                - host
                - port
                type: object
              openshiftCluster:
                description: Reference a OpenShift cluster
                properties:
                  api:
                    description: OpenShift API
                    type: string
                required:
                - api
                type: object
              postgresql:
                description: PostgreSQL database
                properties:
                  host:
                    description: PostgreSQL host
                    type: string
                  port:
                    description: PostgreSQL port
                    format: int32
                    type: integer
                required:
                - host
                - port
                type: object
              questdb:
                description: QuestDB database
                properties:
                  host:
                    description: QuestDB host
                    type: string
                  port:
                    description: QuestDB port
                    format: int32
                    type: integer
                required:
                - host
                - port
                type: object
              redis:
                description: Redis database
                properties:
                  host:
                    description: Redis host
                    type: string
                  port:
                    description: Redis port
                    format: int32
                    type: integer
                required:
                - host
                - port
                type: object
              sqlserver:
                description: SQLServer database
                properties:
                  host:
                    description: SQLServer host
                    type: string
                  port:
                    description: SQLServer port
                    format: int32
                    type: integer
                required:
                - host
                - port
                type: object
              zookeeper:
                description: Zookeeper database
                properties:
                  servers:
                    description: Zookeeper servers
                    items:
                      type: string
                    type: array
                required:
                - servers
                type: object
            type: object
          status:
            description: AssetStatus defines the observed state of Asset
            properties:
              attempts:
                format: int32
                type: integer
              categories:
                items:
                  type: string
                type: array
              conditions:
                items:
                  description: Condition contains details for one aspect of the current
                    state of this API Resource.
                  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.
                      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
              state:
                type: string
              type:
                type: string
            required:
            - attempts
            - state
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.16.1
  labels:
    app.kubernetes.io/name: resiliency-io
  name: instances.core.resiliency.io
spec:
  group: core.resiliency.io
  names:
    kind: Instance
    listKind: InstanceList
    plural: instances
    singular: instance
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.state
      name: Status
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: Instance is the Schema for the instances 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: InstanceSpec defines the desired state of Instance
            properties:
              auth:
                properties:
                  insecureSkipVerify:
                    type: boolean
                  ssoProviders:
                    items:
                      properties:
                        microsoft:
                          properties:
                            name:
                              type: string
                            secretName:
                              type: string
                          required:
                          - name
                          - secretName
                          type: object
                        oidc:
                          properties:
                            name:
                              type: string
                            secretName:
                              type: string
                          required:
                          - name
                          - secretName
                          type: object
                      type: object
                    type: array
                  users:
                    type: string
                type: object
              components:
                properties:
                  api:
                    properties:
                      ingress:
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            type: object
                          host:
                            type: string
                          ingressClassName:
                            type: string
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          protocol:
                            type: string
                        required:
                        - host
                        type: object
                      logLevel:
                        type: string
                      resources:
                        description: ResourceRequirements describes the compute resource
                          requirements.
                        properties:
                          claims:
                            description: |-
                              Claims lists the names of resources, defined in spec.resourceClaims,
                              that are used by this container.

                              This field depends on the
                              DynamicResourceAllocation feature gate.

                              This field is immutable. It can only be set for containers.
                            items:
                              description: ResourceClaim references one entry in PodSpec.ResourceClaims.
                              properties:
                                name:
                                  description: |-
                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                    the Pod where this field is used. It makes that resource available
                                    inside a container.
                                  type: string
                                request:
                                  description: |-
                                    Request is the name chosen for a request in the referenced claim.
                                    If empty, everything from the claim is made available, otherwise
                                    only the result of this request.
                                  type: string
                              required:
                              - name
                              type: object
                            type: array
                            x-kubernetes-list-map-keys:
                            - name
                            x-kubernetes-list-type: map
                          limits:
                            additionalProperties:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                            description: |-
                              Limits describes the maximum amount of compute resources allowed.
                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                            type: object
                          requests:
                            additionalProperties:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                            description: |-
                              Requests describes the minimum amount of compute resources required.
                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                            type: object
                        type: object
                      route:
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            type: object
                          host:
                            type: string
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          tls:
                            description: TLSConfig defines config used to secure a
                              route and provide termination
                            properties:
                              caCertificate:
                                description: caCertificate provides the cert authority
                                  certificate contents
                                type: string
                              certificate:
                                description: |-
                                  certificate provides certificate contents. This should be a single serving certificate, not a certificate
                                  chain. Do not include a CA certificate.
                                type: string
                              destinationCACertificate:
                                description: |-
                                  destinationCACertificate provides the contents of the ca certificate of the final destination.  When using reencrypt
                                  termination this file should be provided in order to have routers use it for health checks on the secure connection.
                                  If this field is not specified, the router may provide its own destination CA and perform hostname validation using
                                  the short service name (service.namespace.svc), which allows infrastructure generated certificates to automatically
                                  verify.
                                type: string
                              externalCertificate:
                                description: |-
                                  externalCertificate provides certificate contents as a secret reference.
                                  This should be a single serving certificate, not a certificate
                                  chain. Do not include a CA certificate. The secret referenced should
                                  be present in the same namespace as that of the Route.
                                  Forbidden when `certificate` is set.
                                  The router service account needs to be granted with read-only access to this secret,
                                  please refer to openshift docs for additional details.
                                properties:
                                  name:
                                    description: |-
                                      name of the referent.
                                      More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                    type: string
                                type: object
                                x-kubernetes-map-type: atomic
                              insecureEdgeTerminationPolicy:
                                description: |-
                                  insecureEdgeTerminationPolicy indicates the desired behavior for insecure connections to a route. While
                                  each router may make its own decisions on which ports to expose, this is normally port 80.

                                  If a route does not specify insecureEdgeTerminationPolicy, then the default behavior is "None".

                                  * Allow - traffic is sent to the server on the insecure port (edge/reencrypt terminations only).

                                  * None - no traffic is allowed on the insecure port (default).

                                  * Redirect - clients are redirected to the secure port.
                                enum:
                                - Allow
                                - None
                                - Redirect
                                - ""
                                type: string
                              key:
                                description: key provides key file contents
                                type: string
                              termination:
                                description: |-
                                  termination indicates termination type.

                                  * edge - TLS termination is done by the router and http is used to communicate with the backend (default)
                                  * passthrough - Traffic is sent straight to the destination without the router providing TLS termination
                                  * reencrypt - TLS termination is done by the router and https is used to communicate with the backend

                                  Note: passthrough termination is incompatible with httpHeader actions
                                enum:
                                - edge
                                - reencrypt
                                - passthrough
                                type: string
                            required:
                            - termination
                            type: object
                            x-kubernetes-validations:
                            - message: 'cannot have both spec.tls.termination: passthrough
                                and spec.tls.insecureEdgeTerminationPolicy: Allow'
                              rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy)
                                ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow''))
                                : true'
                        required:
                        - host
                        type: object
                    type: object
                  console:
                    properties:
                      ingress:
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            type: object
                          host:
                            type: string
                          ingressClassName:
                            type: string
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          protocol:
                            type: string
                        required:
                        - host
                        type: object
                      resources:
                        description: ResourceRequirements describes the compute resource
                          requirements.
                        properties:
                          claims:
                            description: |-
                              Claims lists the names of resources, defined in spec.resourceClaims,
                              that are used by this container.

                              This field depends on the
                              DynamicResourceAllocation feature gate.

                              This field is immutable. It can only be set for containers.
                            items:
                              description: ResourceClaim references one entry in PodSpec.ResourceClaims.
                              properties:
                                name:
                                  description: |-
                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                    the Pod where this field is used. It makes that resource available
                                    inside a container.
                                  type: string
                                request:
                                  description: |-
                                    Request is the name chosen for a request in the referenced claim.
                                    If empty, everything from the claim is made available, otherwise
                                    only the result of this request.
                                  type: string
                              required:
                              - name
                              type: object
                            type: array
                            x-kubernetes-list-map-keys:
                            - name
                            x-kubernetes-list-type: map
                          limits:
                            additionalProperties:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                            description: |-
                              Limits describes the maximum amount of compute resources allowed.
                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                            type: object
                          requests:
                            additionalProperties:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                            description: |-
                              Requests describes the minimum amount of compute resources required.
                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                            type: object
                        type: object
                      route:
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            type: object
                          host:
                            type: string
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          tls:
                            description: TLSConfig defines config used to secure a
                              route and provide termination
                            properties:
                              caCertificate:
                                description: caCertificate provides the cert authority
                                  certificate contents
                                type: string
                              certificate:
                                description: |-
                                  certificate provides certificate contents. This should be a single serving certificate, not a certificate
                                  chain. Do not include a CA certificate.
                                type: string
                              destinationCACertificate:
                                description: |-
                                  destinationCACertificate provides the contents of the ca certificate of the final destination.  When using reencrypt
                                  termination this file should be provided in order to have routers use it for health checks on the secure connection.
                                  If this field is not specified, the router may provide its own destination CA and perform hostname validation using
                                  the short service name (service.namespace.svc), which allows infrastructure generated certificates to automatically
                                  verify.
                                type: string
                              externalCertificate:
                                description: |-
                                  externalCertificate provides certificate contents as a secret reference.
                                  This should be a single serving certificate, not a certificate
                                  chain. Do not include a CA certificate. The secret referenced should
                                  be present in the same namespace as that of the Route.
                                  Forbidden when `certificate` is set.
                                  The router service account needs to be granted with read-only access to this secret,
                                  please refer to openshift docs for additional details.
                                properties:
                                  name:
                                    description: |-
                                      name of the referent.
                                      More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                    type: string
                                type: object
                                x-kubernetes-map-type: atomic
                              insecureEdgeTerminationPolicy:
                                description: |-
                                  insecureEdgeTerminationPolicy indicates the desired behavior for insecure connections to a route. While
                                  each router may make its own decisions on which ports to expose, this is normally port 80.

                                  If a route does not specify insecureEdgeTerminationPolicy, then the default behavior is "None".

                                  * Allow - traffic is sent to the server on the insecure port (edge/reencrypt terminations only).

                                  * None - no traffic is allowed on the insecure port (default).

                                  * Redirect - clients are redirected to the secure port.
                                enum:
                                - Allow
                                - None
                                - Redirect
                                - ""
                                type: string
                              key:
                                description: key provides key file contents
                                type: string
                              termination:
                                description: |-
                                  termination indicates termination type.

                                  * edge - TLS termination is done by the router and http is used to communicate with the backend (default)
                                  * passthrough - Traffic is sent straight to the destination without the router providing TLS termination
                                  * reencrypt - TLS termination is done by the router and https is used to communicate with the backend

                                  Note: passthrough termination is incompatible with httpHeader actions
                                enum:
                                - edge
                                - reencrypt
                                - passthrough
                                type: string
                            required:
                            - termination
                            type: object
                            x-kubernetes-validations:
                            - message: 'cannot have both spec.tls.termination: passthrough
                                and spec.tls.insecureEdgeTerminationPolicy: Allow'
                              rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy)
                                ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow''))
                                : true'
                        required:
                        - host
                        type: object
                    type: object
                  inventory:
                    properties:
                      ingress:
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            type: object
                          host:
                            type: string
                          ingressClassName:
                            type: string
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          protocol:
                            type: string
                        required:
                        - host
                        type: object
                      logLevel:
                        type: string
                      resources:
                        description: ResourceRequirements describes the compute resource
                          requirements.
                        properties:
                          claims:
                            description: |-
                              Claims lists the names of resources, defined in spec.resourceClaims,
                              that are used by this container.

                              This field depends on the
                              DynamicResourceAllocation feature gate.

                              This field is immutable. It can only be set for containers.
                            items:
                              description: ResourceClaim references one entry in PodSpec.ResourceClaims.
                              properties:
                                name:
                                  description: |-
                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                    the Pod where this field is used. It makes that resource available
                                    inside a container.
                                  type: string
                                request:
                                  description: |-
                                    Request is the name chosen for a request in the referenced claim.
                                    If empty, everything from the claim is made available, otherwise
                                    only the result of this request.
                                  type: string
                              required:
                              - name
                              type: object
                            type: array
                            x-kubernetes-list-map-keys:
                            - name
                            x-kubernetes-list-type: map
                          limits:
                            additionalProperties:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                            description: |-
                              Limits describes the maximum amount of compute resources allowed.
                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                            type: object
                          requests:
                            additionalProperties:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                            description: |-
                              Requests describes the minimum amount of compute resources required.
                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                            type: object
                        type: object
                      route:
                        properties:
                          annotations:
                            additionalProperties:
                              type: string
                            type: object
                          host:
                            type: string
                          labels:
                            additionalProperties:
                              type: string
                            type: object
                          tls:
                            description: TLSConfig defines config used to secure a
                              route and provide termination
                            properties:
                              caCertificate:
                                description: caCertificate provides the cert authority
                                  certificate contents
                                type: string
                              certificate:
                                description: |-
                                  certificate provides certificate contents. This should be a single serving certificate, not a certificate
                                  chain. Do not include a CA certificate.
                                type: string
                              destinationCACertificate:
                                description: |-
                                  destinationCACertificate provides the contents of the ca certificate of the final destination.  When using reencrypt
                                  termination this file should be provided in order to have routers use it for health checks on the secure connection.
                                  If this field is not specified, the router may provide its own destination CA and perform hostname validation using
                                  the short service name (service.namespace.svc), which allows infrastructure generated certificates to automatically
                                  verify.
                                type: string
                              externalCertificate:
                                description: |-
                                  externalCertificate provides certificate contents as a secret reference.
                                  This should be a single serving certificate, not a certificate
                                  chain. Do not include a CA certificate. The secret referenced should
                                  be present in the same namespace as that of the Route.
                                  Forbidden when `certificate` is set.
                                  The router service account needs to be granted with read-only access to this secret,
                                  please refer to openshift docs for additional details.
                                properties:
                                  name:
                                    description: |-
                                      name of the referent.
                                      More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                                    type: string
                                type: object
                                x-kubernetes-map-type: atomic
                              insecureEdgeTerminationPolicy:
                                description: |-
                                  insecureEdgeTerminationPolicy indicates the desired behavior for insecure connections to a route. While
                                  each router may make its own decisions on which ports to expose, this is normally port 80.

                                  If a route does not specify insecureEdgeTerminationPolicy, then the default behavior is "None".

                                  * Allow - traffic is sent to the server on the insecure port (edge/reencrypt terminations only).

                                  * None - no traffic is allowed on the insecure port (default).

                                  * Redirect - clients are redirected to the secure port.
                                enum:
                                - Allow
                                - None
                                - Redirect
                                - ""
                                type: string
                              key:
                                description: key provides key file contents
                                type: string
                              termination:
                                description: |-
                                  termination indicates termination type.

                                  * edge - TLS termination is done by the router and http is used to communicate with the backend (default)
                                  * passthrough - Traffic is sent straight to the destination without the router providing TLS termination
                                  * reencrypt - TLS termination is done by the router and https is used to communicate with the backend

                                  Note: passthrough termination is incompatible with httpHeader actions
                                enum:
                                - edge
                                - reencrypt
                                - passthrough
                                type: string
                            required:
                            - termination
                            type: object
                            x-kubernetes-validations:
                            - message: 'cannot have both spec.tls.termination: passthrough
                                and spec.tls.insecureEdgeTerminationPolicy: Allow'
                              rule: 'has(self.termination) && has(self.insecureEdgeTerminationPolicy)
                                ? !((self.termination==''passthrough'') && (self.insecureEdgeTerminationPolicy==''Allow''))
                                : true'
                        required:
                        - host
                        type: object
                    type: object
                  worker:
                    properties:
                      logLevel:
                        type: string
                      replicas:
                        type: integer
                      resources:
                        description: ResourceRequirements describes the compute resource
                          requirements.
                        properties:
                          claims:
                            description: |-
                              Claims lists the names of resources, defined in spec.resourceClaims,
                              that are used by this container.

                              This field depends on the
                              DynamicResourceAllocation feature gate.

                              This field is immutable. It can only be set for containers.
                            items:
                              description: ResourceClaim references one entry in PodSpec.ResourceClaims.
                              properties:
                                name:
                                  description: |-
                                    Name must match the name of one entry in pod.spec.resourceClaims of
                                    the Pod where this field is used. It makes that resource available
                                    inside a container.
                                  type: string
                                request:
                                  description: |-
                                    Request is the name chosen for a request in the referenced claim.
                                    If empty, everything from the claim is made available, otherwise
                                    only the result of this request.
                                  type: string
                              required:
                              - name
                              type: object
                            type: array
                            x-kubernetes-list-map-keys:
                            - name
                            x-kubernetes-list-type: map
                          limits:
                            additionalProperties:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                            description: |-
                              Limits describes the maximum amount of compute resources allowed.
                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                            type: object
                          requests:
                            additionalProperties:
                              anyOf:
                              - type: integer
                              - type: string
                              pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                              x-kubernetes-int-or-string: true
                            description: |-
                              Requests describes the minimum amount of compute resources required.
                              If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                              otherwise to an implementation-defined value. Requests cannot exceed Limits.
                              More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                            type: object
                        type: object
                    type: object
                required:
                - api
                - console
                - inventory
                type: object
              databases:
                properties:
                  queue:
                    properties:
                      nats:
                        properties:
                          connection:
                            properties:
                              streamName:
                                type: string
                              url:
                                type: string
                            required:
                            - streamName
                            - url
                            type: object
                          deploy:
                            properties:
                              resources:
                                description: ResourceRequirements describes the compute
                                  resource requirements.
                                properties:
                                  claims:
                                    description: |-
                                      Claims lists the names of resources, defined in spec.resourceClaims,
                                      that are used by this container.

                                      This field depends on the
                                      DynamicResourceAllocation feature gate.

                                      This field is immutable. It can only be set for containers.
                                    items:
                                      description: ResourceClaim references one entry
                                        in PodSpec.ResourceClaims.
                                      properties:
                                        name:
                                          description: |-
                                            Name must match the name of one entry in pod.spec.resourceClaims of
                                            the Pod where this field is used. It makes that resource available
                                            inside a container.
                                          type: string
                                        request:
                                          description: |-
                                            Request is the name chosen for a request in the referenced claim.
                                            If empty, everything from the claim is made available, otherwise
                                            only the result of this request.
                                          type: string
                                      required:
                                      - name
                                      type: object
                                    type: array
                                    x-kubernetes-list-map-keys:
                                    - name
                                    x-kubernetes-list-type: map
                                  limits:
                                    additionalProperties:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                      x-kubernetes-int-or-string: true
                                    description: |-
                                      Limits describes the maximum amount of compute resources allowed.
                                      More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                    type: object
                                  requests:
                                    additionalProperties:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                      x-kubernetes-int-or-string: true
                                    description: |-
                                      Requests describes the minimum amount of compute resources required.
                                      If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                      otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                      More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                    type: object
                                type: object
                              storageSize:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                            type: object
                        type: object
                    type: object
                  relational:
                    properties:
                      postgresql:
                        properties:
                          connection:
                            properties:
                              database:
                                type: string
                              host:
                                type: string
                              password:
                                type: string
                              port:
                                type: integer
                              user:
                                type: string
                            required:
                            - database
                            - host
                            - password
                            - port
                            - user
                            type: object
                          deploy:
                            properties:
                              resources:
                                description: ResourceRequirements describes the compute
                                  resource requirements.
                                properties:
                                  claims:
                                    description: |-
                                      Claims lists the names of resources, defined in spec.resourceClaims,
                                      that are used by this container.

                                      This field depends on the
                                      DynamicResourceAllocation feature gate.

                                      This field is immutable. It can only be set for containers.
                                    items:
                                      description: ResourceClaim references one entry
                                        in PodSpec.ResourceClaims.
                                      properties:
                                        name:
                                          description: |-
                                            Name must match the name of one entry in pod.spec.resourceClaims of
                                            the Pod where this field is used. It makes that resource available
                                            inside a container.
                                          type: string
                                        request:
                                          description: |-
                                            Request is the name chosen for a request in the referenced claim.
                                            If empty, everything from the claim is made available, otherwise
                                            only the result of this request.
                                          type: string
                                      required:
                                      - name
                                      type: object
                                    type: array
                                    x-kubernetes-list-map-keys:
                                    - name
                                    x-kubernetes-list-type: map
                                  limits:
                                    additionalProperties:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                      x-kubernetes-int-or-string: true
                                    description: |-
                                      Limits describes the maximum amount of compute resources allowed.
                                      More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                    type: object
                                  requests:
                                    additionalProperties:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                      x-kubernetes-int-or-string: true
                                    description: |-
                                      Requests describes the minimum amount of compute resources required.
                                      If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                      otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                      More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                    type: object
                                type: object
                              storageSize:
                                anyOf:
                                - type: integer
                                - type: string
                                pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                x-kubernetes-int-or-string: true
                            type: object
                        type: object
                    type: object
                  timeseries:
                    properties:
                      influxdb:
                        properties:
                          connection:
                            properties:
                              bucket:
                                type: string
                              organization:
                                type: string
                              token:
                                type: string
                              url:
                                type: string
                            required:
                            - bucket
                            - organization
                            - token
                            - url
                            type: object
                          deploy:
                            properties:
                              resources:
                                description: ResourceRequirements describes the compute
                                  resource requirements.
                                properties:
                                  claims:
                                    description: |-
                                      Claims lists the names of resources, defined in spec.resourceClaims,
                                      that are used by this container.

                                      This field depends on the
                                      DynamicResourceAllocation feature gate.

                                      This field is immutable. It can only be set for containers.
                                    items:
                                      description: ResourceClaim references one entry
                                        in PodSpec.ResourceClaims.
                                      properties:
                                        name:
                                          description: |-
                                            Name must match the name of one entry in pod.spec.resourceClaims of
                                            the Pod where this field is used. It makes that resource available
                                            inside a container.
                                          type: string
                                        request:
                                          description: |-
                                            Request is the name chosen for a request in the referenced claim.
                                            If empty, everything from the claim is made available, otherwise
                                            only the result of this request.
                                          type: string
                                      required:
                                      - name
                                      type: object
                                    type: array
                                    x-kubernetes-list-map-keys:
                                    - name
                                    x-kubernetes-list-type: map
                                  limits:
                                    additionalProperties:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                      x-kubernetes-int-or-string: true
                                    description: |-
                                      Limits describes the maximum amount of compute resources allowed.
                                      More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                    type: object
                                  requests:
                                    additionalProperties:
                                      anyOf:
                                      - type: integer
                                      - type: string
                                      pattern: ^(\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))(([KMGTPE]i)|[numkMGTPE]|([eE](\+|-)?(([0-9]+(\.[0-9]*)?)|(\.[0-9]+))))?$
                                      x-kubernetes-int-or-string: true
                                    description: |-
                                      Requests describes the minimum amount of compute resources required.
                                      If Requests is omitted for a container, it defaults to Limits if that is explicitly specified,
                                      otherwise to an implementation-defined value. Requests cannot exceed Limits.
                                      More info: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/
                                    type: object
                                type: object
                            type: object
                        type: object
                    type: object
                type: object
              imagePullSecrets:
                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.
                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                      type: string
                  type: object
                  x-kubernetes-map-type: atomic
                type: array
              licenseSecret:
                type: string
            required:
            - components
            - licenseSecret
            type: object
          status:
            description: InstanceStatus defines the observed state of Instance
            properties:
              attempts:
                format: int32
                type: integer
              conditions:
                items:
                  description: Condition contains details for one aspect of the current
                    state of this API Resource.
                  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.
                      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
              databases:
                properties:
                  queue:
                    type: string
                  relational:
                    type: string
                  timeseries:
                    type: string
                type: object
              state:
                type: string
            required:
            - attempts
            - state
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.16.1
  labels:
    app.kubernetes.io/name: resiliency-io
  name: policies.operations.resiliency.io
spec:
  group: operations.resiliency.io
  names:
    kind: Policy
    listKind: PolicyList
    plural: policies
    singular: policy
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .spec.templateName
      name: Template
      type: string
    - jsonPath: .spec.suspended
      name: Suspend
      type: boolean
    - jsonPath: .status.state
      name: Status
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: Policy is the Schema for the policies 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: PolicySpec defines the desired state of Policy
            properties:
              params:
                items:
                  properties:
                    name:
                      type: string
                    value:
                      x-kubernetes-preserve-unknown-fields: true
                  required:
                  - name
                  - value
                  type: object
                type: array
              placement:
                description: Deploy cluster inside
                properties:
                  clusterName:
                    description: Kubernetes cluster Asset name
                    type: string
                  createNamespace:
                    description: Create namespace if not exists
                    type: boolean
                  credentialName:
                    description: CredentialBinding name to access the Kubernetes cluster
                    type: string
                  namespace:
                    description: Deploy Task in custom namespace
                    type: string
                type: object
              suspended:
                default: false
                type: boolean
              templateName:
                type: string
            required:
            - params
            - templateName
            type: object
          status:
            description: PolicyStatus defines the observed state of Policy
            properties:
              actions:
                items:
                  properties:
                    available:
                      type: boolean
                    name:
                      type: string
                    taskRun:
                      type: string
                  required:
                  - available
                  - name
                  - taskRun
                  type: object
                type: array
              attempts:
                format: int32
                type: integer
              conditions:
                items:
                  description: Condition contains details for one aspect of the current
                    state of this API Resource.
                  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.
                      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
              objects:
                items:
                  description: ObjectReference contains enough information to let
                    you inspect or modify the referred object.
                  properties:
                    apiVersion:
                      description: API version of the referent.
                      type: string
                    fieldPath:
                      description: |-
                        If referring to a piece of an object instead of an entire object, this string
                        should contain a valid JSON/Go field access statement, such as desiredState.manifest.containers[2].
                        For example, if the object reference is to a container within a pod, this would take on a value like:
                        "spec.containers{name}" (where "name" refers to the name of the container that triggered
                        the event) or if no container name is specified "spec.containers[2]" (container with
                        index 2 in this pod). This syntax is chosen only to have some well-defined way of
                        referencing a part of an object.
                      type: string
                    kind:
                      description: |-
                        Kind of the referent.
                        More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds
                      type: string
                    name:
                      description: |-
                        Name of the referent.
                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#names
                      type: string
                    namespace:
                      description: |-
                        Namespace of the referent.
                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/namespaces/
                      type: string
                    resourceVersion:
                      description: |-
                        Specific resourceVersion to which this reference is made, if any.
                        More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#concurrency-control-and-consistency
                      type: string
                    uid:
                      description: |-
                        UID of the referent.
                        More info: https://kubernetes.io/docs/concepts/overview/working-with-objects/names/#uids
                      type: string
                  type: object
                  x-kubernetes-map-type: atomic
                type: array
              state:
                type: string
            required:
            - attempts
            - state
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.16.1
  labels:
    app.kubernetes.io/name: resiliency-io
  name: policytemplates.operations.resiliency.io
spec:
  group: operations.resiliency.io
  names:
    kind: PolicyTemplate
    listKind: PolicyTemplateList
    plural: policytemplates
    singular: policytemplate
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .spec.releasePhase
      name: Release
      type: string
    - jsonPath: .status.state
      name: Status
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: PolicyTemplate is the Schema for the policytemplates 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: PolicyTemplateSpec defines the desired state of PolicyTemplate
            properties:
              actions:
                items:
                  properties:
                    description:
                      type: string
                    documentation:
                      type: string
                    groups:
                      items:
                        properties:
                          collapsible:
                            type: boolean
                          description:
                            type: string
                          expanded:
                            type: boolean
                          id:
                            type: string
                          label:
                            type: string
                        required:
                        - collapsible
                        - description
                        - expanded
                        - id
                        - label
                        type: object
                      type: array
                    name:
                      type: string
                    params:
                      items:
                        properties:
                          default:
                            x-kubernetes-preserve-unknown-fields: true
                          description:
                            type: string
                          editable:
                            default: false
                            type: boolean
                          filter:
                            properties:
                              assetCategory:
                                type: string
                              assetType:
                                type: string
                              paramRef:
                                type: string
                              values:
                                items:
                                  type: string
                                type: array
                            type: object
                          group:
                            type: string
                          items:
                            enum:
                            - Any
                            - Artifact
                            - Asset
                            - Bool
                            - Credential
                            - Domain
                            - Duration
                            - Enum
                            - Integer
                            - KubernetesResources
                            - List
                            - Path
                            - Schedule
                            - String
                            - Time
                            - YAML
                            type: string
                          name:
                            type: string
                          options:
                            items:
                              properties:
                                label:
                                  type: string
                                value:
                                  type: string
                              required:
                              - label
                              - value
                              type: object
                            type: array
                          required:
                            type: boolean
                          showWhen:
                            properties:
                              field:
                                type: string
                              values:
                                items:
                                  type: string
                                type: array
                            required:
                            - field
                            - values
                            type: object
                          subGroup:
                            type: string
                          type:
                            enum:
                            - Any
                            - Artifact
                            - Asset
                            - Bool
                            - Credential
                            - Domain
                            - Duration
                            - Enum
                            - Integer
                            - KubernetesResources
                            - List
                            - Path
                            - Schedule
                            - String
                            - Time
                            - YAML
                            type: string
                        required:
                        - description
                        - name
                        - required
                        - type
                        type: object
                      type: array
                    subgroups:
                      items:
                        properties:
                          collapsible:
                            type: boolean
                          description:
                            type: string
                          expanded:
                            type: boolean
                          id:
                            type: string
                          label:
                            type: string
                        required:
                        - collapsible
                        - description
                        - expanded
                        - id
                        - label
                        type: object
                      type: array
                    tasktemplate:
                      type: string
                  required:
                  - description
                  - documentation
                  - name
                  type: object
                type: array
              description:
                type: string
              documentation:
                type: string
              groups:
                items:
                  properties:
                    collapsible:
                      type: boolean
                    description:
                      type: string
                    expanded:
                      type: boolean
                    id:
                      type: string
                    label:
                      type: string
                  required:
                  - collapsible
                  - description
                  - expanded
                  - id
                  - label
                  type: object
                type: array
              params:
                items:
                  properties:
                    default:
                      x-kubernetes-preserve-unknown-fields: true
                    description:
                      type: string
                    editable:
                      default: false
                      type: boolean
                    filter:
                      properties:
                        assetCategory:
                          type: string
                        assetType:
                          type: string
                        paramRef:
                          type: string
                        values:
                          items:
                            type: string
                          type: array
                      type: object
                    group:
                      type: string
                    items:
                      enum:
                      - Any
                      - Artifact
                      - Asset
                      - Bool
                      - Credential
                      - Domain
                      - Duration
                      - Enum
                      - Integer
                      - KubernetesResources
                      - List
                      - Path
                      - Schedule
                      - String
                      - Time
                      - YAML
                      type: string
                    name:
                      type: string
                    options:
                      items:
                        properties:
                          label:
                            type: string
                          value:
                            type: string
                        required:
                        - label
                        - value
                        type: object
                      type: array
                    required:
                      type: boolean
                    showWhen:
                      properties:
                        field:
                          type: string
                        values:
                          items:
                            type: string
                          type: array
                      required:
                      - field
                      - values
                      type: object
                    subGroup:
                      type: string
                    type:
                      enum:
                      - Any
                      - Artifact
                      - Asset
                      - Bool
                      - Credential
                      - Domain
                      - Duration
                      - Enum
                      - Integer
                      - KubernetesResources
                      - List
                      - Path
                      - Schedule
                      - String
                      - Time
                      - YAML
                      type: string
                  required:
                  - description
                  - name
                  - required
                  - type
                  type: object
                type: array
              releasePhase:
                enum:
                - Alpha
                - Beta
                - GeneralAvailability
                type: string
              subgroups:
                items:
                  properties:
                    collapsible:
                      type: boolean
                    description:
                      type: string
                    expanded:
                      type: boolean
                    id:
                      type: string
                    label:
                      type: string
                  required:
                  - collapsible
                  - description
                  - expanded
                  - id
                  - label
                  type: object
                type: array
            required:
            - description
            - documentation
            - releasePhase
            type: object
          status:
            description: PolicyTemplateStatus defines the observed state of PolicyTemplate
            properties:
              attempts:
                format: int32
                type: integer
              conditions:
                items:
                  description: Condition contains details for one aspect of the current
                    state of this API Resource.
                  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.
                      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
              state:
                type: string
            required:
            - attempts
            - state
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.16.1
  labels:
    app.kubernetes.io/name: resiliency-io
  name: tasks.operations.resiliency.io
spec:
  group: operations.resiliency.io
  names:
    kind: Task
    listKind: TaskList
    plural: tasks
    singular: task
  scope: Namespaced
  versions:
  - additionalPrinterColumns:
    - jsonPath: .status.state
      name: Status
      type: string
    - jsonPath: .metadata.creationTimestamp
      name: Age
      type: date
    name: v1alpha1
    schema:
      openAPIV3Schema:
        description: Task is the Schema for the tasks 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: TaskSpec defines the desired state of Task
            properties:
              placement:
                description: Deploy cluster inside
                properties:
                  clusterName:
                    description: Kubernetes cluster Asset name
                    type: string
                  createNamespace:
                    description: Create namespace if not exists
                    type: boolean
                  credentialName:
                    description: CredentialBinding name to access the Kubernetes cluster
                    type: string
                  namespace:
                    description: Deploy Task in custom namespace
                    type: string
                type: object
              policyAction:
                description: Run a Policy action
                properties:
                  action:
                    description: Action name
                    type: string
                  params:
                    description: Params
                    items:
                      properties:
                        name:
                          type: string
                        value:
                          x-kubernetes-preserve-unknown-fields: true
                      required:
                      - name
                      - value
                      type: object
                    type: array
                  placement:
                    description: Deploy cluster inside
                    properties:
                      clusterName:
                        description: Kubernetes cluster Asset name
                        type: string
                      createNamespace:
                        description: Create namespace if not exists
                        type: boolean
                      credentialName:
                        description: CredentialBinding name to access the Kubernetes
                          cluster
                        type: string
                      namespace:
                        description: Deploy Task in custom namespace
                        type: string
                    type: object
                  policy:
                    description: Policy name
                    type: string
                required:
                - action
                - policy
                type: object
              templateRef:
                description: Run a Policy action
                properties:
                  params:
                    description: Params
                    items:
                      properties:
                        name:
                          type: string
                        value:
                          x-kubernetes-preserve-unknown-fields: true
                      required:
                      - name
                      - value
                      type: object
                    type: array
                  templateName:
                    description: TaskTemplate name
                    type: string
                required:
                - templateName
                type: object
            type: object
          status:
            description: TaskStatus defines the observed state of Task
            properties:
              attempts:
                format: int32
                type: integer
              conditions:
                items:
                  description: Condition contains details for one aspect of the current
                    state of this API Resource.
                  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.
                      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
              generatedName:
                description: GeneratedName
                type: string
              policySpec:
                description: PolicySpec referenced in the Task
                properties:
                  params:
                    items:
                      properties:
                        name:
                          type: string
                        value:
                          x-kubernetes-preserve-unknown-fields: true
                      required:
                      - name
                      - value
                      type: object
                    type: array
                  placement:
                    description: Deploy cluster inside
                    properties:
                      clusterName:
                        description: Kubernetes cluster Asset name
                        type: string
                      createNamespace:
                        description: Create namespace if not exists
                        type: boolean
                      credentialName:
                        description: CredentialBinding name to access the Kubernetes
                          cluster
                        type: string
                      namespace:
                        description: Deploy Task in custom namespace
                        type: string
                    type: object
                  suspended:
                    default: false
                    type: boolean
                  templateName:
                    type: string
                required:
                - params
                - templateName
                type: object
              state:
                type: string
            required:
            - attempts
            - state
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  annotations:
    controller-gen.kubebuilder.io/version: v0.16.1
  labels:
    app.kubernetes.io/name: resiliency-io
  name: tasktemplates.operations.resiliency.io
spec:
  group: operations.resiliency.io
  names:
    kind: TaskTemplate
    listKind: TaskTemplateList
    plural: tasktemplates
    singular: tasktemplate
  scope: Namespaced
  versions:
  - name: v1alpha1
    schema:
      openAPIV3Schema:
        description: TaskTemplate is the Schema for the tasktemplates 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: TaskTemplateSpec defines the desired state of TaskTemplate
            properties:
              description:
                type: string
              documentation:
                type: string
              groups:
                items:
                  properties:
                    collapsible:
                      type: boolean
                    description:
                      type: string
                    expanded:
                      type: boolean
                    id:
                      type: string
                    label:
                      type: string
                  required:
                  - collapsible
                  - description
                  - expanded
                  - id
                  - label
                  type: object
                type: array
              params:
                items:
                  properties:
                    default:
                      x-kubernetes-preserve-unknown-fields: true
                    description:
                      type: string
                    editable:
                      default: false
                      type: boolean
                    filter:
                      properties:
                        assetCategory:
                          type: string
                        assetType:
                          type: string
                        paramRef:
                          type: string
                        values:
                          items:
                            type: string
                          type: array
                      type: object
                    group:
                      type: string
                    items:
                      enum:
                      - Any
                      - Artifact
                      - Asset
                      - Bool
                      - Credential
                      - Domain
                      - Duration
                      - Enum
                      - Integer
                      - KubernetesResources
                      - List
                      - Path
                      - Schedule
                      - String
                      - Time
                      - YAML
                      type: string
                    name:
                      type: string
                    options:
                      items:
                        properties:
                          label:
                            type: string
                          value:
                            type: string
                        required:
                        - label
                        - value
                        type: object
                      type: array
                    required:
                      type: boolean
                    showWhen:
                      properties:
                        field:
                          type: string
                        values:
                          items:
                            type: string
                          type: array
                      required:
                      - field
                      - values
                      type: object
                    subGroup:
                      type: string
                    type:
                      enum:
                      - Any
                      - Artifact
                      - Asset
                      - Bool
                      - Credential
                      - Domain
                      - Duration
                      - Enum
                      - Integer
                      - KubernetesResources
                      - List
                      - Path
                      - Schedule
                      - String
                      - Time
                      - YAML
                      type: string
                  required:
                  - description
                  - name
                  - required
                  - type
                  type: object
                type: array
              releasePhase:
                enum:
                - Alpha
                - Beta
                - GeneralAvailability
                type: string
              subgroups:
                items:
                  properties:
                    collapsible:
                      type: boolean
                    description:
                      type: string
                    expanded:
                      type: boolean
                    id:
                      type: string
                    label:
                      type: string
                  required:
                  - collapsible
                  - description
                  - expanded
                  - id
                  - label
                  type: object
                type: array
            required:
            - description
            - documentation
            - releasePhase
            type: object
          status:
            description: TaskTemplateStatus defines the observed state of TaskTemplate
            properties:
              attempts:
                format: int32
                type: integer
              conditions:
                items:
                  description: Condition contains details for one aspect of the current
                    state of this API Resource.
                  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.
                      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
              state:
                type: string
            required:
            - attempts
            - state
            type: object
        type: object
    served: true
    storage: true
    subresources:
      status: {}
---
apiVersion: v1
kind: ServiceAccount
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-controller-manager
  namespace: resiliency-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-leader-election-role
  namespace: resiliency-system
rules:
- apiGroups:
  - ""
  resources:
  - configmaps
  verbs:
  - get
  - list
  - watch
  - create
  - update
  - patch
  - delete
- apiGroups:
  - coordination.k8s.io
  resources:
  - leases
  verbs:
  - get
  - list
  - watch
  - create
  - update
  - patch
  - delete
- apiGroups:
  - ""
  resources:
  - events
  verbs:
  - create
  - patch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-core-agent-editor-role
rules:
- apiGroups:
  - core.resiliency.io
  resources:
  - agents
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - core.resiliency.io
  resources:
  - agents/status
  verbs:
  - get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-core-agent-viewer-role
rules:
- apiGroups:
  - core.resiliency.io
  resources:
  - agents
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - core.resiliency.io
  resources:
  - agents/status
  verbs:
  - get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-instance-editor-role
rules:
- apiGroups:
  - core.resiliency.io
  resources:
  - instances
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - core.resiliency.io
  resources:
  - instances/status
  verbs:
  - get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-instance-viewer-role
rules:
- apiGroups:
  - core.resiliency.io
  resources:
  - instances
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - core.resiliency.io
  resources:
  - instances/status
  verbs:
  - get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-inventory-asset-editor-role
rules:
- apiGroups:
  - inventory.resiliency.io
  resources:
  - assets
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - inventory.resiliency.io
  resources:
  - assets/status
  verbs:
  - get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-inventory-asset-viewer-role
rules:
- apiGroups:
  - inventory.resiliency.io
  resources:
  - assets
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - inventory.resiliency.io
  resources:
  - assets/status
  verbs:
  - get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-manager-role
rules:
- apiGroups:
  - ""
  resources:
  - namespaces
  - pods/log
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - ""
  resources:
  - persistentvolumeclaims
  - pods
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - apps
  resources:
  - deployments
  - statefulsets
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - argoproj.io
  resources:
  - cronworkflows
  - workflowtaskresults
  - workflowtemplates
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - batch
  resources:
  - cronjobs
  - jobs
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - ""
  resources:
  - configmaps
  - pods
  - secrets
  - serviceaccounts
  - services
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - core.resiliency.io
  resources:
  - agents
  - instances
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - core.resiliency.io
  resources:
  - agents/finalizers
  - instances/finalizers
  verbs:
  - update
- apiGroups:
  - core.resiliency.io
  resources:
  - agents/status
  - instances/status
  verbs:
  - get
  - patch
  - update
- apiGroups:
  - inventory.resiliency.io
  resources:
  - assets
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - inventory.resiliency.io
  resources:
  - assets/finalizers
  verbs:
  - update
- apiGroups:
  - inventory.resiliency.io
  resources:
  - assets/status
  verbs:
  - get
  - patch
  - update
- apiGroups:
  - monitoring.coreos.com
  resources:
  - servicemonitors
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - networking.k8s.io
  resources:
  - ingresses
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - operations.resiliency.io
  resources:
  - artifacts
  - policies
  - policytemplates
  - tasks
  - tasktemplates
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - operations.resiliency.io
  resources:
  - artifacts/finalizers
  - policies/finalizers
  - policytemplates/finalizers
  - tasks/finalizers
  - tasktemplates/finalizers
  verbs:
  - update
- apiGroups:
  - operations.resiliency.io
  resources:
  - artifacts/status
  - policies/status
  - policytemplates/status
  - tasks/status
  - tasktemplates/status
  verbs:
  - get
  - patch
  - update
- apiGroups:
  - rbac.authorization.k8s.io
  resources:
  - clusterrolebindings
  - clusterroles
  - rolebindings
  - roles
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - route.openshift.io
  resources:
  - routes
  - routes/custom-host
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-metrics-auth-role
rules:
- apiGroups:
  - authentication.k8s.io
  resources:
  - tokenreviews
  verbs:
  - create
- apiGroups:
  - authorization.k8s.io
  resources:
  - subjectaccessreviews
  verbs:
  - create
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-metrics-reader
rules:
- nonResourceURLs:
  - /metrics
  verbs:
  - get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-operations-artifact-editor-role
rules:
- apiGroups:
  - operations.resiliency.io
  resources:
  - artifacts
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - operations.resiliency.io
  resources:
  - artifacts/status
  verbs:
  - get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-operations-artifact-viewer-role
rules:
- apiGroups:
  - operations.resiliency.io
  resources:
  - artifacts
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - operations.resiliency.io
  resources:
  - artifacts/status
  verbs:
  - get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-operations-policy-editor-role
rules:
- apiGroups:
  - operations.resiliency.io
  resources:
  - policies
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - operations.resiliency.io
  resources:
  - policies/status
  verbs:
  - get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-operations-policy-viewer-role
rules:
- apiGroups:
  - operations.resiliency.io
  resources:
  - policies
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - operations.resiliency.io
  resources:
  - policies/status
  verbs:
  - get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-operations-policytemplate-editor-role
rules:
- apiGroups:
  - operations.resiliency.io
  resources:
  - policytemplates
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - operations.resiliency.io
  resources:
  - policytemplates/status
  verbs:
  - get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-operations-policytemplate-viewer-role
rules:
- apiGroups:
  - operations.resiliency.io
  resources:
  - policytemplates
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - operations.resiliency.io
  resources:
  - policytemplates/status
  verbs:
  - get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-operations-task-editor-role
rules:
- apiGroups:
  - operations.resiliency.io
  resources:
  - tasks
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - operations.resiliency.io
  resources:
  - tasks/status
  verbs:
  - get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-operations-task-viewer-role
rules:
- apiGroups:
  - operations.resiliency.io
  resources:
  - tasks
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - operations.resiliency.io
  resources:
  - tasks/status
  verbs:
  - get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-operations-tasktemplate-editor-role
rules:
- apiGroups:
  - operations.resiliency.io
  resources:
  - tasktemplates
  verbs:
  - create
  - delete
  - get
  - list
  - patch
  - update
  - watch
- apiGroups:
  - operations.resiliency.io
  resources:
  - tasktemplates/status
  verbs:
  - get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRole
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-operations-tasktemplate-viewer-role
rules:
- apiGroups:
  - operations.resiliency.io
  resources:
  - tasktemplates
  verbs:
  - get
  - list
  - watch
- apiGroups:
  - operations.resiliency.io
  resources:
  - tasktemplates/status
  verbs:
  - get
---
apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-leader-election-rolebinding
  namespace: resiliency-system
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: Role
  name: resiliency-io-leader-election-role
subjects:
- kind: ServiceAccount
  name: resiliency-io-controller-manager
  namespace: resiliency-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-manager-rolebinding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: resiliency-io-manager-role
subjects:
- kind: ServiceAccount
  name: resiliency-io-controller-manager
  namespace: resiliency-system
---
apiVersion: rbac.authorization.k8s.io/v1
kind: ClusterRoleBinding
metadata:
  labels:
    app.kubernetes.io/name: resiliency-io
  name: resiliency-io-metrics-auth-rolebinding
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: resiliency-io-metrics-auth-role
subjects:
- kind: ServiceAccount
  name: resiliency-io-controller-manager
  namespace: resiliency-system
---
apiVersion: v1
kind: Service
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
    control-plane: controller-manager
  name: resiliency-io-controller-manager-metrics-service
  namespace: resiliency-system
spec:
  ports:
  - name: https
    port: 8443
    protocol: TCP
    targetPort: 8443
  selector:
    app.kubernetes.io/name: resiliency-io
    control-plane: controller-manager
---
apiVersion: apps/v1
kind: Deployment
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
    control-plane: controller-manager
  name: resiliency-io-controller-manager
  namespace: resiliency-system
spec:
  replicas: 1
  selector:
    matchLabels:
      app.kubernetes.io/name: resiliency-io
      control-plane: controller-manager
  template:
    metadata:
      annotations:
        kubectl.kubernetes.io/default-container: manager
      labels:
        app.kubernetes.io/name: resiliency-io
        control-plane: controller-manager
    spec:
      containers:
      - args:
        - --metrics-bind-address=:8443
        - --leader-elect
        - --health-probe-bind-address=:8081
        command:
        - /manager
        env:
        - name: OPERATOR_NAMESPACE
          valueFrom:
            fieldRef:
              fieldPath: metadata.namespace
        - name: RESILIENCY_LICENSE
          valueFrom:
            secretKeyRef:
              key: license.json
              name: resiliency-io-license
        image: quay.io/resiliency-dev/operator:v1.4.15-rc1
        livenessProbe:
          httpGet:
            path: /healthz
            port: 8081
          initialDelaySeconds: 15
          periodSeconds: 20
        name: manager
        readinessProbe:
          httpGet:
            path: /readyz
            port: 8081
          initialDelaySeconds: 5
          periodSeconds: 10
        resources:
          limits:
            cpu: 500m
            memory: 512Mi
          requests:
            cpu: 10m
            memory: 64Mi
        securityContext:
          allowPrivilegeEscalation: false
          capabilities:
            drop:
            - ALL
      imagePullSecrets:
      - name: resiliency-io-pull-secret
      securityContext:
        runAsNonRoot: true
      serviceAccountName: resiliency-io-controller-manager
      terminationGracePeriodSeconds: 10
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
  labels:
    app.kubernetes.io/managed-by: kustomize
    app.kubernetes.io/name: resiliency-io
    control-plane: controller-manager
  name: resiliency-io-controller-manager-metrics-monitor
  namespace: resiliency-system
spec:
  endpoints:
  - bearerTokenFile: /var/run/secrets/kubernetes.io/serviceaccount/token
    path: /metrics
    port: https
    scheme: https
    tlsConfig:
      insecureSkipVerify: true
  selector:
    matchLabels:
      app.kubernetes.io/name: resiliency-io
      control-plane: controller-manager
