---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
  name: ephemerons.qualified.io
spec:
  group: qualified.io
  names:
    categories: []
    kind: Ephemeron
    plural: ephemerons
    shortNames:
      - eph
      - ephs
    singular: ephemeron
  scope: Cluster
  versions:
    - additionalPrinterColumns: []
      name: v1alpha1
      schema:
        openAPIV3Schema:
          description: "Auto-generated derived type for EphemeronSpec via `CustomResource`"
          properties:
            spec:
              properties:
                expirationTime:
                  description: The date and time to kill this service on.
                  format: date-time
                  type: string
                service:
                  description: The service to create.
                  properties:
                    command:
                      description: Optionally specify the command to use.
                      items:
                        type: string
                      nullable: true
                      type: array
                    env:
                      description: List of environment variables to set in the container.
                      items:
                        description: "`k8s_openapi::api::core::v1::EnvVar` minus `value_from`."
                        properties:
                          name:
                            description: Name of the environment variable.
                            type: string
                          value:
                            description: "Value of the environment variable. Defaults to \"\"."
                            nullable: true
                            type: string
                        required:
                          - name
                        type: object
                      nullable: true
                      type: array
                    image:
                      description: The image to use.
                      type: string
                    imagePullPolicy:
                      description: "Image pull policy. One of Always, Never, IfNotPresent."
                      nullable: true
                      type: string
                    ingressAnnotations:
                      additionalProperties:
                        type: string
                      description: Ingress annotations.
                      type: object
                    podLabels:
                      additionalProperties:
                        type: string
                      description: Additional labels to add to the Pod.
                      type: object
                    port:
                      description: The port to use.
                      maximum: 65535.0
                      minimum: 1.0
                      type: integer
                    readinessProbe:
                      description: Probe to tell when the service is ready to accept traffic.
                      nullable: true
                      properties:
                        initialDelaySeconds:
                          description: Number of seconds after the container has started before probes are initiated.
                          format: int32
                          nullable: true
                          type: integer
                        path:
                          description: Path to make a request to.
                          type: string
                        periodSeconds:
                          description: How often (in seconds) to perform the probe. Default to 10 seconds. Minimum value is 1.
                          format: int32
                          nullable: true
                          type: integer
                        timeoutSeconds:
                          description: Number of seconds after which the probe times out. Defaults to 1 second. Minimum value is 1.
                          format: int32
                          nullable: true
                          type: integer
                      required:
                        - path
                      type: object
                    resources:
                      description: Compute Resources required by this container.
                      nullable: true
                      properties:
                        limits:
                          additionalProperties:
                            description: "Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors.\n\nThe serialization format is:\n\n<quantity>        ::= <signedNumber><suffix>\n  (Note that <suffix> may be empty, from the \"\" case in <decimalSI>.)\n<digit>           ::= 0 | 1 | ... | 9 <digits>          ::= <digit> | <digit><digits> <number>          ::= <digits> | <digits>.<digits> | <digits>. | .<digits> <sign>            ::= \"+\" | \"-\" <signedNumber>    ::= <number> | <sign><number> <suffix>          ::= <binarySI> | <decimalExponent> | <decimalSI> <binarySI>        ::= Ki | Mi | Gi | Ti | Pi | Ei\n  (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html)\n<decimalSI>       ::= m | \"\" | k | M | G | T | P | E\n  (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.)\n<decimalExponent> ::= \"e\" <signedNumber> | \"E\" <signedNumber>\n\nNo matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities.\n\nWhen a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized.\n\nBefore serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that:\n  a. No precision is lost\n  b. No fractional digits will be emitted\n  c. The exponent (or suffix) is as large as possible.\nThe sign will be omitted unless the number is negative.\n\nExamples:\n  1.5 will be serialized as \"1500m\"\n  1.5Gi will be serialized as \"1536Mi\"\n\nNote that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise.\n\nNon-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.)\n\nThis format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation."
                            type: string
                          description: "Limits describes the maximum amount of compute resources allowed. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/"
                          type: object
                        requests:
                          additionalProperties:
                            description: "Quantity is a fixed-point representation of a number. It provides convenient marshaling/unmarshaling in JSON and YAML, in addition to String() and AsInt64() accessors.\n\nThe serialization format is:\n\n<quantity>        ::= <signedNumber><suffix>\n  (Note that <suffix> may be empty, from the \"\" case in <decimalSI>.)\n<digit>           ::= 0 | 1 | ... | 9 <digits>          ::= <digit> | <digit><digits> <number>          ::= <digits> | <digits>.<digits> | <digits>. | .<digits> <sign>            ::= \"+\" | \"-\" <signedNumber>    ::= <number> | <sign><number> <suffix>          ::= <binarySI> | <decimalExponent> | <decimalSI> <binarySI>        ::= Ki | Mi | Gi | Ti | Pi | Ei\n  (International System of units; See: http://physics.nist.gov/cuu/Units/binary.html)\n<decimalSI>       ::= m | \"\" | k | M | G | T | P | E\n  (Note that 1024 = 1Ki but 1000 = 1k; I didn't choose the capitalization.)\n<decimalExponent> ::= \"e\" <signedNumber> | \"E\" <signedNumber>\n\nNo matter which of the three exponent forms is used, no quantity may represent a number greater than 2^63-1 in magnitude, nor may it have more than 3 decimal places. Numbers larger or more precise will be capped or rounded up. (E.g.: 0.1m will rounded up to 1m.) This may be extended in the future if we require larger or smaller quantities.\n\nWhen a Quantity is parsed from a string, it will remember the type of suffix it had, and will use the same type again when it is serialized.\n\nBefore serializing, Quantity will be put in \"canonical form\". This means that Exponent/suffix will be adjusted up or down (with a corresponding increase or decrease in Mantissa) such that:\n  a. No precision is lost\n  b. No fractional digits will be emitted\n  c. The exponent (or suffix) is as large as possible.\nThe sign will be omitted unless the number is negative.\n\nExamples:\n  1.5 will be serialized as \"1500m\"\n  1.5Gi will be serialized as \"1536Mi\"\n\nNote that the quantity will NEVER be internally represented by a floating point number. That is the whole point of this exercise.\n\nNon-canonical values will still parse as long as they are well formed, but will be re-emitted in their canonical form. (So always use canonical form, or don't diff.)\n\nThis format is intended to make it difficult to use these numbers without writing some sort of special handling code in the hopes that that will cause implementors to also use a fixed point implementation."
                            type: string
                          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. More info: https://kubernetes.io/docs/concepts/configuration/manage-compute-resources-container/"
                          type: object
                      type: object
                    tlsSecretName:
                      description: The name of the TLS secret.
                      nullable: true
                      type: string
                    workingDir:
                      description: The directory to run command in.
                      nullable: true
                      type: string
                  required:
                    - image
                    - port
                  type: object
              required:
                - expirationTime
                - service
              type: object
            status:
              nullable: true
              properties:
                conditions:
                  items:
                    properties:
                      lastTransitionTime:
                        description: Last time the condition transitioned from one status to another.
                        format: date-time
                        type: string
                      status:
                        default: Unknown
                        description: Status of the condition.
                        enum:
                          - Unknown
                          - "True"
                          - "False"
                        type: string
                      type:
                        description: Type of condition.
                        pattern: "^([A-Za-z0-9][-A-Za-z0-9_.]*)?[A-Za-z0-9]$"
                        type: string
                    required:
                      - lastTransitionTime
                      - status
                      - type
                    type: object
                  type: array
                  x-kubernetes-list-map-keys:
                    - type
                  x-kubernetes-list-type: map
                observedGeneration:
                  description: The last reconciled generation.
                  format: int64
                  minimum: 0.0
                  type: integer
              required:
                - observedGeneration
              type: object
          required:
            - spec
          title: Ephemeron
          type: object
      served: true
      storage: true
      subresources:
        status: {}

