Skip to content

Commit 217663c

Browse files
committed
add ClusterApplicationListenerRule API
1 parent 2e2c7e8 commit 217663c

11 files changed

+918
-135
lines changed
Lines changed: 218 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,218 @@
1+
apiVersion: apiextensions.k8s.io/v1beta1
2+
kind: CustomResourceDefinition
3+
metadata:
4+
creationTimestamp: null
5+
labels:
6+
controller-tools.k8s.io: "1.0"
7+
name: clusterapplicationlistenerrules.ingress.k8s.aws
8+
spec:
9+
group: ingress.k8s.aws
10+
names:
11+
kind: ClusterApplicationListenerRule
12+
plural: clusterapplicationlistenerrules
13+
scope: Cluster
14+
validation:
15+
openAPIV3Schema:
16+
properties:
17+
apiVersion:
18+
description: 'APIVersion defines the versioned schema of this representation
19+
of an object. Servers should convert recognized schemas to the latest
20+
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#resources'
21+
type: string
22+
kind:
23+
description: 'Kind is a string value representing the REST resource this
24+
object represents. Servers may infer this from the endpoint the client
25+
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/api-conventions.md#types-kinds'
26+
type: string
27+
metadata:
28+
type: object
29+
spec:
30+
properties:
31+
actions:
32+
items:
33+
properties:
34+
authenticateCognitoConfig:
35+
properties:
36+
authenticationRequestExtraParams:
37+
type: object
38+
onUnauthenticatedRequest:
39+
enum:
40+
- deny
41+
- allow
42+
- authenticate
43+
type: string
44+
scope:
45+
type: string
46+
sessionCookieName:
47+
type: string
48+
sessionTimeout:
49+
type: string
50+
userPoolARN:
51+
type: string
52+
userPoolClientID:
53+
type: string
54+
userPoolDomain:
55+
type: string
56+
required:
57+
- userPoolARN
58+
- userPoolClientID
59+
- userPoolDomain
60+
type: object
61+
authenticateOidcConfig:
62+
properties:
63+
authenticationRequestExtraParams:
64+
type: object
65+
authorizationEndpoint:
66+
type: string
67+
issuer:
68+
type: string
69+
onUnauthenticatedRequest:
70+
enum:
71+
- deny
72+
- allow
73+
- authenticate
74+
type: string
75+
scope:
76+
type: string
77+
secretRef:
78+
description: SecretRef references the secret that contains
79+
clientID & clientSecret for OIDC.
80+
type: object
81+
sessionCookieName:
82+
type: string
83+
sessionTimeout:
84+
type: string
85+
tokenEndpoint:
86+
type: string
87+
userInfoEndpoint:
88+
type: string
89+
required:
90+
- issuer
91+
- authorizationEndpoint
92+
- tokenEndpoint
93+
- userInfoEndpoint
94+
- secretRef
95+
type: object
96+
fixedResponseConfig:
97+
properties:
98+
contentType:
99+
enum:
100+
- text/plain
101+
- text/css
102+
- text/html
103+
- application/javascript
104+
- application/json
105+
type: string
106+
messageBody:
107+
maxLength: 1024
108+
minLength: 0
109+
type: string
110+
statusCode:
111+
pattern: ^(2|4|5)\d\d$
112+
type: string
113+
required:
114+
- statusCode
115+
type: object
116+
forwardConfig:
117+
properties:
118+
targetGroupARN:
119+
type: string
120+
targetGroupRef:
121+
type: object
122+
type: object
123+
redirectConfig:
124+
properties:
125+
host:
126+
maxLength: 128
127+
minLength: 1
128+
type: string
129+
path:
130+
maxLength: 128
131+
minLength: 1
132+
pattern: ^/.*
133+
type: string
134+
port:
135+
format: int64
136+
maximum: 65535
137+
minimum: 1
138+
type: integer
139+
protocol:
140+
pattern: ^(HTTPS?|#\{protocol\})$
141+
type: string
142+
query:
143+
maxLength: 128
144+
minLength: 1
145+
type: string
146+
statusCode:
147+
enum:
148+
- HTTP_301
149+
- HTTP_302
150+
type: string
151+
type: object
152+
type:
153+
enum:
154+
- authenticate-cognito
155+
- authenticate-oidc
156+
- forward
157+
- redirect
158+
- fixed-response
159+
type: string
160+
required:
161+
- type
162+
type: object
163+
minItems: 1
164+
type: array
165+
conditions:
166+
items:
167+
properties:
168+
field:
169+
type: string
170+
hostHeaderConfig:
171+
properties:
172+
values:
173+
items:
174+
type: string
175+
maxItems: 1
176+
minItems: 1
177+
type: array
178+
required:
179+
- values
180+
type: object
181+
pathPatternConfig:
182+
properties:
183+
values:
184+
items:
185+
type: string
186+
maxItems: 1
187+
minItems: 1
188+
type: array
189+
required:
190+
- values
191+
type: object
192+
required:
193+
- field
194+
type: object
195+
minItems: 1
196+
type: array
197+
priority:
198+
format: int64
199+
maximum: 50000
200+
minimum: 1
201+
type: integer
202+
required:
203+
- priority
204+
- conditions
205+
- actions
206+
type: object
207+
status:
208+
properties:
209+
listenerRuleARN:
210+
type: string
211+
type: object
212+
version: v1alpha1
213+
status:
214+
acceptedNames:
215+
kind: ""
216+
plural: ""
217+
conditions: []
218+
storedVersions: []

config/rbac/rbac_role.yaml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,46 @@ rules:
6464
- get
6565
- update
6666
- patch
67+
- apiGroups:
68+
- ingress.k8s.aws
69+
resources:
70+
- clusterapplicationlistenerrules
71+
verbs:
72+
- get
73+
- list
74+
- watch
75+
- create
76+
- update
77+
- patch
78+
- delete
79+
- apiGroups:
80+
- ingress.k8s.aws
81+
resources:
82+
- clusterapplicationlistenerrules/status
83+
verbs:
84+
- get
85+
- update
86+
- patch
87+
- apiGroups:
88+
- apps
89+
resources:
90+
- deployments
91+
verbs:
92+
- get
93+
- list
94+
- watch
95+
- create
96+
- update
97+
- patch
98+
- delete
99+
- apiGroups:
100+
- apps
101+
resources:
102+
- deployments/status
103+
verbs:
104+
- get
105+
- update
106+
- patch
67107
- apiGroups:
68108
- ingress.k8s.aws
69109
resources:
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
apiVersion: ingress.k8s.aws/v1alpha1
2+
kind: ClusterApplicationListenerRule
3+
metadata:
4+
labels:
5+
controller-tools.k8s.io: "1.0"
6+
name: clusterapplicationlistenerrule-sample
7+
spec:
8+
# Add fields here
9+
foo: bar

0 commit comments

Comments
 (0)