github.com/verrazzano/verrazzano@v1.7.0/platform-operator/helm_config/charts/verrazzano-application-operator/crds/oam.verrazzano.io_ingresstraits.yaml (about)

     1  # Copyright (c) 2020, 2022, 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: ingresstraits.oam.verrazzano.io
    11  spec:
    12    group: oam.verrazzano.io
    13    names:
    14      kind: IngressTrait
    15      listKind: IngressTraitList
    16      plural: ingresstraits
    17      singular: ingresstrait
    18    scope: Namespaced
    19    versions:
    20    - name: v1alpha1
    21      schema:
    22        openAPIV3Schema:
    23          description: IngressTrait specifies the ingress traits API.
    24          properties:
    25            apiVersion:
    26              description: 'APIVersion defines the versioned schema of this representation
    27                of an object. Servers should convert recognized schemas to the latest
    28                internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
    29              type: string
    30            kind:
    31              description: 'Kind is a string value representing the REST resource this
    32                object represents. Servers may infer this from the endpoint the client
    33                submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
    34              type: string
    35            metadata:
    36              type: object
    37            spec:
    38              description: IngressTraitSpec specifies the desired state of an ingress
    39                trait.
    40              properties:
    41                rules:
    42                  description: A list of ingress rules for an ingress trait.
    43                  items:
    44                    description: IngressRule specifies a rule for an ingress trait.
    45                    properties:
    46                      destination:
    47                        description: The destination host and port for the ingress paths.
    48                        properties:
    49                          host:
    50                            description: Destination host.
    51                            type: string
    52                          httpCookie:
    53                            description: Session affinity cookie.
    54                            properties:
    55                              name:
    56                                description: The name of the HTTP cookie.
    57                                type: string
    58                              path:
    59                                description: The path of the HTTP cookie.
    60                                type: string
    61                              ttl:
    62                                description: The lifetime of the HTTP cookie (in seconds).
    63                                format: int64
    64                                type: integer
    65                            type: object
    66                          port:
    67                            description: Destination port.
    68                            format: int32
    69                            type: integer
    70                        type: object
    71                      hosts:
    72                        description: One or more hosts exposed by the ingress trait.
    73                          Wildcard hosts or hosts that are empty are filtered out. If
    74                          there are no valid hosts provided, then a DNS host name is
    75                          automatically generated and used.
    76                        items:
    77                          type: string
    78                        type: array
    79                      paths:
    80                        description: The paths to be exposed for an ingress trait.
    81                        items:
    82                          description: IngressPath specifies a specific path to be exposed
    83                            for an ingress trait.
    84                          properties:
    85                            authorizationPolicy:
    86                              description: Defines the set of rules for authorizing
    87                                a request.
    88                              properties:
    89                                rules:
    90                                  description: Rules are used to match requests from
    91                                    request principals to specific paths given an optional
    92                                    list of conditions.
    93                                  items:
    94                                    description: AuthorizationRule matches requests
    95                                      from a list of request principals that access
    96                                      a specific path subject to a list of conditions.
    97                                    properties:
    98                                      from:
    99                                        description: Specifies the request principals
   100                                          for access to a request. An asterisk (*) will
   101                                          match when the value is not empty, for example,
   102                                          if any request principal is found in the request.
   103                                        properties:
   104                                          requestPrincipals:
   105                                            description: Specifies the request principals
   106                                              for access to a request.
   107                                            items:
   108                                              type: string
   109                                            type: array
   110                                        type: object
   111                                      when:
   112                                        description: Specifies a list of additional
   113                                          conditions for access to a request.
   114                                        items:
   115                                          description: AuthorizationRuleCondition provides
   116                                            additional required attributes for authorization.
   117                                          properties:
   118                                            key:
   119                                              description: The name of a request attribute.
   120                                              type: string
   121                                            values:
   122                                              description: A list of allowed values
   123                                                for the attribute.
   124                                              items:
   125                                                type: string
   126                                              type: array
   127                                          type: object
   128                                        type: array
   129                                    type: object
   130                                  type: array
   131                              type: object
   132                            path:
   133                              description: If no path is provided, then it defaults
   134                                to forward slash (`/`).
   135                              type: string
   136                            pathType:
   137                              description: 'Path type values are case-sensitive and
   138                                formatted as follows: <ul><li>`exact`: exact string
   139                                match</li><li>`prefix`: prefix-based match</li><li>`regex`:
   140                                regex-based match</li></ul> Defaults to `prefix` if
   141                                `path` specified is `/`; otherwise, defaults to `exact`.'
   142                              type: string
   143                          type: object
   144                        type: array
   145                    type: object
   146                  type: array
   147                tls:
   148                  description: The security parameters for an ingress trait. This is
   149                    required only if specific hosts are given in an [IngressRule](#oam.verrazzano.io/v1alpha1.IngressRule).
   150                  properties:
   151                    secretName:
   152                      description: The name of a secret containing the certificate securing
   153                        the transport.  The specification of a secret here implies that
   154                        a certificate was created for specific hosts, as specified in
   155                        an [IngressRule](#oam.verrazzano.io/v1alpha1.IngressRule).
   156                      type: string
   157                  type: object
   158                workloadRef:
   159                  description: The WorkloadReference of the workload to which this trait
   160                    applies. This value is populated by the OAM runtime when an ApplicationConfiguration
   161                    resource is processed.  When the ApplicationConfiguration is processed,
   162                    a trait and a workload resource are created from the content of
   163                    the ApplicationConfiguration. The WorkloadReference is provided
   164                    in the trait by OAM to ensure that the trait controller can find
   165                    the workload associated with the component containing the trait
   166                    within the original ApplicationConfiguration.
   167                  properties:
   168                    apiVersion:
   169                      description: APIVersion of the referenced object.
   170                      type: string
   171                    kind:
   172                      description: Kind of the referenced object.
   173                      type: string
   174                    name:
   175                      description: Name of the referenced object.
   176                      type: string
   177                    uid:
   178                      description: UID of the referenced object.
   179                      type: string
   180                  required:
   181                  - apiVersion
   182                  - kind
   183                  - name
   184                  type: object
   185              required:
   186              - workloadRef
   187              type: object
   188            status:
   189              description: The observed state of an ingress trait and related resources.
   190              properties:
   191                conditions:
   192                  description: Conditions of the resource.
   193                  items:
   194                    description: A Condition that may apply to a resource.
   195                    properties:
   196                      lastTransitionTime:
   197                        description: LastTransitionTime is the last time this condition
   198                          transitioned from one status to another.
   199                        format: date-time
   200                        type: string
   201                      message:
   202                        description: A Message containing details about this condition's
   203                          last transition from one status to another, if any.
   204                        type: string
   205                      reason:
   206                        description: A Reason for this condition's last transition from
   207                          one status to another.
   208                        type: string
   209                      status:
   210                        description: Status of this condition; is it currently True,
   211                          False, or Unknown?
   212                        type: string
   213                      type:
   214                        description: Type of this condition. At most one of each condition
   215                          type may apply to a resource at any point in time.
   216                        type: string
   217                    required:
   218                    - lastTransitionTime
   219                    - reason
   220                    - status
   221                    - type
   222                    type: object
   223                  type: array
   224                resources:
   225                  description: The resources managed by this ingress trait.
   226                  items:
   227                    description: A TypedReference refers to an object by Name, Kind,
   228                      and APIVersion. It is commonly used to reference cluster-scoped
   229                      objects or objects where the namespace is already known.
   230                    properties:
   231                      apiVersion:
   232                        description: APIVersion of the referenced object.
   233                        type: string
   234                      kind:
   235                        description: Kind of the referenced object.
   236                        type: string
   237                      name:
   238                        description: Name of the referenced object.
   239                        type: string
   240                      uid:
   241                        description: UID of the referenced object.
   242                        type: string
   243                    required:
   244                    - apiVersion
   245                    - kind
   246                    - name
   247                    type: object
   248                  type: array
   249              type: object
   250          type: object
   251      served: true
   252      storage: true
   253      subresources:
   254        status: {}