github.com/verrazzano/verrazzano@v1.7.0/platform-operator/helm_config/charts/verrazzano-cluster-agent/crds/clusters.verrazzano.io_multiclusterapplicationconfigurations.yaml (about)

     1  # Copyright (c) 2021, 2023, Oracle and/or its affiliates.
     2  # Licensed under the Universal Permissive License v 1.0 as shown at https://oss.oracle.com/licenses/upl.
     3  ---
     4  apiVersion: apiextensions.k8s.io/v1
     5  kind: CustomResourceDefinition
     6  metadata:
     7    annotations:
     8      controller-gen.kubebuilder.io/version: v0.9.2
     9    creationTimestamp: null
    10    name: multiclusterapplicationconfigurations.clusters.verrazzano.io
    11  spec:
    12    group: clusters.verrazzano.io
    13    names:
    14      kind: MultiClusterApplicationConfiguration
    15      listKind: MultiClusterApplicationConfigurationList
    16      plural: multiclusterapplicationconfigurations
    17      shortNames:
    18      - mcappconf
    19      - mcappconfs
    20      singular: multiclusterapplicationconfiguration
    21    scope: Namespaced
    22    versions:
    23    - name: v1alpha1
    24      schema:
    25        openAPIV3Schema:
    26          description: MultiClusterApplicationConfiguration specifies the multicluster
    27            application API.
    28          properties:
    29            apiVersion:
    30              description: 'APIVersion defines the versioned schema of this representation
    31                of an object. Servers should convert recognized schemas to the latest
    32                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    33              type: string
    34            kind:
    35              description: 'Kind is a string value representing the REST resource this
    36                object represents. Servers may infer this from the endpoint the client
    37                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    38              type: string
    39            metadata:
    40              type: object
    41            spec:
    42              description: The desired state of a multicluster application resource.
    43              properties:
    44                placement:
    45                  description: Clusters in which the application is to be created.
    46                  properties:
    47                    clusters:
    48                      description: List of clusters.
    49                      items:
    50                        description: Cluster contains the name of a single cluster.
    51                        properties:
    52                          name:
    53                            description: The name of a cluster.
    54                            type: string
    55                        required:
    56                        - name
    57                        type: object
    58                      type: array
    59                  required:
    60                  - clusters
    61                  type: object
    62                secrets:
    63                  description: List of secrets used by the application. These secrets
    64                    must be created in the application’s namespace before deploying
    65                    a MultiClusterApplicationConfiguration resource.
    66                  items:
    67                    type: string
    68                  type: array
    69                template:
    70                  description: Template containing the metadata and spec for an OAM
    71                    applicationConfiguration resource.
    72                  properties:
    73                    metadata:
    74                      description: Metadata describing the application.
    75                      properties:
    76                        annotations:
    77                          additionalProperties:
    78                            type: string
    79                          description: Annotations for the resource.
    80                          type: object
    81                        labels:
    82                          additionalProperties:
    83                            type: string
    84                          description: Labels for the resource.
    85                          type: object
    86                        name:
    87                          description: Name of the resource.
    88                          type: string
    89                        namespace:
    90                          description: Namespace of the resource.
    91                          type: string
    92                      type: object
    93                    spec:
    94                      description: The embedded OAM application specification.
    95                      properties:
    96                        components:
    97                          description: Components of which this ApplicationConfiguration
    98                            consists. Each component will be used to instantiate a workload.
    99                          items:
   100                            description: An ApplicationConfigurationComponent specifies
   101                              a component of an ApplicationConfiguration. Each component
   102                              is used to instantiate a workload.
   103                            properties:
   104                              componentName:
   105                                description: ComponentName specifies a component whose
   106                                  latest revision will be bind with ApplicationConfiguration.
   107                                  When the spec of the referenced component changes,
   108                                  ApplicationConfiguration will automatically migrate
   109                                  all trait affect from the prior revision to the new
   110                                  one. This is mutually exclusive with RevisionName.
   111                                type: string
   112                              dataInputs:
   113                                description: DataInputs specify the data input sinks
   114                                  into this component.
   115                                items:
   116                                  description: DataInput specifies a data input sink
   117                                    to an object. If input is array, it will be appended
   118                                    to the target field paths.
   119                                  properties:
   120                                    toFieldPaths:
   121                                      description: ToFieldPaths specifies the field
   122                                        paths of an object to fill passed value.
   123                                      items:
   124                                        type: string
   125                                      type: array
   126                                    valueFrom:
   127                                      description: ValueFrom specifies the value source.
   128                                      properties:
   129                                        dataOutputName:
   130                                          description: DataOutputName matches a name
   131                                            of a DataOutput in the same AppConfig.
   132                                          type: string
   133                                      required:
   134                                      - dataOutputName
   135                                      type: object
   136                                  type: object
   137                                type: array
   138                              dataOutputs:
   139                                description: DataOutputs specify the data output sources
   140                                  from this component.
   141                                items:
   142                                  description: DataOutput specifies a data output source
   143                                    from an object.
   144                                  properties:
   145                                    conditions:
   146                                      description: Conditions specify the conditions
   147                                        that should be satisfied before emitting a data
   148                                        output. Different conditions are AND-ed together.
   149                                        If no conditions is specified, it is by default
   150                                        to check output value not empty.
   151                                      items:
   152                                        description: ConditionRequirement specifies
   153                                          the requirement to match a value.
   154                                        properties:
   155                                          fieldPath:
   156                                            description: FieldPath specifies got value
   157                                              from workload/trait object
   158                                            type: string
   159                                          op:
   160                                            description: ConditionOperator specifies
   161                                              the operator to match a value.
   162                                            type: string
   163                                          value:
   164                                            description: Value specifies an expected
   165                                              value This is mutually exclusive with
   166                                              ValueFrom
   167                                            type: string
   168                                          valueFrom:
   169                                            description: ValueFrom specifies expected
   170                                              value from AppConfig This is mutually
   171                                              exclusive with Value
   172                                            properties:
   173                                              fieldPath:
   174                                                type: string
   175                                            required:
   176                                            - fieldPath
   177                                            type: object
   178                                        required:
   179                                        - op
   180                                        type: object
   181                                      type: array
   182                                    fieldPath:
   183                                      description: FieldPath refers to the value of
   184                                        an object's field.
   185                                      type: string
   186                                    name:
   187                                      description: Name is the unique name of a DataOutput
   188                                        in an ApplicationConfiguration.
   189                                      type: string
   190                                  type: object
   191                                type: array
   192                              parameterValues:
   193                                description: ParameterValues specify values for the
   194                                  the specified component's parameters. Any parameter
   195                                  required by the component must be specified.
   196                                items:
   197                                  description: A ComponentParameterValue specifies a
   198                                    value for a named parameter. The associated component
   199                                    must publish a parameter with this name.
   200                                  properties:
   201                                    name:
   202                                      description: Name of the component parameter to
   203                                        set.
   204                                      type: string
   205                                    value:
   206                                      anyOf:
   207                                      - type: integer
   208                                      - type: string
   209                                      description: Value to set.
   210                                      x-kubernetes-int-or-string: true
   211                                  required:
   212                                  - name
   213                                  - value
   214                                  type: object
   215                                type: array
   216                              revisionName:
   217                                description: RevisionName of a specific component revision
   218                                  to which to bind ApplicationConfiguration. This is
   219                                  mutually exclusive with componentName.
   220                                type: string
   221                              scopes:
   222                                description: Scopes in which the specified component
   223                                  should exist.
   224                                items:
   225                                  description: A ComponentScope specifies a scope in
   226                                    which a component should exist.
   227                                  properties:
   228                                    scopeRef:
   229                                      description: A ScopeReference must refer to an
   230                                        OAM scope resource.
   231                                      properties:
   232                                        apiVersion:
   233                                          description: APIVersion of the referenced
   234                                            object.
   235                                          type: string
   236                                        kind:
   237                                          description: Kind of the referenced object.
   238                                          type: string
   239                                        name:
   240                                          description: Name of the referenced object.
   241                                          type: string
   242                                        uid:
   243                                          description: UID of the referenced object.
   244                                          type: string
   245                                      required:
   246                                      - apiVersion
   247                                      - kind
   248                                      - name
   249                                      type: object
   250                                  required:
   251                                  - scopeRef
   252                                  type: object
   253                                type: array
   254                              traits:
   255                                description: Traits of the specified component.
   256                                items:
   257                                  description: A ComponentTrait specifies a trait that
   258                                    should be applied to a component.
   259                                  properties:
   260                                    dataInputs:
   261                                      description: DataInputs specify the data input
   262                                        sinks into this trait.
   263                                      items:
   264                                        description: DataInput specifies a data input
   265                                          sink to an object. If input is array, it will
   266                                          be appended to the target field paths.
   267                                        properties:
   268                                          toFieldPaths:
   269                                            description: ToFieldPaths specifies the
   270                                              field paths of an object to fill passed
   271                                              value.
   272                                            items:
   273                                              type: string
   274                                            type: array
   275                                          valueFrom:
   276                                            description: ValueFrom specifies the value
   277                                              source.
   278                                            properties:
   279                                              dataOutputName:
   280                                                description: DataOutputName matches
   281                                                  a name of a DataOutput in the same
   282                                                  AppConfig.
   283                                                type: string
   284                                            required:
   285                                            - dataOutputName
   286                                            type: object
   287                                        type: object
   288                                      type: array
   289                                    dataOutputs:
   290                                      description: DataOutputs specify the data output
   291                                        sources from this trait.
   292                                      items:
   293                                        description: DataOutput specifies a data output
   294                                          source from an object.
   295                                        properties:
   296                                          conditions:
   297                                            description: Conditions specify the conditions
   298                                              that should be satisfied before emitting
   299                                              a data output. Different conditions are
   300                                              AND-ed together. If no conditions is specified,
   301                                              it is by default to check output value
   302                                              not empty.
   303                                            items:
   304                                              description: ConditionRequirement specifies
   305                                                the requirement to match a value.
   306                                              properties:
   307                                                fieldPath:
   308                                                  description: FieldPath specifies got
   309                                                    value from workload/trait object
   310                                                  type: string
   311                                                op:
   312                                                  description: ConditionOperator specifies
   313                                                    the operator to match a value.
   314                                                  type: string
   315                                                value:
   316                                                  description: Value specifies an expected
   317                                                    value This is mutually exclusive
   318                                                    with ValueFrom
   319                                                  type: string
   320                                                valueFrom:
   321                                                  description: ValueFrom specifies expected
   322                                                    value from AppConfig This is mutually
   323                                                    exclusive with Value
   324                                                  properties:
   325                                                    fieldPath:
   326                                                      type: string
   327                                                  required:
   328                                                  - fieldPath
   329                                                  type: object
   330                                              required:
   331                                              - op
   332                                              type: object
   333                                            type: array
   334                                          fieldPath:
   335                                            description: FieldPath refers to the value
   336                                              of an object's field.
   337                                            type: string
   338                                          name:
   339                                            description: Name is the unique name of
   340                                              a DataOutput in an ApplicationConfiguration.
   341                                            type: string
   342                                        type: object
   343                                      type: array
   344                                    trait:
   345                                      description: A Trait that will be created for
   346                                        the component
   347                                      type: object
   348                                      x-kubernetes-embedded-resource: true
   349                                      x-kubernetes-preserve-unknown-fields: true
   350                                  required:
   351                                  - trait
   352                                  type: object
   353                                type: array
   354                            type: object
   355                          type: array
   356                      required:
   357                      - components
   358                      type: object
   359                  type: object
   360              required:
   361              - placement
   362              - template
   363              type: object
   364            status:
   365              description: The observed state of a multicluster application resource.
   366              properties:
   367                clusters:
   368                  description: Status information for each cluster.
   369                  items:
   370                    description: ClusterLevelStatus describes the status of the multicluster
   371                      resource in a specific cluster.
   372                    properties:
   373                      lastUpdateTime:
   374                        description: Last update time of the resource state in this
   375                          cluster.
   376                        type: string
   377                      message:
   378                        description: Message details about the status in this cluster.
   379                        type: string
   380                      name:
   381                        description: Name of the cluster.
   382                        type: string
   383                      state:
   384                        description: State of the resource in this cluster.
   385                        type: string
   386                    required:
   387                    - lastUpdateTime
   388                    - name
   389                    - state
   390                    type: object
   391                  type: array
   392                conditions:
   393                  description: The current state of a multicluster resource.
   394                  items:
   395                    description: Condition describes current state of a multicluster
   396                      resource.
   397                    properties:
   398                      lastTransitionTime:
   399                        description: Last time the condition transitioned from one status
   400                          to another.
   401                        type: string
   402                      message:
   403                        description: A message with details about the last transition.
   404                        type: string
   405                      status:
   406                        description: 'Status of the condition: one of `True`, `False`,
   407                          or `Unknown`.'
   408                        type: string
   409                      type:
   410                        description: Type of condition.
   411                        type: string
   412                    required:
   413                    - status
   414                    - type
   415                    type: object
   416                  type: array
   417                state:
   418                  description: 'The state of the multicluster resource. State values
   419                    are case-sensitive and formatted as follows: <ul><li>`Failed`: deployment
   420                    to cluster failed</li><li>`Pending`: deployment to cluster is in
   421                    progress</li><li>`Succeeded`: deployment to cluster successfully
   422                    completed</li></ul>'
   423                  type: string
   424              type: object
   425          type: object
   426      served: true
   427      storage: true
   428      subresources:
   429        status: {}