github.com/oam-dev/kubevela@v1.9.11/e2e/addon/mock/testdata/fluxcd/resources/crds/kustomize.yaml (about)

     1  apiVersion: apiextensions.k8s.io/v1
     2  kind: CustomResourceDefinition
     3  metadata:
     4    annotations:
     5      controller-gen.kubebuilder.io/version: v0.5.0
     6    labels:
     7      app.kubernetes.io/instance: flux-system
     8    name: kustomizations.kustomize.toolkit.fluxcd.io
     9  spec:
    10    group: kustomize.toolkit.fluxcd.io
    11    names:
    12      kind: Kustomization
    13      listKind: KustomizationList
    14      plural: kustomizations
    15      shortNames:
    16        - ks
    17      singular: kustomization
    18    scope: Namespaced
    19    versions:
    20      - additionalPrinterColumns:
    21          - jsonPath: .status.conditions[?(@.type=="Ready")].status
    22            name: Ready
    23            type: string
    24          - jsonPath: .status.conditions[?(@.type=="Ready")].message
    25            name: Status
    26            type: string
    27          - jsonPath: .metadata.creationTimestamp
    28            name: Age
    29            type: date
    30        name: v1beta1
    31        schema:
    32          openAPIV3Schema:
    33            description: Kustomization is the Schema for the kustomizations API.
    34            properties:
    35              apiVersion:
    36                description: 'APIVersion defines the versioned schema of this representation
    37                of an object. Servers should convert recognized schemas to the latest
    38                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    39                type: string
    40              kind:
    41                description: 'Kind is a string value representing the REST resource this
    42                object represents. Servers may infer this from the endpoint the client
    43                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    44                type: string
    45              metadata:
    46                type: object
    47              spec:
    48                description: KustomizationSpec defines the desired state of a kustomization.
    49                properties:
    50                  decryption:
    51                    description: Decrypt Kubernetes secrets before applying them on the
    52                      cluster.
    53                    properties:
    54                      provider:
    55                        description: Provider is the name of the decryption engine.
    56                        enum:
    57                          - sops
    58                        type: string
    59                      secretRef:
    60                        description: The secret name containing the private OpenPGP keys
    61                          used for decryption.
    62                        properties:
    63                          name:
    64                            description: Name of the referent
    65                            type: string
    66                        required:
    67                          - name
    68                        type: object
    69                    required:
    70                      - provider
    71                    type: object
    72                  dependsOn:
    73                    description: DependsOn may contain a dependency.CrossNamespaceDependencyReference
    74                      slice with references to Kustomization resources that must be ready
    75                      before this Kustomization can be reconciled.
    76                    items:
    77                      description: CrossNamespaceDependencyReference holds the reference
    78                        to a dependency.
    79                      properties:
    80                        name:
    81                          description: Name holds the name reference of a dependency.
    82                          type: string
    83                        namespace:
    84                          description: Namespace holds the namespace reference of a dependency.
    85                          type: string
    86                      required:
    87                        - name
    88                      type: object
    89                    type: array
    90                  force:
    91                    default: false
    92                    description: Force instructs the controller to recreate resources
    93                      when patching fails due to an immutable field change.
    94                    type: boolean
    95                  healthChecks:
    96                    description: A list of resources to be included in the health assessment.
    97                    items:
    98                      description: NamespacedObjectKindReference contains enough information
    99                        to let you locate the typed referenced object in any namespace
   100                      properties:
   101                        apiVersion:
   102                          description: API version of the referent, if not specified the
   103                            Kubernetes preferred version will be used
   104                          type: string
   105                        kind:
   106                          description: Kind of the referent
   107                          type: string
   108                        name:
   109                          description: Name of the referent
   110                          type: string
   111                        namespace:
   112                          description: Namespace of the referent, when not specified it
   113                            acts as LocalObjectReference
   114                          type: string
   115                      required:
   116                        - kind
   117                        - name
   118                      type: object
   119                    type: array
   120                  images:
   121                    description: Images is a list of (image name, new name, new tag or
   122                      digest) for changing image names, tags or digests. This can also
   123                      be achieved with a patch, but this operator is simpler to specify.
   124                    items:
   125                      description: Image contains an image name, a new name, a new tag
   126                        or digest, which will replace the original name and tag.
   127                      properties:
   128                        digest:
   129                          description: Digest is the value used to replace the original
   130                            image tag. If digest is present NewTag value is ignored.
   131                          type: string
   132                        name:
   133                          description: Name is a tag-less image name.
   134                          type: string
   135                        newName:
   136                          description: NewName is the value used to replace the original
   137                            name.
   138                          type: string
   139                        newTag:
   140                          description: NewTag is the value used to replace the original
   141                            tag.
   142                          type: string
   143                      required:
   144                        - name
   145                      type: object
   146                    type: array
   147                  interval:
   148                    description: The interval at which to reconcile the Kustomization.
   149                    type: string
   150                  kubeConfig:
   151                    description: The KubeConfig for reconciling the Kustomization on a
   152                      remote cluster. When specified, KubeConfig takes precedence over
   153                      ServiceAccountName.
   154                    properties:
   155                      secretRef:
   156                        description: SecretRef holds the name to a secret that contains
   157                          a 'value' key with the kubeconfig file as the value. It must
   158                          be in the same namespace as the Kustomization. It is recommended
   159                          that the kubeconfig is self-contained, and the secret is regularly
   160                          updated if credentials such as a cloud-access-token expire.
   161                          Cloud specific `cmd-path` auth helpers will not function without
   162                          adding binaries and credentials to the Pod that is responsible
   163                          for reconciling the Kustomization.
   164                        properties:
   165                          name:
   166                            description: Name of the referent
   167                            type: string
   168                        required:
   169                          - name
   170                        type: object
   171                    type: object
   172                  patches:
   173                    description: Strategic merge and JSON patches, defined as inline YAML
   174                      objects, capable of targeting objects based on kind, label and annotation
   175                      selectors.
   176                    items:
   177                      description: Patch contains either a StrategicMerge or a JSON6902
   178                        patch, either a file or inline, and the target the patch should
   179                        be applied to.
   180                      properties:
   181                        patch:
   182                          description: Patch contains the JSON6902 patch document with
   183                            an array of operation objects.
   184                          type: string
   185                        target:
   186                          description: Target points to the resources that the patch document
   187                            should be applied to.
   188                          properties:
   189                            annotationSelector:
   190                              description: AnnotationSelector is a string that follows
   191                                the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
   192                                It matches with the resource annotations.
   193                              type: string
   194                            group:
   195                              description: Group is the API group to select resources
   196                                from. Together with Version and Kind it is capable of
   197                                unambiguously identifying and/or selecting resources.
   198                                https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
   199                              type: string
   200                            kind:
   201                              description: Kind of the API Group to select resources from.
   202                                Together with Group and Version it is capable of unambiguously
   203                                identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
   204                              type: string
   205                            labelSelector:
   206                              description: LabelSelector is a string that follows the
   207                                label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
   208                                It matches with the resource labels.
   209                              type: string
   210                            name:
   211                              description: Name to match resources with.
   212                              type: string
   213                            namespace:
   214                              description: Namespace to select resources from.
   215                              type: string
   216                            version:
   217                              description: Version of the API Group to select resources
   218                                from. Together with Group and Kind it is capable of unambiguously
   219                                identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
   220                              type: string
   221                          type: object
   222                      type: object
   223                    type: array
   224                  patchesJson6902:
   225                    description: JSON 6902 patches, defined as inline YAML objects.
   226                    items:
   227                      description: JSON6902Patch contains a JSON6902 patch and the target
   228                        the patch should be applied to.
   229                      properties:
   230                        patch:
   231                          description: Patch contains the JSON6902 patch document with
   232                            an array of operation objects.
   233                          items:
   234                            description: JSON6902 is a JSON6902 operation object. https://tools.ietf.org/html/rfc6902#section-4
   235                            properties:
   236                              from:
   237                                type: string
   238                              op:
   239                                enum:
   240                                  - test
   241                                  - remove
   242                                  - add
   243                                  - replace
   244                                  - move
   245                                  - copy
   246                                type: string
   247                              path:
   248                                type: string
   249                              value:
   250                                x-kubernetes-preserve-unknown-fields: true
   251                            required:
   252                              - op
   253                              - path
   254                            type: object
   255                          type: array
   256                        target:
   257                          description: Target points to the resources that the patch document
   258                            should be applied to.
   259                          properties:
   260                            annotationSelector:
   261                              description: AnnotationSelector is a string that follows
   262                                the label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
   263                                It matches with the resource annotations.
   264                              type: string
   265                            group:
   266                              description: Group is the API group to select resources
   267                                from. Together with Version and Kind it is capable of
   268                                unambiguously identifying and/or selecting resources.
   269                                https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
   270                              type: string
   271                            kind:
   272                              description: Kind of the API Group to select resources from.
   273                                Together with Group and Version it is capable of unambiguously
   274                                identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
   275                              type: string
   276                            labelSelector:
   277                              description: LabelSelector is a string that follows the
   278                                label selection expression https://kubernetes.io/docs/concepts/overview/working-with-objects/labels/#api
   279                                It matches with the resource labels.
   280                              type: string
   281                            name:
   282                              description: Name to match resources with.
   283                              type: string
   284                            namespace:
   285                              description: Namespace to select resources from.
   286                              type: string
   287                            version:
   288                              description: Version of the API Group to select resources
   289                                from. Together with Group and Kind it is capable of unambiguously
   290                                identifying and/or selecting resources. https://github.com/kubernetes/community/blob/master/contributors/design-proposals/api-machinery/api-group.md
   291                              type: string
   292                          type: object
   293                      required:
   294                        - patch
   295                        - target
   296                      type: object
   297                    type: array
   298                  patchesStrategicMerge:
   299                    description: Strategic merge patches, defined as inline YAML objects.
   300                    items:
   301                      x-kubernetes-preserve-unknown-fields: true
   302                    type: array
   303                  path:
   304                    description: Path to the directory containing the kustomization.yaml
   305                      file, or the set of plain YAMLs a kustomization.yaml should be generated
   306                      for. Defaults to 'None', which translates to the root path of the
   307                      SourceRef.
   308                    type: string
   309                  postBuild:
   310                    description: PostBuild describes which actions to perform on the YAML
   311                      manifest generated by building the kustomize overlay.
   312                    properties:
   313                      substitute:
   314                        additionalProperties:
   315                          type: string
   316                        description: Substitute holds a map of key/value pairs. The variables
   317                          defined in your YAML manifests that match any of the keys defined
   318                          in the map will be substituted with the set value. Includes
   319                          support for bash string replacement functions e.g. ${var:=default},
   320                          ${var:position} and ${var/substring/replacement}.
   321                        type: object
   322                      substituteFrom:
   323                        description: SubstituteFrom holds references to ConfigMaps and
   324                          Secrets containing the variables and their values to be substituted
   325                          in the YAML manifests. The ConfigMap and the Secret data keys
   326                          represent the var names and they must match the vars declared
   327                          in the manifests for the substitution to happen.
   328                        items:
   329                          description: SubstituteReference contains a reference to a resource
   330                            containing the variables name and value.
   331                          properties:
   332                            kind:
   333                              description: Kind of the values referent, valid values are
   334                                ('Secret', 'ConfigMap').
   335                              enum:
   336                                - Secret
   337                                - ConfigMap
   338                              type: string
   339                            name:
   340                              description: Name of the values referent. Should reside
   341                                in the same namespace as the referring resource.
   342                              maxLength: 253
   343                              minLength: 1
   344                              type: string
   345                          required:
   346                            - kind
   347                            - name
   348                          type: object
   349                        type: array
   350                    type: object
   351                  prune:
   352                    description: Prune enables garbage collection.
   353                    type: boolean
   354                  retryInterval:
   355                    description: The interval at which to retry a previously failed reconciliation.
   356                      When not specified, the controller uses the KustomizationSpec.Interval
   357                      value to retry failures.
   358                    type: string
   359                  serviceAccountName:
   360                    description: The name of the Kubernetes service account to impersonate
   361                      when reconciling this Kustomization.
   362                    type: string
   363                  sourceRef:
   364                    description: Reference of the source where the kustomization file
   365                      is.
   366                    properties:
   367                      apiVersion:
   368                        description: API version of the referent
   369                        type: string
   370                      kind:
   371                        description: Kind of the referent
   372                        enum:
   373                          - GitRepository
   374                          - Bucket
   375                        type: string
   376                      name:
   377                        description: Name of the referent
   378                        type: string
   379                      namespace:
   380                        description: Namespace of the referent, defaults to the Kustomization
   381                          namespace
   382                        type: string
   383                    required:
   384                      - kind
   385                      - name
   386                    type: object
   387                  suspend:
   388                    description: This flag tells the controller to suspend subsequent
   389                      kustomize executions, it does not apply to already started executions.
   390                      Defaults to false.
   391                    type: boolean
   392                  targetNamespace:
   393                    description: TargetNamespace sets or overrides the namespace in the
   394                      kustomization.yaml file.
   395                    maxLength: 63
   396                    minLength: 1
   397                    type: string
   398                  timeout:
   399                    description: Timeout for validation, apply and health checking operations.
   400                      Defaults to 'Interval' duration.
   401                    type: string
   402                  validation:
   403                    description: Validate the Kubernetes objects before applying them
   404                      on the cluster. The validation strategy can be 'client' (local dry-run),
   405                      'server' (APIServer dry-run) or 'none'. When 'Force' is 'true',
   406                      validation will fallback to 'client' if set to 'server' because
   407                      server-side validation is not supported in this scenario.
   408                    enum:
   409                      - none
   410                      - client
   411                      - server
   412                    type: string
   413                required:
   414                  - interval
   415                  - prune
   416                  - sourceRef
   417                type: object
   418              status:
   419                description: KustomizationStatus defines the observed state of a kustomization.
   420                properties:
   421                  conditions:
   422                    items:
   423                      description: "Condition contains details for one aspect of the current
   424                      state of this API Resource. --- This struct is intended for direct
   425                      use as an array at the field path .status.conditions.  For example,
   426                      type FooStatus struct{     // Represents the observations of a
   427                      foo's current state.     // Known .status.conditions.type are:
   428                      \"Available\", \"Progressing\", and \"Degraded\"     // +patchMergeKey=type
   429                      \    // +patchStrategy=merge     // +listType=map     // +listMapKey=type
   430                      \    Conditions []metav1.Condition `json:\"conditions,omitempty\"
   431                      patchStrategy:\"merge\" patchMergeKey:\"type\" protobuf:\"bytes,1,rep,name=conditions\"`
   432                      \n     // other fields }"
   433                      properties:
   434                        lastTransitionTime:
   435                          description: lastTransitionTime is the last time the condition
   436                            transitioned from one status to another. This should be when
   437                            the underlying condition changed.  If that is not known, then
   438                            using the time when the API field changed is acceptable.
   439                          format: date-time
   440                          type: string
   441                        message:
   442                          description: message is a human readable message indicating
   443                            details about the transition. This may be an empty string.
   444                          maxLength: 32768
   445                          type: string
   446                        observedGeneration:
   447                          description: observedGeneration represents the .metadata.generation
   448                            that the condition was set based upon. For instance, if .metadata.generation
   449                            is currently 12, but the .status.conditions[x].observedGeneration
   450                            is 9, the condition is out of date with respect to the current
   451                            state of the instance.
   452                          format: int64
   453                          minimum: 0
   454                          type: integer
   455                        reason:
   456                          description: reason contains a programmatic identifier indicating
   457                            the reason for the condition's last transition. Producers
   458                            of specific condition types may define expected values and
   459                            meanings for this field, and whether the values are considered
   460                            a guaranteed API. The value should be a CamelCase string.
   461                            This field may not be empty.
   462                          maxLength: 1024
   463                          minLength: 1
   464                          pattern: ^[A-Za-z]([A-Za-z0-9_,:]*[A-Za-z0-9_])?$
   465                          type: string
   466                        status:
   467                          description: status of the condition, one of True, False, Unknown.
   468                          enum:
   469                            - "True"
   470                            - "False"
   471                            - Unknown
   472                          type: string
   473                        type:
   474                          description: type of condition in CamelCase or in foo.example.com/CamelCase.
   475                            --- Many .condition.type values are consistent across resources
   476                            like Available, but because arbitrary conditions can be useful
   477                            (see .node.status.conditions), the ability to deconflict is
   478                            important. The regex it matches is (dns1123SubdomainFmt/)?(qualifiedNameFmt)
   479                          maxLength: 316
   480                          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])$
   481                          type: string
   482                      required:
   483                        - lastTransitionTime
   484                        - message
   485                        - reason
   486                        - status
   487                        - type
   488                      type: object
   489                    type: array
   490                  lastAppliedRevision:
   491                    description: The last successfully applied revision. The revision
   492                      format for Git sources is <branch|tag>/<commit-sha>.
   493                    type: string
   494                  lastAttemptedRevision:
   495                    description: LastAttemptedRevision is the revision of the last reconciliation
   496                      attempt.
   497                    type: string
   498                  lastHandledReconcileAt:
   499                    description: LastHandledReconcileAt holds the value of the most recent
   500                      reconcile request value, so a change can be detected.
   501                    type: string
   502                  observedGeneration:
   503                    description: ObservedGeneration is the last reconciled generation.
   504                    format: int64
   505                    type: integer
   506                  snapshot:
   507                    description: The last successfully applied revision metadata.
   508                    properties:
   509                      checksum:
   510                        description: The manifests sha1 checksum.
   511                        type: string
   512                      entries:
   513                        description: A list of Kubernetes kinds grouped by namespace.
   514                        items:
   515                          description: Snapshot holds the metadata of namespaced Kubernetes
   516                            objects
   517                          properties:
   518                            kinds:
   519                              additionalProperties:
   520                                type: string
   521                              description: The list of Kubernetes kinds.
   522                              type: object
   523                            namespace:
   524                              description: The namespace of this entry.
   525                              type: string
   526                          required:
   527                            - kinds
   528                          type: object
   529                        type: array
   530                    required:
   531                      - checksum
   532                      - entries
   533                    type: object
   534                type: object
   535            type: object
   536        served: true
   537        storage: true
   538        subresources:
   539          status: {}