Skip to content

Commit 2e2c7e8

Browse files
committed
add ClusterApplicationListener API
1 parent 35eaf73 commit 2e2c7e8

10 files changed

+891
-2
lines changed
Lines changed: 205 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,205 @@
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: clusterapplicationlisteners.ingress.k8s.aws
8+
spec:
9+
group: ingress.k8s.aws
10+
names:
11+
kind: ClusterApplicationListener
12+
plural: clusterapplicationlisteners
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+
certificates:
32+
items:
33+
properties:
34+
certificateARN:
35+
type: string
36+
required:
37+
- certificateARN
38+
type: object
39+
type: array
40+
defaultActions:
41+
items:
42+
properties:
43+
authenticateCognitoConfig:
44+
properties:
45+
authenticationRequestExtraParams:
46+
type: object
47+
onUnauthenticatedRequest:
48+
enum:
49+
- deny
50+
- allow
51+
- authenticate
52+
type: string
53+
scope:
54+
type: string
55+
sessionCookieName:
56+
type: string
57+
sessionTimeout:
58+
type: string
59+
userPoolARN:
60+
type: string
61+
userPoolClientID:
62+
type: string
63+
userPoolDomain:
64+
type: string
65+
required:
66+
- userPoolARN
67+
- userPoolClientID
68+
- userPoolDomain
69+
type: object
70+
authenticateOidcConfig:
71+
properties:
72+
authenticationRequestExtraParams:
73+
type: object
74+
authorizationEndpoint:
75+
type: string
76+
issuer:
77+
type: string
78+
onUnauthenticatedRequest:
79+
enum:
80+
- deny
81+
- allow
82+
- authenticate
83+
type: string
84+
scope:
85+
type: string
86+
secretRef:
87+
description: SecretRef references the secret that contains
88+
clientID & clientSecret for OIDC.
89+
type: object
90+
sessionCookieName:
91+
type: string
92+
sessionTimeout:
93+
type: string
94+
tokenEndpoint:
95+
type: string
96+
userInfoEndpoint:
97+
type: string
98+
required:
99+
- issuer
100+
- authorizationEndpoint
101+
- tokenEndpoint
102+
- userInfoEndpoint
103+
- secretRef
104+
type: object
105+
fixedResponseConfig:
106+
properties:
107+
contentType:
108+
enum:
109+
- text/plain
110+
- text/css
111+
- text/html
112+
- application/javascript
113+
- application/json
114+
type: string
115+
messageBody:
116+
maxLength: 1024
117+
minLength: 0
118+
type: string
119+
statusCode:
120+
pattern: ^(2|4|5)\d\d$
121+
type: string
122+
required:
123+
- statusCode
124+
type: object
125+
forwardConfig:
126+
properties:
127+
targetGroupARN:
128+
type: string
129+
targetGroupRef:
130+
type: object
131+
type: object
132+
redirectConfig:
133+
properties:
134+
host:
135+
maxLength: 128
136+
minLength: 1
137+
type: string
138+
path:
139+
maxLength: 128
140+
minLength: 1
141+
pattern: ^/.*
142+
type: string
143+
port:
144+
format: int64
145+
maximum: 65535
146+
minimum: 1
147+
type: integer
148+
protocol:
149+
pattern: ^(HTTPS?|#\{protocol\})$
150+
type: string
151+
query:
152+
maxLength: 128
153+
minLength: 1
154+
type: string
155+
statusCode:
156+
enum:
157+
- HTTP_301
158+
- HTTP_302
159+
type: string
160+
type: object
161+
type:
162+
enum:
163+
- authenticate-cognito
164+
- authenticate-oidc
165+
- forward
166+
- redirect
167+
- fixed-response
168+
type: string
169+
required:
170+
- type
171+
type: object
172+
minItems: 1
173+
type: array
174+
loadBalancerRef:
175+
type: object
176+
port:
177+
format: int64
178+
maximum: 65535
179+
minimum: 1
180+
type: integer
181+
protocol:
182+
enum:
183+
- HTTP
184+
- HTTPS
185+
type: string
186+
sslPolicy:
187+
type: string
188+
required:
189+
- loadBalancerRef
190+
- port
191+
- protocol
192+
- defaultActions
193+
type: object
194+
status:
195+
properties:
196+
listenerARN:
197+
type: string
198+
type: object
199+
version: v1alpha1
200+
status:
201+
acceptedNames:
202+
kind: ""
203+
plural: ""
204+
conditions: []
205+
storedVersions: []

config/rbac/rbac_role.yaml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,46 @@ metadata:
44
creationTimestamp: null
55
name: manager-role
66
rules:
7+
- apiGroups:
8+
- apps
9+
resources:
10+
- deployments
11+
verbs:
12+
- get
13+
- list
14+
- watch
15+
- create
16+
- update
17+
- patch
18+
- delete
19+
- apiGroups:
20+
- apps
21+
resources:
22+
- deployments/status
23+
verbs:
24+
- get
25+
- update
26+
- patch
27+
- apiGroups:
28+
- ingress.k8s.aws
29+
resources:
30+
- clusterapplicationlisteners
31+
verbs:
32+
- get
33+
- list
34+
- watch
35+
- create
36+
- update
37+
- patch
38+
- delete
39+
- apiGroups:
40+
- ingress.k8s.aws
41+
resources:
42+
- clusterapplicationlisteners/status
43+
verbs:
44+
- get
45+
- update
46+
- patch
747
- apiGroups:
848
- apps
949
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: ClusterApplicationListener
3+
metadata:
4+
labels:
5+
controller-tools.k8s.io: "1.0"
6+
name: clusterapplicationlistener-sample
7+
spec:
8+
# Add fields here
9+
foo: bar

0 commit comments

Comments
 (0)