You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: config/v1/0000_10_config-operator_01_ingress.crd.yaml
+67Lines changed: 67 additions & 0 deletions
Original file line number
Diff line number
Diff line change
@@ -77,6 +77,73 @@ spec:
77
77
domain:
78
78
description: "domain is used to generate a default host name for a route when the route's host name is empty. The generated host name will follow this pattern: \"<route-name>.<route-namespace>.<domain>\". \n It is also used as the default wildcard domain suffix for ingress. The default ingresscontroller domain will follow this pattern: \"*.<domain>\". \n Once set, changing domain is not currently supported."
79
79
type: string
80
+
requiredHSTSPolicies:
81
+
description: "requiredHSTSPolicies specifies HSTS policies that are required to be set on newly created or updated routes matching the domainPattern/s and namespaceSelector/s that are specified in the policy. Each requiredHSTSPolicy must have at least a domainPattern and a maxAge to validate a route HSTS Policy route annotation, and affect route admission. \n A candidate route is checked for HSTS Policies if it has the HSTS Policy route annotation: \"haproxy.router.openshift.io/hsts_header\" E.g. haproxy.router.openshift.io/hsts_header: max-age=31536000;preload;includeSubDomains \n - For each candidate route, if it matches a requiredHSTSPolicy domainPattern and optional namespaceSelector, then the maxAge, preloadPolicy, and includeSubdomainsPolicy must be valid to be admitted. Otherwise, the route is rejected. - The first match, by domainPattern and optional namespaceSelector, in the ordering of the RequiredHSTSPolicies determines the route's admission status. - If the candidate route doesn't match any requiredHSTSPolicy domainPattern and optional namespaceSelector, then it may use any HSTS Policy annotation. \n The HSTSRequiredPolicies may be changed over time and can therefore reject a previously admitted route if it has any invalidating changes after the HSTSRequiredPolicies are changed. \n Note that if there are no RequiredHSTSPolicies, any HSTS Policy annotation on the route is valid."
82
+
type: array
83
+
items:
84
+
type: object
85
+
properties:
86
+
domainPatterns:
87
+
description: "domainPatterns is a list of domains for which the desired HSTS annotations are required. If domainPatterns is specified and a route is created with a spec.host matching one of the domains, the route must specify the HSTS Policy components described in the matching RequiredHSTSPolicy. \n The use of wildcards is allowed like this: *.foo.com matches everything under foo.com. foo.com only matches foo.com, so to cover foo.com and everything under it, you must specify *both*. kubebuilder:validation:MinLength=1"
88
+
type: array
89
+
items:
90
+
type: string
91
+
includeSubDomainsPolicy:
92
+
description: 'includeSubDomainsPolicy means the HSTS Policy should apply to any subdomains of the host''s domain name. Thus, for the host bar.foo.com, if includeSubDomainsPolicy was set to RequireIncludeSubDomains: - the host app.bar.foo.com would inherit the HSTS Policy of bar.foo.com - the host bar.foo.com would inherit the HSTS Policy of bar.foo.com - the host foo.com would NOT inherit the HSTS Policy of bar.foo.com - the host def.foo.com would NOT inherit the HSTS Policy of bar.foo.com'
93
+
type: string
94
+
enum:
95
+
- RequireIncludeSubDomains
96
+
- RequireNotIncludeSubDomains
97
+
- NoOpinion
98
+
maxAge:
99
+
description: maxAge is the delta time range in seconds during which hosts are regarded as HSTS hosts. If set to 0, it negates the effect, and hosts are removed as HSTS hosts. If set to 0 and includeSubdomains is specified, all subdomains of the host are also removed as HSTS hosts. maxAge is a time-to-live value, and if this policy is not refreshed on a client, the HSTS policy will eventually expire on that client.
100
+
type: object
101
+
properties:
102
+
largestMaxAge:
103
+
description: The largest allowed value (in seconds) of the RequiredHSTSPolicy max-age This value can be left unspecified, in which case no upper limit is enforced. kubebuilder:validation:minimum=0:maximum=2147483647
104
+
type: integer
105
+
format: int32
106
+
smallestMaxAge:
107
+
description: The smallest allowed value (in seconds) of the RequiredHSTSPolicy max-age Setting max-age=0 allows the deletion of an existing HSTS header from a host. This is a necessary tool for administrators to quickly correct mistakes. This value can be left unspecified, in which case no lower limit is enforced. kubebuilder:validation:minimum=0:maximum=2147483647
108
+
type: integer
109
+
format: int32
110
+
namespaceSelector:
111
+
description: namespaceSelector specifies a label selector such that the policy applies only to those routes that are in namespaces with labels that match the selector, and are in one of the DomainPatterns. Defaults to the empty LabelSelector, which matches everything.
112
+
type: object
113
+
properties:
114
+
matchExpressions:
115
+
description: matchExpressions is a list of label selector requirements. The requirements are ANDed.
116
+
type: array
117
+
items:
118
+
description: A label selector requirement is a selector that contains values, a key, and an operator that relates the key and values.
119
+
type: object
120
+
required:
121
+
- key
122
+
- operator
123
+
properties:
124
+
key:
125
+
description: key is the label key that the selector applies to.
126
+
type: string
127
+
operator:
128
+
description: operator represents a key's relationship to a set of values. Valid operators are In, NotIn, Exists and DoesNotExist.
129
+
type: string
130
+
values:
131
+
description: values is an array of string values. If the operator is In or NotIn, the values array must be non-empty. If the operator is Exists or DoesNotExist, the values array must be empty. This array is replaced during a strategic merge patch.
132
+
type: array
133
+
items:
134
+
type: string
135
+
matchLabels:
136
+
description: matchLabels is a map of {key,value} pairs. A single {key,value} in the matchLabels map is equivalent to an element of matchExpressions, whose key field is "key", the operator is "In", and the values array contains only "value". The requirements are ANDed.
137
+
type: object
138
+
additionalProperties:
139
+
type: string
140
+
preloadPolicy:
141
+
description: preloadPolicy directs the client to include hosts in its host preload list so that it never needs to do an initial load to get the HSTS header (note that this is not defined in RFC 6797 and is therefore client implementation-dependent).
142
+
type: string
143
+
enum:
144
+
- RequirePreload
145
+
- RequireNotPreload
146
+
- NoOpinion
80
147
status:
81
148
description: status holds observed values from the cluster. They may not be overridden.
0 commit comments