Skip to content

Commit 28de1f8

Browse files
committed
add console deployment resources
1 parent 7acc038 commit 28de1f8

11 files changed

+336
-0
lines changed
Lines changed: 79 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,79 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: console-backend
5+
labels:
6+
app.kubernetes.io/component: console-backend
7+
app.kubernetes.io/name: console-backend
8+
spec:
9+
replicas: 1
10+
selector:
11+
matchLabels:
12+
app.kubernetes.io/name: console-backend
13+
strategy:
14+
type: Recreate
15+
template:
16+
metadata:
17+
labels:
18+
app.kubernetes.io/name: console-backend
19+
spec:
20+
serviceAccountName: console-backend
21+
initContainers:
22+
- name: wait-for-console-db
23+
image: registry.redhat.io/rhel9/mariadb-105@sha256:050dd5a7a32395b73b8680570e967e55050b152727412fdd73a25d8816e62d53
24+
command:
25+
- /bin/sh
26+
- -c
27+
- |
28+
until mysqladmin ping -hconsole-db -u$MYSQL_USER -p$MYSQL_PASSWORD --silent; do
29+
echo 'Waiting for the console database to be ready...'
30+
sleep 5
31+
done
32+
containers:
33+
- name: console-backend
34+
image: quay.io/securesign/rhtas-console@sha256:75966d60ed709af33efd48c53b96ea7b2fcd4608f90ccc56885bf224e34b55f5
35+
imagePullPolicy: IfNotPresent
36+
env:
37+
- name: TUF_REPO_URL
38+
value: https://tuf-repo-cdn.sigstore.dev
39+
- name: DB_DSN
40+
valueFrom:
41+
secretKeyRef:
42+
name: console-db-connection
43+
key: dsn
44+
- name: MYSQL_USER
45+
valueFrom:
46+
secretKeyRef:
47+
name: console-db-connection
48+
key: mysql-user
49+
- name: MYSQL_PASSWORD
50+
valueFrom:
51+
secretKeyRef:
52+
name: console-db-connection
53+
key: mysql-password
54+
- name: SSL_CERT_DIR
55+
value: /var/run/configs/tas/ca-trust:/var/run/secrets/kubernetes.io/serviceaccount
56+
ports:
57+
- containerPort: 8080
58+
name: http
59+
protocol: TCP
60+
livenessProbe:
61+
failureThreshold: 3
62+
httpGet:
63+
path: /healthz
64+
port: 8080
65+
scheme: HTTP
66+
initialDelaySeconds: 20
67+
periodSeconds: 10
68+
successThreshold: 1
69+
timeoutSeconds: 1
70+
readinessProbe:
71+
failureThreshold: 3
72+
httpGet:
73+
path: /healthz
74+
port: 8080
75+
scheme: HTTP
76+
initialDelaySeconds: 10
77+
periodSeconds: 10
78+
successThreshold: 1
79+
timeoutSeconds: 1
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: console-backend
5+
labels:
6+
app.kubernetes.io/component: console-backend
7+
app.kubernetes.io/name: console-backend
8+
spec:
9+
type: ClusterIP
10+
selector:
11+
app.kubernetes.io/name: console-backend
12+
ports:
13+
- name: http
14+
port: 8080
15+
targetPort: http

deployment/console-db-deploy.yaml

Lines changed: 83 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,83 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: console-db
5+
labels:
6+
app.kubernetes.io/component: console-db
7+
app.kubernetes.io/name: console-db
8+
spec:
9+
replicas: 1
10+
selector:
11+
matchLabels:
12+
app.kubernetes.io/name: console-db
13+
strategy:
14+
type: Recreate
15+
template:
16+
metadata:
17+
labels:
18+
app.kubernetes.io/name: console-db
19+
spec:
20+
serviceAccountName: console-db
21+
containers:
22+
- name: console-db
23+
image: registry.redhat.io/rhel9/mariadb-105@sha256:050dd5a7a32395b73b8680570e967e55050b152727412fdd73a25d8816e62d53
24+
imagePullPolicy: IfNotPresent
25+
command: ["run-mysqld"]
26+
env:
27+
- name: MYSQL_USER
28+
valueFrom:
29+
secretKeyRef:
30+
name: console-db-connection
31+
key: mysql-user
32+
- name: MYSQL_PASSWORD
33+
valueFrom:
34+
secretKeyRef:
35+
name: console-db-connection
36+
key: mysql-password
37+
- name: MYSQL_DATABASE
38+
valueFrom:
39+
secretKeyRef:
40+
name: console-db-connection
41+
key: mysql-database
42+
- name: MYSQL_ROOT_PASSWORD
43+
valueFrom:
44+
secretKeyRef:
45+
name: console-db-connection
46+
key: mysql-root-password
47+
- name: MYSQL_PORT
48+
valueFrom:
49+
secretKeyRef:
50+
name: console-db-connection
51+
key: mysql-port
52+
ports:
53+
- containerPort: 3306
54+
name: mysql
55+
livenessProbe:
56+
exec:
57+
command:
58+
- bash
59+
- -c
60+
- mariadb-admin -u ${MYSQL_USER} -p${MYSQL_PASSWORD} ping
61+
failureThreshold: 3
62+
initialDelaySeconds: 30
63+
periodSeconds: 10
64+
successThreshold: 1
65+
timeoutSeconds: 1
66+
readinessProbe:
67+
exec:
68+
command:
69+
- bash
70+
- -c
71+
- mariadb -u ${MYSQL_USER} -p${MYSQL_PASSWORD} -e "SELECT 1;"
72+
failureThreshold: 3
73+
initialDelaySeconds: 10
74+
periodSeconds: 10
75+
successThreshold: 1
76+
timeoutSeconds: 1
77+
volumeMounts:
78+
- mountPath: /var/lib/mysql
79+
name: storage
80+
volumes:
81+
- name: storage
82+
persistentVolumeClaim:
83+
claimName: console-mysql

