ambassador-operator-crds.yaml 8.2 KB
Newer Older
S
Shubham 已提交
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186
apiVersion: apiextensions.k8s.io/v1beta1
kind: CustomResourceDefinition
metadata:
  name: ambassadorinstallations.getambassador.io
spec:
  additionalPrinterColumns:
  - JSONPath: .spec.version
    name: VERSION
    type: string
  - JSONPath: .spec.updateWindow
    name: UPDATE-WINDOW
    type: integer
  - JSONPath: .status.lastCheckTime
    description: Last time checked
    name: LAST-CHECK
    type: string
  - JSONPath: .status.conditions[?(@.type=='Deployed')].status
    description: Indicates if deployment has completed
    name: DEPLOYED
    type: string
  - JSONPath: .status.conditions[?(@.type=='Deployed')].reason
    description: Reason for deployment completed
    name: REASON
    priority: 1
    type: string
  - JSONPath: .status.conditions[?(@.type=='Deployed')].message
    description: Message for deployment completed
    name: MESSAGE
    priority: 1
    type: string
  - JSONPath: .status.deployedRelease.appVersion
    description: Deployed version of Ambassador
    name: DEPLOYED-VERSION
    type: string
  - JSONPath: .status.deployedRelease.flavor
    description: Deployed flavor of Ambassador (OSS or AES)
    name: DEPLOYED-FLAVOR
    type: string
  group: getambassador.io
  names:
    kind: AmbassadorInstallation
    listKind: AmbassadorInstallationList
    plural: ambassadorinstallations
    singular: ambassadorinstallation
  scope: Namespaced
  subresources:
    status: {}
  validation:
    openAPIV3Schema:
      description: AmbassadorInstallation is the Schema for the ambassadorinstallations
        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: AmbassadorInstallationSpec defines the desired state of AmbassadorInstallation
          properties:
            baseImage:
              description: An (optional) image to use instead of the image specified
                in the Helm chart.
              type: string
            helmRepo:
              description: An (optional) Helm repository.
              type: string
            installOSS:
              description: 'Installs [Ambassador OSS](https://www.getambassador.io/docs/latest/topics/install/install-ambassador-oss/)
                instead of [AES](https://www.getambassador.io/docs/latest/topics/install/).
                Default is false which means it installs AES by default. TODO: 1.
                AES/AOSS is not installed and the user installs using `installOSS:
                true`, then we straightaway install AOSS. 2. AOSS is installed via
                operator and the user sets `installOSS: false`, then we perform the
                migration as    detailed here - https://www.getambassador.io/docs/latest/topics/install/upgrade-to-edge-stack/
                3. AES is installed and the user sets `installOSS: true`, then we
                point users to the docs which gives them    pointers on how to do
                that themselves.'
              type: boolean
            logLevel:
              description: 'An (optional) log level: debug, info...'
              enum:
              - info
              - debug
              - warn
              - warning
              - error
              - critical
              - fatal
              type: string
            updateWindow:
              description: "`updateWindow` is an optional item that will control when
                the updates can take place. This is used to force system updates to
                happen late at night if that’s what the sysadmins want. \n  * There
                can be any number of `updateWindow` entries (separated by commas).
                \ * `Never` turns off automatic updates even if there are other entries
                in the    comma-separated list. `Never` is used by sysadmins to disable
                all updates    during blackout periods by doing a `kubectl apply`
                or using our Edge Policy    Console to set this. * Each `updateWindow`
                is in crontab format (see https://crontab.guru/)   Some examples of
                `updateWindows` are:    - `* 0-6 * * * SUN`: every Sunday, from _0am_
                to _6am_    - `* 5 1 * * *`: every first day of the month, at _5am_
                * The Operator cannot guarantee minute time granularity, so specifying
                \  a minute in the crontab expression can lead to some updates happening
                \  sooner/later than expected."
              type: string
            version:
              description: "We are using SemVer for the version number and it can
                be specified with any level of precision and can optionally end in
                `*`. These are interpreted as: \n * `1.0` = exactly version 1.0 *
                `1.1` = exactly version 1.1 * `1.1.*` = version 1.1 and any bug fix
                versions `1.1.1`, `1.1.2`, `1.1.3`, etc. * `2.*` = version 2.0 and
                any incremental and bug fix versions `2.0`, `2.0.1`,   `2.0.2`, `2.1`,
                `2.2`, `2.2.1`, etc. * `*` = all versions. * `3.0-ea` = version `3.0-ea1`
                and any subsequent EA releases on `3.0`.   Also selects the final
                3.0 once the final GA version is released. * `4.*-ea` = version `4.0-ea1`
                and any subsequent EA release on `4.0`.   Also selects the final GA
                `4.0`. Also selects any incremental and bug   fix versions `4.*` and
                `4.*.*`. Also selects the most recent `4.*` EA release   i.e., if
                `4.0.5` is the last GA version and there is a `4.1-EA3`, then this
                \  selects `4.1-EA3` over the `4.0.5` GA. \n   You can find the reference
                docs about the SemVer syntax accepted   [here](https://github.com/Masterminds/semver#basic-comparisons)."
              type: string
          type: object
        status:
          description: AmbassadorInstallationStatus defines the observed state of
            AmbassadorInstallation
          properties:
            conditions:
              description: List of conditions the installation has experienced.
              items:
                description: AmbInsCondition defines an Ambassador installation condition,
                  as well as the last time there was a transition to this condition..
                properties:
                  lastTransitionTime:
                    format: date-time
                    type: string
                  message:
                    type: string
                  reason:
                    type: string
                  status:
                    type: string
                  type:
                    type: string
                required:
                - status
                - type
                type: object
              type: array
            deployedRelease:
              description: the currently deployed Helm chart
              nullable: true
              properties:
                appVersion:
                  type: string
                flavor:
                  type: string
                manifest:
                  type: string
                name:
                  type: string
                version:
                  type: string
              type: object
            lastCheckTime:
              description: Last time a successful update check was performed.
              format: date-time
              nullable: true
              type: string
          required:
          - conditions
          type: object
      type: object
  version: v2
  versions:
  - name: v2
    served: true
    storage: true