This repository has been archived by the owner on Sep 6, 2022. It is now read-only.
-
Notifications
You must be signed in to change notification settings - Fork 33
/
oxkube.yml
219 lines (219 loc) · 6.21 KB
/
oxkube.yml
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
apiVersion: v1
kind: Template
metadata:
name: ox-kube
annotations:
description: "Deploys the Onix Agent for Kubernetes"
parameters:
- name: PLATFORM_ID
value: ocp-01
displayName: Platform Identifier
description: The unique identifier string for the platform in which the Onix Kube Agent is deployed and processing events.
required: true
- name: LOG_LEVEL
value: Info
displayName: Log Level
description: >-
The level of login used by the Onix Kube Agent
- i.e. Trace, Debug, Info, Warn, Error, Fatal, Panic
required: true
- name: METRICS
value: "false"
displayName: Metrics
description: >-
A flag indicating whether the metrics endpoint should be enabled.
- i.e. true or false
required: false
- name: CONSUMER
value: webhook
displayName: Events Consumer
description: >-
The type of event consumer used by the Onix Kube Agent to receive event information
- i.e. webhook or broker
required: true
- name: ONIX_URL
value: http://onixwapi-onix.192.168.64.6.nip.io
displayName: Onix WAPI URL
description: >-
The URL of the Onix Web API
required: true
- name: ONIX_AUTHMODE
value: basic
displayName: Onix Authentication Method
description: >-
The method used by the Onix Web API to authenticate requests
- i.e. none, basic, oidc
required: true
- name: ONIX_USERNAME
value: admin
displayName: Onix Username
description: >-
The username used by the Onix Kube Agent to connect to the Onix Web API
required: true
- name: ONIX_PASSWORD
value: 5PRKFvoy
displayName: Onix Password
description: >-
The password used by the Onix Kube Agent to connect to the Onix Web API
required: true
- name: OXKU_WEBHOOK_USERNAME
displayName: Onix Kube Webhook User Username
description: The user username used by the Onix Kube Agent webhook to authenticate requests.
required: true
value: 'sentinel'
- name: OXKU_WEBHOOK_PASSWORD
displayName: Onix Kube Webhook User Password
description: The user password used by the Onix Kube Agent webhook to authenticate requests.
required: true
from: "[a-zA-Z0-9]{8}"
generate: expression
objects:
- apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
name: oxkube
spec:
replicas: 1
progressDeadlineSeconds: 600
revisionHistoryLimit: 10
selector:
deploymentconfig: oxkube
strategy:
activeDeadlineSeconds: 21600
resources: {}
rollingParams:
intervalSeconds: 1
maxSurge: 25%
maxUnavailable: 25%
timeoutSeconds: 600
updatePeriodSeconds: 1
type: Rolling
template:
metadata:
labels:
app: oxkube
deploymentconfig: oxkube
spec:
containers:
- name: oxkube
env:
- name: OXKU_ID
value: "${PLATFORM_ID}"
- name: OXKU_LOGINLEVEL
value: "${LOG_LEVEL}"
- name: OXKU_METRICS
value: "${METRICS}"
- name: OXKU_ONIX_AUTHMODE
value: "${ONIX_AUTHMODE}"
- name: OXKU_ONIX_URL
value: "${ONIX_URL}"
- name: OXKU_ONIX_USER
valueFrom:
secretKeyRef:
name: onix-user-secret
key: username
- name: OXKU_ONIX_PASSWORD
valueFrom:
secretKeyRef:
name: onix-user-secret
key: password
- name: OXKU_CONSUMERS_CONSUMER
value: "${CONSUMER}"
- name: OXKU_CONSUMERS_WEBHOOK_AUTHMODE
value: "basic"
- name: OXKU_CONSUMERS_WEBHOOK_INSECURESKIPVERIFY
value: "true"
- name: OXKU_CONSUMERS_WEBHOOK_USERNAME
valueFrom:
secretKeyRef:
name: oxkube-user-secret
key: username
- name: OXKU_CONSUMERS_WEBHOOK_PASSWORD
valueFrom:
secretKeyRef:
name: oxkube-user-secret
key: password
imagePullPolicy: IfNotPresent
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
triggers:
- type: ConfigChange
- type: ImageChange
imageChangeParams:
automatic: true
containerNames:
- oxkube
from:
kind: ImageStreamTag
name: oxkube-snapshot:latest
- apiVersion: image.openshift.io/v1
kind: ImageStream
metadata:
annotations:
labels:
app: oxkube
name: oxkube-snapshot
spec:
lookupPolicy:
local: true
tags:
- annotations:
from:
kind: DockerImage
name: gatblau/oxkube-snapshot
importPolicy:
scheduled: true
name: latest
referencePolicy:
type: Local
- apiVersion: v1
kind: Secret
metadata:
name: onix-user-secret
type: Opaque
stringData:
username: "${ONIX_USERNAME}"
password: "${ONIX_PASSWORD}"
- apiVersion: v1
kind: Secret
metadata:
name: oxkube-user-secret
type: Opaque
stringData:
username: "${OXKU_WEBHOOK_USERNAME}"
password: "${OXKU_WEBHOOK_PASSWORD}"
- apiVersion: v1
kind: Service
metadata:
name: oxkube
spec:
ports:
- name: "8080"
port: 8080
protocol: TCP
targetPort: 8000
selector:
deploymentconfig: oxkube
sessionAffinity: None
type: ClusterIP
- apiVersion: route.openshift.io/v1
kind: Route
metadata:
name: oxkube
spec:
port:
targetPort: '8080'
tls:
insecureEdgeTerminationPolicy: Redirect
termination: edge
to:
kind: Service
name: oxkube
weight: 100
wildcardPolicy: None