deployment/console-db-pvc.yaml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: v1
2+
kind: PersistentVolumeClaim
3+
metadata:
4+
name: console-mysql
5+
labels:
6+
app.kubernetes.io/component: console-db
7+
app.kubernetes.io/name: console-db
8+
spec:
9+
accessModes:
10+
- ReadWriteOnce
11+
resources:
12+
requests:
13+
storage: 1Gi

deployment/console-db-secret.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: v1
2+
kind: Secret
3+
metadata:
4+
name: console-db-connection
5+
labels:
6+
app.kubernetes.io/component: console-db
7+
app.kubernetes.io/name: console-db
8+
type: Opaque
9+
stringData:
10+
mysql-user: mysql
11+
mysql-password: mysqlpassword
12+
mysql-database: tuf_trust
13+
mysql-root-password: rootpw
14+
mysql-port: "3306"
15+
dsn: "mysql:mysqlpassword@tcp(console-db:3306)/tuf_trust"

deployment/console-db-service.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: console-db
5+
labels:
6+
app.kubernetes.io/component: console-db
7+
app.kubernetes.io/name: console-db
8+
spec:
9+
type: ClusterIP
10+
selector:
11+
app.kubernetes.io/name: console-db
12+
ports:
13+
- name: mysql
14+
port: 3306
15+
targetPort: mysql
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
apiVersion: v1
2+
kind: ServiceAccount
3+
metadata:
4+
name: console-db
5+
---
6+
apiVersion: v1
7+
kind: ServiceAccount
8+
metadata:
9+
name: console-backend
10+
---
11+
apiVersion: v1
12+
kind: ServiceAccount
13+
metadata:
14+
name: console-ui

deployment/console-ui-deploy.yaml

Lines changed: 53 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,53 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: console-ui
5+
labels:
6+
app.kubernetes.io/component: console-ui
7+
app.kubernetes.io/name: console-ui
8+
spec:
9+
replicas: 1
10+
selector:
11+
matchLabels:
12+
app.kubernetes.io/name: console-ui
13+
template:
14+
metadata:
15+
labels:
16+
app.kubernetes.io/name: console-ui
17+
spec:
18+
serviceAccountName: console-ui
19+
initContainers:
20+
- name: wait-for-backend
21+
image: quay.io/securesign/rhtas-console-ui@sha256:c0b0b2d76548c05efadb2425baf93609cf6c40180f170cb531fbb7689a91db31
22+
command:
23+
- /bin/sh
24+
- -c
25+
- |
26+
until curl -sf http://console-backend:8080/healthz; do
27+
echo "Waiting for console-backend..."
28+
sleep 5
29+
done
30+
containers:
31+
- name: console-ui
32+
image: quay.io/securesign/rhtas-console-ui@sha256:c0b0b2d76548c05efadb2425baf93609cf6c40180f170cb531fbb7689a91db31
33+
imagePullPolicy: IfNotPresent
34+
env:
35+
- name: CONSOLE_API_URL
36+
value: http://console-backend:8080
37+
- name: AUTH_REQUIRED
38+
value: "false"
39+
ports:
40+
- containerPort: 8080
41+
name: http
42+
livenessProbe:
43+
httpGet:
44+
path: /
45+
port: http
46+
initialDelaySeconds: 15
47+
periodSeconds: 10
48+
readinessProbe:
49+
httpGet:
50+
path: /
51+
port: http
52+
initialDelaySeconds: 5
53+
periodSeconds: 10

deployment/console-ui-route.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: route.openshift.io/v1
2+
kind: Route
3+
metadata:
4+
name: console-ui
5+
labels:
6+
app.kubernetes.io/component: console-ui
7+
app.kubernetes.io/name: console-ui
8+
spec:
9+
to:
10+
kind: Service
11+
name: console-ui
12+
port:
13+
targetPort: http
14+
tls:
15+
termination: edge

deployment/console-ui-service.yaml

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: console-ui
5+
labels:
6+
app.kubernetes.io/component: console-ui
7+
app.kubernetes.io/name: console-ui
8+
spec:
9+
type: ClusterIP
10+
selector:
11+
app.kubernetes.io/name: console-ui
12+
ports:
13+
- name: http
14+
port: 8080
15+
targetPort: http

0 commit comments

Comments
 (0)