annotate kube/01-crd.yaml @ 0:6bf643829330

start
author drewp@bigasterisk.com
date Sun, 11 Sep 2022 01:24:55 -0700
parents
children
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
rev   line source
0
drewp@bigasterisk.com
parents:
diff changeset
1 apiVersion: apiextensions.k8s.io/v1
drewp@bigasterisk.com
parents:
diff changeset
2 kind: CustomResourceDefinition
drewp@bigasterisk.com
parents:
diff changeset
3 metadata:
drewp@bigasterisk.com
parents:
diff changeset
4 annotations:
drewp@bigasterisk.com
parents:
diff changeset
5 controller-gen.kubebuilder.io/version: v0.9.0
drewp@bigasterisk.com
parents:
diff changeset
6 creationTimestamp: null
drewp@bigasterisk.com
parents:
diff changeset
7 labels:
drewp@bigasterisk.com
parents:
diff changeset
8 app.kubernetes.io/name: pomerium
drewp@bigasterisk.com
parents:
diff changeset
9 name: pomerium.ingress.pomerium.io
drewp@bigasterisk.com
parents:
diff changeset
10 spec:
drewp@bigasterisk.com
parents:
diff changeset
11 group: ingress.pomerium.io
drewp@bigasterisk.com
parents:
diff changeset
12 names:
drewp@bigasterisk.com
parents:
diff changeset
13 kind: Pomerium
drewp@bigasterisk.com
parents:
diff changeset
14 listKind: PomeriumList
drewp@bigasterisk.com
parents:
diff changeset
15 plural: pomerium
drewp@bigasterisk.com
parents:
diff changeset
16 singular: pomerium
drewp@bigasterisk.com
parents:
diff changeset
17 scope: Cluster
drewp@bigasterisk.com
parents:
diff changeset
18 versions:
drewp@bigasterisk.com
parents:
diff changeset
19 - name: v1
drewp@bigasterisk.com
parents:
diff changeset
20 schema:
drewp@bigasterisk.com
parents:
diff changeset
21 openAPIV3Schema:
drewp@bigasterisk.com
parents:
diff changeset
22 description: Pomerium define runtime-configurable Pomerium settings that do
drewp@bigasterisk.com
parents:
diff changeset
23 not fall into the category of deployment parameters
drewp@bigasterisk.com
parents:
diff changeset
24 properties:
drewp@bigasterisk.com
parents:
diff changeset
25 apiVersion:
drewp@bigasterisk.com
parents:
diff changeset
26 description: 'APIVersion defines the versioned schema of this representation
drewp@bigasterisk.com
parents:
diff changeset
27 of an object. Servers should convert recognized schemas to the latest
drewp@bigasterisk.com
parents:
diff changeset
28 internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
drewp@bigasterisk.com
parents:
diff changeset
29 type: string
drewp@bigasterisk.com
parents:
diff changeset
30 kind:
drewp@bigasterisk.com
parents:
diff changeset
31 description: 'Kind is a string value representing the REST resource this
drewp@bigasterisk.com
parents:
diff changeset
32 object represents. Servers may infer this from the endpoint the client
drewp@bigasterisk.com
parents:
diff changeset
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'
drewp@bigasterisk.com
parents:
diff changeset
34 type: string
drewp@bigasterisk.com
parents:
diff changeset
35 metadata:
drewp@bigasterisk.com
parents:
diff changeset
36 type: object
drewp@bigasterisk.com
parents:
diff changeset
37 spec:
drewp@bigasterisk.com
parents:
diff changeset
38 description: PomeriumSpec defines the desired state of Settings
drewp@bigasterisk.com
parents:
diff changeset
39 properties:
drewp@bigasterisk.com
parents:
diff changeset
40 authenticate:
drewp@bigasterisk.com
parents:
diff changeset
41 description: Authenticate sets authenticate service parameters
drewp@bigasterisk.com
parents:
diff changeset
42 properties:
drewp@bigasterisk.com
parents:
diff changeset
43 callbackPath:
drewp@bigasterisk.com
parents:
diff changeset
44 description: CallbackPath see https://www.pomerium.com/reference/#authenticate-callback-path
drewp@bigasterisk.com
parents:
diff changeset
45 type: string
drewp@bigasterisk.com
parents:
diff changeset
46 url:
drewp@bigasterisk.com
parents:
diff changeset
47 description: AuthenticateURL should be publicly accessible URL
drewp@bigasterisk.com
parents:
diff changeset
48 the non-authenticated persons would be referred to see https://www.pomerium.com/reference/#authenticate-service-url
drewp@bigasterisk.com
parents:
diff changeset
49 format: uri
drewp@bigasterisk.com
parents:
diff changeset
50 pattern: ^https://
drewp@bigasterisk.com
parents:
diff changeset
51 type: string
drewp@bigasterisk.com
parents:
diff changeset
52 required:
drewp@bigasterisk.com
parents:
diff changeset
53 - url
drewp@bigasterisk.com
parents:
diff changeset
54 type: object
drewp@bigasterisk.com
parents:
diff changeset
55 certificates:
drewp@bigasterisk.com
parents:
diff changeset
56 description: Certificates is a list of secrets of type TLS to use
drewp@bigasterisk.com
parents:
diff changeset
57 items:
drewp@bigasterisk.com
parents:
diff changeset
58 type: string
drewp@bigasterisk.com
parents:
diff changeset
59 type: array
drewp@bigasterisk.com
parents:
diff changeset
60 identityProvider:
drewp@bigasterisk.com
parents:
diff changeset
61 description: IdentityProvider see https://www.pomerium.com/docs/identity-providers/
drewp@bigasterisk.com
parents:
diff changeset
62 properties:
drewp@bigasterisk.com
parents:
diff changeset
63 provider:
drewp@bigasterisk.com
parents:
diff changeset
64 description: Provider one of accepted providers - see https://www.pomerium.com/reference/#identity-provider-name.
drewp@bigasterisk.com
parents:
diff changeset
65 enum:
drewp@bigasterisk.com
parents:
diff changeset
66 - auth0
drewp@bigasterisk.com
parents:
diff changeset
67 - azure
drewp@bigasterisk.com
parents:
diff changeset
68 - google
drewp@bigasterisk.com
parents:
diff changeset
69 - okta
drewp@bigasterisk.com
parents:
diff changeset
70 - onelogin
drewp@bigasterisk.com
parents:
diff changeset
71 - oidc
drewp@bigasterisk.com
parents:
diff changeset
72 - ping
drewp@bigasterisk.com
parents:
diff changeset
73 - github
drewp@bigasterisk.com
parents:
diff changeset
74 type: string
drewp@bigasterisk.com
parents:
diff changeset
75 refreshDirectory:
drewp@bigasterisk.com
parents:
diff changeset
76 description: RefreshDirectory defines IdP directory refresh options
drewp@bigasterisk.com
parents:
diff changeset
77 properties:
drewp@bigasterisk.com
parents:
diff changeset
78 interval:
drewp@bigasterisk.com
parents:
diff changeset
79 description: interval is the time that pomerium will sync
drewp@bigasterisk.com
parents:
diff changeset
80 your IDP directory.
drewp@bigasterisk.com
parents:
diff changeset
81 format: duration
drewp@bigasterisk.com
parents:
diff changeset
82 type: string
drewp@bigasterisk.com
parents:
diff changeset
83 timeout:
drewp@bigasterisk.com
parents:
diff changeset
84 description: timeout is the maximum time allowed each run.
drewp@bigasterisk.com
parents:
diff changeset
85 format: duration
drewp@bigasterisk.com
parents:
diff changeset
86 type: string
drewp@bigasterisk.com
parents:
diff changeset
87 required:
drewp@bigasterisk.com
parents:
diff changeset
88 - interval
drewp@bigasterisk.com
parents:
diff changeset
89 - timeout
drewp@bigasterisk.com
parents:
diff changeset
90 type: object
drewp@bigasterisk.com
parents:
diff changeset
91 requestParams:
drewp@bigasterisk.com
parents:
diff changeset
92 additionalProperties:
drewp@bigasterisk.com
parents:
diff changeset
93 type: string
drewp@bigasterisk.com
parents:
diff changeset
94 description: RequestParams see https://www.pomerium.com/reference/#identity-provider-request-params
drewp@bigasterisk.com
parents:
diff changeset
95 type: object
drewp@bigasterisk.com
parents:
diff changeset
96 requestParamsSecret:
drewp@bigasterisk.com
parents:
diff changeset
97 description: RequestParamsSecret is a reference to a secret for
drewp@bigasterisk.com
parents:
diff changeset
98 additional parameters you'd prefer not to provide in plaintext.
drewp@bigasterisk.com
parents:
diff changeset
99 type: string
drewp@bigasterisk.com
parents:
diff changeset
100 scopes:
drewp@bigasterisk.com
parents:
diff changeset
101 description: Scopes see https://www.pomerium.com/reference/#identity-provider-scopes.
drewp@bigasterisk.com
parents:
diff changeset
102 items:
drewp@bigasterisk.com
parents:
diff changeset
103 type: string
drewp@bigasterisk.com
parents:
diff changeset
104 type: array
drewp@bigasterisk.com
parents:
diff changeset
105 secret:
drewp@bigasterisk.com
parents:
diff changeset
106 description: Secret containing IdP provider specific parameters
drewp@bigasterisk.com
parents:
diff changeset
107 and must contain at least client_id and client_secret values,
drewp@bigasterisk.com
parents:
diff changeset
108 an optional `service_account` field, mapped to https://www.pomerium.com/reference/#identity-provider-service-account
drewp@bigasterisk.com
parents:
diff changeset
109 minLength: 1
drewp@bigasterisk.com
parents:
diff changeset
110 type: string
drewp@bigasterisk.com
parents:
diff changeset
111 serviceAccountFromSecret:
drewp@bigasterisk.com
parents:
diff changeset
112 description: ServiceAccountFromSecret is a convenience way to
drewp@bigasterisk.com
parents:
diff changeset
113 build a value for `idp_service_account` from secret map values,
drewp@bigasterisk.com
parents:
diff changeset
114 see https://www.pomerium.com/docs/identity-providers/
drewp@bigasterisk.com
parents:
diff changeset
115 type: string
drewp@bigasterisk.com
parents:
diff changeset
116 url:
drewp@bigasterisk.com
parents:
diff changeset
117 description: URL is identity provider url, see https://www.pomerium.com/reference/#identity-provider-url.
drewp@bigasterisk.com
parents:
diff changeset
118 format: uri
drewp@bigasterisk.com
parents:
diff changeset
119 pattern: ^https://
drewp@bigasterisk.com
parents:
diff changeset
120 type: string
drewp@bigasterisk.com
parents:
diff changeset
121 required:
drewp@bigasterisk.com
parents:
diff changeset
122 - provider
drewp@bigasterisk.com
parents:
diff changeset
123 - secret
drewp@bigasterisk.com
parents:
diff changeset
124 type: object
drewp@bigasterisk.com
parents:
diff changeset
125 secrets:
drewp@bigasterisk.com
parents:
diff changeset
126 description: Secrets references a Secret that must have the following
drewp@bigasterisk.com
parents:
diff changeset
127 keys - shared_secret - cookie_secret - signing_key
drewp@bigasterisk.com
parents:
diff changeset
128 minLength: 1
drewp@bigasterisk.com
parents:
diff changeset
129 type: string
drewp@bigasterisk.com
parents:
diff changeset
130 storage:
drewp@bigasterisk.com
parents:
diff changeset
131 description: Storage defines persistent storage for sessions and other
drewp@bigasterisk.com
parents:
diff changeset
132 data it will use in-memory if none specified see https://www.pomerium.com/docs/topics/data-storage
drewp@bigasterisk.com
parents:
diff changeset
133 properties:
drewp@bigasterisk.com
parents:
diff changeset
134 postgres:
drewp@bigasterisk.com
parents:
diff changeset
135 description: Postgres specifies PostgreSQL database connection
drewp@bigasterisk.com
parents:
diff changeset
136 parameters
drewp@bigasterisk.com
parents:
diff changeset
137 properties:
drewp@bigasterisk.com
parents:
diff changeset
138 caSecret:
drewp@bigasterisk.com
parents:
diff changeset
139 description: CASecret should refer to a k8s secret with key
drewp@bigasterisk.com
parents:
diff changeset
140 `ca.crt` containing CA certificate that, if specified, would
drewp@bigasterisk.com
parents:
diff changeset
141 be used to populate `sslrootcert` parameter of the connection
drewp@bigasterisk.com
parents:
diff changeset
142 string
drewp@bigasterisk.com
parents:
diff changeset
143 minLength: 1
drewp@bigasterisk.com
parents:
diff changeset
144 type: string
drewp@bigasterisk.com
parents:
diff changeset
145 secret:
drewp@bigasterisk.com
parents:
diff changeset
146 description: Secret specifies a name of a Secret that must
drewp@bigasterisk.com
parents:
diff changeset
147 contain `connection` key for the connection DSN format and
drewp@bigasterisk.com
parents:
diff changeset
148 parameters, see https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-CONNSTRING
drewp@bigasterisk.com
parents:
diff changeset
149 the following keywords are not allowed to be part of the
drewp@bigasterisk.com
parents:
diff changeset
150 parameters, as they must be populated via `tlsCecret` and
drewp@bigasterisk.com
parents:
diff changeset
151 `caSecret` fields
drewp@bigasterisk.com
parents:
diff changeset
152 minLength: 1
drewp@bigasterisk.com
parents:
diff changeset
153 type: string
drewp@bigasterisk.com
parents:
diff changeset
154 tlsSecret:
drewp@bigasterisk.com
parents:
diff changeset
155 description: TLSSecret should refer to a k8s secret of type
drewp@bigasterisk.com
parents:
diff changeset
156 `kubernetes.io/tls` and allows to specify an optional client
drewp@bigasterisk.com
parents:
diff changeset
157 certificate and key, by constructing `sslcert` and `sslkey`
drewp@bigasterisk.com
parents:
diff changeset
158 connection string parameter values see https://www.postgresql.org/docs/current/libpq-connect.html#LIBPQ-PARAMKEYWORDS
drewp@bigasterisk.com
parents:
diff changeset
159 minLength: 1
drewp@bigasterisk.com
parents:
diff changeset
160 type: string
drewp@bigasterisk.com
parents:
diff changeset
161 required:
drewp@bigasterisk.com
parents:
diff changeset
162 - secret
drewp@bigasterisk.com
parents:
diff changeset
163 type: object
drewp@bigasterisk.com
parents:
diff changeset
164 redis:
drewp@bigasterisk.com
parents:
diff changeset
165 description: Redis defines REDIS connection parameters
drewp@bigasterisk.com
parents:
diff changeset
166 properties:
drewp@bigasterisk.com
parents:
diff changeset
167 caSecret:
drewp@bigasterisk.com
parents:
diff changeset
168 description: CASecret should refer to a k8s secret with key
drewp@bigasterisk.com
parents:
diff changeset
169 `ca.crt` that must be a PEM-encoded certificate authority
drewp@bigasterisk.com
parents:
diff changeset
170 to use when connecting to the databroker storage engine
drewp@bigasterisk.com
parents:
diff changeset
171 see https://www.pomerium.com/docs/reference/data-broker-storage-certificate-authority
drewp@bigasterisk.com
parents:
diff changeset
172 type: string
drewp@bigasterisk.com
parents:
diff changeset
173 secret:
drewp@bigasterisk.com
parents:
diff changeset
174 description: Secret specifies a name of a Secret that must
drewp@bigasterisk.com
parents:
diff changeset
175 contain `connection` key. see https://www.pomerium.com/docs/reference/data-broker-storage-connection-string
drewp@bigasterisk.com
parents:
diff changeset
176 minLength: 1
drewp@bigasterisk.com
parents:
diff changeset
177 type: string
drewp@bigasterisk.com
parents:
diff changeset
178 tlsSecret:
drewp@bigasterisk.com
parents:
diff changeset
179 description: TLSSecret should refer to a k8s secret of type
drewp@bigasterisk.com
parents:
diff changeset
180 `kubernetes.io/tls` and allows to specify an optional databroker
drewp@bigasterisk.com
parents:
diff changeset
181 storage client certificate and key, see - https://www.pomerium.com/docs/reference/data-broker-storage-certificate-file
drewp@bigasterisk.com
parents:
diff changeset
182 - https://www.pomerium.com/docs/reference/data-broker-storage-certificate-key-file
drewp@bigasterisk.com
parents:
diff changeset
183 minLength: 1
drewp@bigasterisk.com
parents:
diff changeset
184 type: string
drewp@bigasterisk.com
parents:
diff changeset
185 tlsSkipVerify:
drewp@bigasterisk.com
parents:
diff changeset
186 description: TLSSkipVerify disables TLS certificate chain
drewp@bigasterisk.com
parents:
diff changeset
187 validation see https://www.pomerium.com/docs/reference/data-broker-storage-tls-skip-verify
drewp@bigasterisk.com
parents:
diff changeset
188 type: boolean
drewp@bigasterisk.com
parents:
diff changeset
189 required:
drewp@bigasterisk.com
parents:
diff changeset
190 - secret
drewp@bigasterisk.com
parents:
diff changeset
191 type: object
drewp@bigasterisk.com
parents:
diff changeset
192 type: object
drewp@bigasterisk.com
parents:
diff changeset
193 required:
drewp@bigasterisk.com
parents:
diff changeset
194 - authenticate
drewp@bigasterisk.com
parents:
diff changeset
195 - identityProvider
drewp@bigasterisk.com
parents:
diff changeset
196 - secrets
drewp@bigasterisk.com
parents:
diff changeset
197 type: object
drewp@bigasterisk.com
parents:
diff changeset
198 status:
drewp@bigasterisk.com
parents:
diff changeset
199 description: PomeriumStatus defines the observed state of Settings
drewp@bigasterisk.com
parents:
diff changeset
200 properties:
drewp@bigasterisk.com
parents:
diff changeset
201 ingress:
drewp@bigasterisk.com
parents:
diff changeset
202 additionalProperties:
drewp@bigasterisk.com
parents:
diff changeset
203 description: ResourceStatus represents the outcome of the latest
drewp@bigasterisk.com
parents:
diff changeset
204 attempt to reconcile it with Pomerium.
drewp@bigasterisk.com
parents:
diff changeset
205 properties:
drewp@bigasterisk.com
parents:
diff changeset
206 error:
drewp@bigasterisk.com
parents:
diff changeset
207 description: Error that prevented latest observedGeneration
drewp@bigasterisk.com
parents:
diff changeset
208 to be synchronized with Pomerium.
drewp@bigasterisk.com
parents:
diff changeset
209 type: string
drewp@bigasterisk.com
parents:
diff changeset
210 observedAt:
drewp@bigasterisk.com
parents:
diff changeset
211 description: ObservedAt is when last reconciliation attempt
drewp@bigasterisk.com
parents:
diff changeset
212 was made.
drewp@bigasterisk.com
parents:
diff changeset
213 format: date-time
drewp@bigasterisk.com
parents:
diff changeset
214 type: string
drewp@bigasterisk.com
parents:
diff changeset
215 observedGeneration:
drewp@bigasterisk.com
parents:
diff changeset
216 description: ObservedGeneration represents the .metadata.generation
drewp@bigasterisk.com
parents:
diff changeset
217 that was last presented to Pomerium.
drewp@bigasterisk.com
parents:
diff changeset
218 format: int64
drewp@bigasterisk.com
parents:
diff changeset
219 type: integer
drewp@bigasterisk.com
parents:
diff changeset
220 reconciled:
drewp@bigasterisk.com
parents:
diff changeset
221 description: Reconciled is whether this object generation was
drewp@bigasterisk.com
parents:
diff changeset
222 successfully synced with pomerium.
drewp@bigasterisk.com
parents:
diff changeset
223 type: boolean
drewp@bigasterisk.com
parents:
diff changeset
224 required:
drewp@bigasterisk.com
parents:
diff changeset
225 - reconciled
drewp@bigasterisk.com
parents:
diff changeset
226 type: object
drewp@bigasterisk.com
parents:
diff changeset
227 description: Routes provide per-Ingress status.
drewp@bigasterisk.com
parents:
diff changeset
228 type: object
drewp@bigasterisk.com
parents:
diff changeset
229 settingsStatus:
drewp@bigasterisk.com
parents:
diff changeset
230 description: settingsStatus represent most recent main configuration
drewp@bigasterisk.com
parents:
diff changeset
231 reconciliation status.
drewp@bigasterisk.com
parents:
diff changeset
232 properties:
drewp@bigasterisk.com
parents:
diff changeset
233 error:
drewp@bigasterisk.com
parents:
diff changeset
234 description: Error that prevented latest observedGeneration to
drewp@bigasterisk.com
parents:
diff changeset
235 be synchronized with Pomerium.
drewp@bigasterisk.com
parents:
diff changeset
236 type: string
drewp@bigasterisk.com
parents:
diff changeset
237 observedAt:
drewp@bigasterisk.com
parents:
diff changeset
238 description: ObservedAt is when last reconciliation attempt was
drewp@bigasterisk.com
parents:
diff changeset
239 made.
drewp@bigasterisk.com
parents:
diff changeset
240 format: date-time
drewp@bigasterisk.com
parents:
diff changeset
241 type: string
drewp@bigasterisk.com
parents:
diff changeset
242 observedGeneration:
drewp@bigasterisk.com
parents:
diff changeset
243 description: ObservedGeneration represents the .metadata.generation
drewp@bigasterisk.com
parents:
diff changeset
244 that was last presented to Pomerium.
drewp@bigasterisk.com
parents:
diff changeset
245 format: int64
drewp@bigasterisk.com
parents:
diff changeset
246 type: integer
drewp@bigasterisk.com
parents:
diff changeset
247 reconciled:
drewp@bigasterisk.com
parents:
diff changeset
248 description: Reconciled is whether this object generation was
drewp@bigasterisk.com
parents:
diff changeset
249 successfully synced with pomerium.
drewp@bigasterisk.com
parents:
diff changeset
250 type: boolean
drewp@bigasterisk.com
parents:
diff changeset
251 required:
drewp@bigasterisk.com
parents:
diff changeset
252 - reconciled
drewp@bigasterisk.com
parents:
diff changeset
253 type: object
drewp@bigasterisk.com
parents:
diff changeset
254 type: object
drewp@bigasterisk.com
parents:
diff changeset
255 type: object
drewp@bigasterisk.com
parents:
diff changeset
256 served: true
drewp@bigasterisk.com
parents:
diff changeset
257 storage: true
drewp@bigasterisk.com
parents:
diff changeset
258 subresources:
drewp@bigasterisk.com
parents:
diff changeset
259 status: {}