-
Notifications
You must be signed in to change notification settings - Fork 5
/
Copy pathhyperfoil.io_horreums.yaml
225 lines (225 loc) · 9.45 KB
/
hyperfoil.io_horreums.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
---
apiVersion: apiextensions.k8s.io/v1
kind: CustomResourceDefinition
metadata:
annotations:
controller-gen.kubebuilder.io/version: v0.11.3
creationTimestamp: null
name: horreums.hyperfoil.io
spec:
group: hyperfoil.io
names:
kind: Horreum
listKind: HorreumList
plural: horreums
shortNames:
- hrm
singular: horreum
scope: Namespaced
versions:
- additionalPrinterColumns:
- description: Overall status
jsonPath: .status.status
name: Status
type: string
- description: Reason for status
jsonPath: .status.reason
name: Reason
type: string
- description: Horreum URL
jsonPath: .status.publicUrl
name: URL
type: string
- description: Keycloak URL
jsonPath: .status.keycloakUrl
name: Keycloak URL
type: string
name: v1alpha1
schema:
openAPIV3Schema:
description: Horreum is the object configuring Horreum performance results
repository
properties:
apiVersion:
description: 'APIVersion defines the versioned schema of this representation
of an object. Servers should convert recognized schemas to the latest
internal value, and may reject unrecognized values. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#resources'
type: string
kind:
description: 'Kind is a string value representing the REST resource this
object represents. Servers may infer this from the endpoint the client
submits requests to. Cannot be updated. In CamelCase. More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#types-kinds'
type: string
metadata:
type: object
spec:
description: HorreumSpec defines the desired state of Horreum
properties:
adminSecret:
description: Name of secret resource with data `username` and `password`.
This will be the first user that get's created in Horreum with the
`admin` role, therefore it can create other users and teams. Created
automatically if it does not exist.
type: string
database:
description: Database coordinates for Horreum data. Besides `username`
and `password` the secret must also contain key `dbsecret` that
will be used to sign access to the database.
properties:
host:
description: Hostname for the database
type: string
name:
description: Name of the database
type: string
port:
description: Database port; defaults to 5432
format: int32
type: integer
secret:
description: Name of secret resource with data `username` and
`password`. Created if does not exist.
type: string
type: object
image:
description: Horreum image. Defaults to quay.io/hyperfoil/horreum:latest
type: string
keycloak:
description: Keycloak specification
properties:
adminSecret:
description: Secret used for admin access to the deployed Keycloak
instance. Created if does not exist. Must contain keys `username`
and `password`.
type: string
database:
description: Database coordinates Keycloak should use
properties:
host:
description: Hostname for the database
type: string
name:
description: Name of the database
type: string
port:
description: Database port; defaults to 5432
format: int32
type: integer
secret:
description: Name of secret resource with data `username`
and `password`. Created if does not exist.
type: string
type: object
external:
description: When this is set Keycloak instance will not be deployed
and Horreum will use this external instance.
properties:
internalUri:
description: Internal URI - Horreum will use this for communication
but won't disclose that.
type: string
publicUri:
description: Public facing URI - Horreum will send this URI
to the clients.
type: string
type: object
image:
description: Image that should be used for Keycloak deployment.
Defaults to quay.io/keycloak/keycloak:latest
type: string
route:
description: Route for external access to the Keycloak instance.
properties:
host:
description: 'Host for the route leading to Controller REST
endpoint. Example: horreum.apps.mycloud.example.com'
type: string
tls:
description: Optional for edge and reencrypt routes, required
for passthrough; Name of the secret hosting `tls.crt`, `tls.key`
and optionally `ca.crt`
type: string
type:
description: Either 'http' (for plain-text routes - not recommended),
'edge', 'reencrypt' or 'passthrough'
type: string
type: object
serviceType:
description: Alternative service type when routes are not available
(e.g. on vanilla K8s)
type: string
type: object
nodeHost:
description: Host used for NodePort services
type: string
postgres:
description: PostgreSQL specification
properties:
adminSecret:
description: Secret used for unrestricted access to the database.
Created if does not exist. Must contain keys `username` and
`password`.
type: string
enabled:
description: True (or omitted) to deploy PostgreSQL database
type: boolean
image:
description: Image used for PostgreSQL deployment. Defaults to
registry.redhat.io/rhel8/postgresql-12:latest
type: string
persistentVolumeClaim:
description: Name of PVC where the database will store the data.
If empty, ephemeral storage will be used.
type: string
user:
description: Id of the user the container should run as
format: int64
type: integer
type: object
route:
description: Route for external access
properties:
host:
description: 'Host for the route leading to Controller REST endpoint.
Example: horreum.apps.mycloud.example.com'
type: string
tls:
description: Optional for edge and reencrypt routes, required
for passthrough; Name of the secret hosting `tls.crt`, `tls.key`
and optionally `ca.crt`
type: string
type:
description: Either 'http' (for plain-text routes - not recommended),
'edge', 'reencrypt' or 'passthrough'
type: string
type: object
serviceType:
description: Alternative service type when routes are not available
(e.g. on vanilla K8s)
type: string
type: object
status:
description: HorreumStatus defines the observed state of Horreum
properties:
keycloakUrl:
description: Public URL of Keycloak
type: string
lastUpdate:
description: Last time state has changed.
format: date-time
type: string
publicUrl:
description: Public URL of the Horreum application
type: string
reason:
description: Explanation for the current status.
type: string
status:
description: Ready, Pending or Error.
type: string
type: object
type: object
served: true
storage: true
subresources:
status: {}