Skip to content

Commit 252439c

Browse files
authored
Merge pull request #37 from datum-cloud/adding_deploy_manifests
Adding deployment config
2 parents aeaef46 + 7b2c1d4 commit 252439c

File tree

5 files changed

+121
-0
lines changed

5 files changed

+121
-0
lines changed

.github/workflows/publish.yml

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,3 +58,14 @@ jobs:
5858
tags: ${{ steps.meta.outputs.tags }}
5959
labels: ${{ steps.meta.outputs.labels }}
6060
target: production
61+
62+
publish-kustomize-bundles:
63+
permissions:
64+
id-token: write
65+
contents: read
66+
packages: write
67+
uses: datum-cloud/actions/.github/workflows/[email protected]
68+
with:
69+
bundle-name: ghcr.io/datum-cloud/public-website-kustomize
70+
bundle-path: config/base
71+
secrets: inherit

config/base/deployment.yaml

Lines changed: 65 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,65 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
labels:
5+
app.kubernetes.io/instance: public-website
6+
app.kubernetes.io/name: public-website
7+
app.kubernetes.io/version: 1.0.0
8+
name: public-website
9+
spec:
10+
progressDeadlineSeconds: 600
11+
replicas: 2
12+
revisionHistoryLimit: 5
13+
selector:
14+
matchLabels:
15+
app.kubernetes.io/component: frontend
16+
app.kubernetes.io/instance: public-website
17+
app.kubernetes.io/name: public-website
18+
strategy:
19+
rollingUpdate:
20+
maxSurge: 1
21+
maxUnavailable: 0
22+
type: RollingUpdate
23+
template:
24+
metadata:
25+
labels:
26+
app.kubernetes.io/component: frontend
27+
app.kubernetes.io/instance: public-website
28+
app.kubernetes.io/name: public-website
29+
spec:
30+
containers:
31+
- name: public-website
32+
image: ghcr.io/datum-cloud/public-website:latest
33+
imagePullPolicy: Always
34+
ports:
35+
- containerPort: 4321
36+
name: http
37+
protocol: TCP
38+
resources:
39+
requests:
40+
cpu: 500m
41+
memory: 512Mi
42+
limits:
43+
cpu: 1
44+
memory: 1Gi
45+
livenessProbe:
46+
failureThreshold: 3
47+
initialDelaySeconds: 5
48+
periodSeconds: 5
49+
timeoutSeconds: 10
50+
httpGet:
51+
path: /
52+
port: 4321
53+
scheme: HTTP
54+
readinessProbe:
55+
failureThreshold: 3
56+
initialDelaySeconds: 5
57+
periodSeconds: 5
58+
timeoutSeconds: 10
59+
httpGet:
60+
path: /
61+
port: 4321
62+
scheme: HTTP
63+
dnsPolicy: ClusterFirst
64+
restartPolicy: Always
65+
terminationGracePeriodSeconds: 30

config/base/http-route.yaml

Lines changed: 20 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,20 @@
1+
apiVersion: gateway.networking.k8s.io/v1beta1
2+
kind: HTTPRoute
3+
metadata:
4+
name: public-website
5+
spec:
6+
parentRefs:
7+
# This should be overridden at the environment level if needed to configure
8+
# which gateway should be used to expose the portal outside of the cluster.
9+
- name: external
10+
namespace: gateway-system
11+
rules:
12+
- matches:
13+
- path:
14+
type: PathPrefix
15+
value: /
16+
backendRefs:
17+
- name: public-website
18+
kind: Service
19+
group: ''
20+
port: 4321

config/base/kustomization.yaml

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
resources:
2+
- deployment.yaml
3+
- service.yaml
4+
- http-route.yaml

config/base/service.yaml

Lines changed: 21 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,21 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
labels:
5+
app.kubernetes.io/instance: public-website
6+
app.kubernetes.io/name: public-website
7+
app.kubernetes.io/version: 1.0.0
8+
name: public-website
9+
spec:
10+
internalTrafficPolicy: Cluster
11+
ports:
12+
- name: http
13+
port: 4321
14+
protocol: TCP
15+
targetPort: http
16+
selector:
17+
app.kubernetes.io/component: frontend
18+
app.kubernetes.io/instance: public-website
19+
app.kubernetes.io/name: public-website
20+
sessionAffinity: None
21+
type: ClusterIP

0 commit comments

Comments
 (0)