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: {}