Skip to content

Commit cfa45c2

Browse files
feat: add ocp deployment manifest files
1 parent 0c4932b commit cfa45c2

13 files changed

+405
-0
lines changed
Lines changed: 41 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,41 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: number-service
5+
labels: &labels
6+
app.kubernetes.io/name: number-service
7+
app.kubernetes.io/instance: number-service
8+
app.kubernetes.io/component: api
9+
app.kubernetes.io/part-of: microservies-demo
10+
spec:
11+
replicas: 1
12+
selector:
13+
matchLabels: *labels
14+
template:
15+
metadata:
16+
labels: *labels
17+
spec:
18+
securityContext:
19+
runAsUser: 1000690000
20+
runAsGroup: 1000690000
21+
automountServiceAccountToken: false
22+
containers:
23+
- name: number-service
24+
image: ghcr.io/leonsteinhaeuser/rh-ocp-examples-number:main
25+
ports:
26+
- containerPort: 8081
27+
resources:
28+
limits:
29+
cpu: 100m
30+
memory: 32Mi
31+
requests:
32+
cpu: 10m
33+
memory: 32Mi
34+
securityContext:
35+
runAsUser: 1000690000
36+
runAsGroup: 1000690000
37+
allowPrivilegeEscalation: false
38+
readOnlyRootFilesystem: true
39+
capabilities:
40+
drop:
41+
- all
Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
apiVersion: apps/v1
2+
kind: Deployment
3+
metadata:
4+
name: view-service
5+
labels: &labels
6+
app.kubernetes.io/name: view-service
7+
app.kubernetes.io/instance: view-service
8+
app.kubernetes.io/component: api
9+
app.kubernetes.io/part-of: microservies-demo
10+
spec:
11+
replicas: 1
12+
selector:
13+
matchLabels: *labels
14+
template:
15+
metadata:
16+
labels: *labels
17+
spec:
18+
securityContext:
19+
runAsUser: 65535
20+
runAsGroup: 65535
21+
automountServiceAccountToken: false
22+
containers:
23+
- name: view-service
24+
image: ghcr.io/leonsteinhaeuser/rh-ocp-examples-view:main
25+
ports:
26+
- containerPort: 8080
27+
env:
28+
- name: NUMBER_SERVICE_URL
29+
value: http://number-service.apps-crc.testing
30+
resources:
31+
limits:
32+
cpu: 100m
33+
memory: 32Mi
34+
requests:
35+
cpu: 10m
36+
memory: 32Mi
37+
securityContext:
38+
runAsUser: 65535
39+
runAsGroup: 65535
40+
allowPrivilegeEscalation: false
41+
readOnlyRootFilesystem: true
42+
capabilities:
43+
drop:
44+
- all
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
apiVersion: networking.k8s.io/v1
2+
kind: NetworkPolicy
3+
metadata:
4+
name: number-service
5+
labels: &labels
6+
app.kubernetes.io/name: number-service
7+
app.kubernetes.io/instance: number-service
8+
app.kubernetes.io/component: api
9+
app.kubernetes.io/part-of: microservies-demo
10+
spec:
11+
podSelector:
12+
matchLabels: *labels
13+
policyTypes:
14+
- Ingress
15+
ingress:
16+
- from:
17+
- podSelector:
18+
matchLabels:
19+
app.kubernetes.io/name: view-service
20+
app.kubernetes.io/instance: view-service
21+
app.kubernetes.io/component: api
22+
app.kubernetes.io/part-of: microservies-demo
Lines changed: 19 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,19 @@
1+
apiVersion: route.openshift.io/v1
2+
kind: Route
3+
metadata:
4+
name: view-service
5+
labels:
6+
app.kubernetes.io/name: view-service
7+
app.kubernetes.io/instance: view-service
8+
app.kubernetes.io/component: api
9+
app.kubernetes.io/part-of: microservies-demo
10+
spec:
11+
host: view-service.apps-crc.testing
12+
port:
13+
targetPort: 8080
14+
tls:
15+
insecureEdgeTerminationPolicy: None
16+
termination: passthrough
17+
to:
18+
kind: Service
19+
name: view-service
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: number-service
5+
labels: &labels
6+
app.kubernetes.io/name: number-service
7+
app.kubernetes.io/instance: number-service
8+
app.kubernetes.io/component: api
9+
app.kubernetes.io/part-of: microservies-demo
10+
spec:
11+
ports:
12+
- port: 8081
13+
targetPort: 8081
14+
selector: *labels
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: view-service
5+
labels: &labels
6+
app.kubernetes.io/name: view-service
7+
app.kubernetes.io/instance: view-service
8+
app.kubernetes.io/component: api
9+
app.kubernetes.io/part-of: microservies-demo
10+
spec:
11+
ports:
12+
- port: 8080
13+
targetPort: 8080
14+
selector: *labels
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
apiVersion: networking.k8s.io/v1
2+
kind: NetworkPolicy
3+
metadata:
4+
name: number-service
5+
labels: &labels
6+
app.kubernetes.io/name: number-service
7+
app.kubernetes.io/instance: number-service
8+
app.kubernetes.io/component: api
9+
app.kubernetes.io/part-of: microservies-demo
10+
spec:
11+
podSelector:
12+
matchLabels: *labels
13+
policyTypes:
14+
- Ingress
15+
ingress:
16+
- from:
17+
- podSelector:
18+
matchLabels:
19+
app.kubernetes.io/name: view-service
20+
app.kubernetes.io/instance: view-service
21+
app.kubernetes.io/component: api
22+
app.kubernetes.io/part-of: microservies-demo
Lines changed: 60 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,60 @@
1+
apiVersion: argoproj.io/v1alpha1
2+
kind: Rollout
3+
metadata:
4+
name: rollouts-demo
5+
labels: &labels
6+
app.kubernetes.io/name: number-service
7+
app.kubernetes.io/instance: number-service
8+
app.kubernetes.io/component: api
9+
app.kubernetes.io/part-of: microservies-demo
10+
spec:
11+
replicas: 3
12+
strategy:
13+
canary:
14+
canaryService: number-service-canary
15+
stableService: number-service
16+
trafficRouting:
17+
plugins:
18+
argoproj-labs/openshift:
19+
routes:
20+
- number-service
21+
steps:
22+
- setWeight: 20
23+
- pause: {}
24+
- setWeight: 40
25+
- pause: {duration: 45}
26+
- setWeight: 60
27+
- pause: {duration: 20}
28+
- setWeight: 80
29+
- pause: {duration: 10}
30+
revisionHistoryLimit: 2
31+
selector:
32+
matchLabels: *labels
33+
template:
34+
metadata:
35+
labels: *labels
36+
spec:
37+
securityContext:
38+
runAsUser: 65535
39+
runAsGroup: 65535
40+
automountServiceAccountToken: false
41+
containers:
42+
- name: number-service
43+
image: ghcr.io/leonsteinhaeuser/rh-ocp-examples-number:main
44+
ports:
45+
- containerPort: 8081
46+
resources:
47+
limits:
48+
cpu: 100m
49+
memory: 32Mi
50+
requests:
51+
cpu: 10m
52+
memory: 32Mi
53+
securityContext:
54+
runAsUser: 65535
55+
runAsGroup: 65535
56+
allowPrivilegeEscalation: false
57+
readOnlyRootFilesystem: true
58+
capabilities:
59+
drop:
60+
- all
Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,63 @@
1+
apiVersion: argoproj.io/v1alpha1
2+
kind: Rollout
3+
metadata:
4+
name: view-service
5+
labels: &labels
6+
app.kubernetes.io/name: view-service
7+
app.kubernetes.io/instance: view-service
8+
app.kubernetes.io/component: api
9+
app.kubernetes.io/part-of: microservies-demo
10+
spec:
11+
replicas: 3
12+
strategy:
13+
canary:
14+
canaryService: view-service-canary
15+
stableService: view-service
16+
trafficRouting:
17+
plugins:
18+
argoproj-labs/openshift:
19+
routes:
20+
- view-service
21+
steps:
22+
- setWeight: 20
23+
- pause: {}
24+
- setWeight: 40
25+
- pause: {duration: 45}
26+
- setWeight: 60
27+
- pause: {duration: 20}
28+
- setWeight: 80
29+
- pause: {duration: 10}
30+
revisionHistoryLimit: 2
31+
selector:
32+
matchLabels: *labels
33+
template:
34+
metadata:
35+
labels: *labels
36+
spec:
37+
securityContext:
38+
runAsUser: 65535
39+
runAsGroup: 65535
40+
automountServiceAccountToken: false
41+
containers:
42+
- name: view-service
43+
image: ghcr.io/leonsteinhaeuser/rh-ocp-examples-view:main
44+
ports:
45+
- containerPort: 8080
46+
env:
47+
- name: NUMBER_SERVICE_URL
48+
value: http://number-service.apps-crc.testing
49+
resources:
50+
limits:
51+
cpu: 100m
52+
memory: 32Mi
53+
requests:
54+
cpu: 10m
55+
memory: 32Mi
56+
securityContext:
57+
runAsUser: 65535
58+
runAsGroup: 65535
59+
allowPrivilegeEscalation: false
60+
readOnlyRootFilesystem: true
61+
capabilities:
62+
drop:
63+
- all
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
apiVersion: route.openshift.io/v1
2+
kind: Route
3+
metadata:
4+
name: number-service
5+
labels:
6+
app.kubernetes.io/name: number-service
7+
app.kubernetes.io/instance: number-service
8+
app.kubernetes.io/component: api
9+
app.kubernetes.io/part-of: microservies-demo
10+
spec:
11+
host: number-service.apps-crc.testing
12+
port:
13+
targetPort: 8081
14+
to:
15+
kind: Service
16+
name: number-service
17+
weight: 100
18+
alternateBackends:
19+
- kind: Service
20+
name: number-service-canary
21+
weight: 0
22+
endpointPublishingStrategy:
23+
scope: Internal
24+
type: LoadBalancerService
Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,24 @@
1+
apiVersion: route.openshift.io/v1
2+
kind: Route
3+
metadata:
4+
name: view-service
5+
labels:
6+
app.kubernetes.io/name: view-service
7+
app.kubernetes.io/instance: view-service
8+
app.kubernetes.io/component: api
9+
app.kubernetes.io/part-of: microservies-demo
10+
spec:
11+
host: view-service.apps-crc.testing
12+
port:
13+
targetPort: 8080
14+
tls:
15+
insecureEdgeTerminationPolicy: None
16+
termination: passthrough
17+
to:
18+
kind: Service
19+
name: view-service
20+
weight: 100
21+
alternateBackends:
22+
- kind: Service
23+
name: view-service-canary
24+
weight: 0
Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
apiVersion: v1
2+
kind: Service
3+
metadata:
4+
name: number-service
5+
labels: &labels
6+
app.kubernetes.io/name: number-service
7+
app.kubernetes.io/instance: number-service
8+
app.kubernetes.io/component: api
9+
app.kubernetes.io/part-of: microservies-demo
10+
spec:
11+
ports:
12+
- port: 8081
13+
targetPort: 8081
14+
selector: *labels
15+
---
16+
apiVersion: v1
17+
kind: Service
18+
metadata:
19+
name: number-service-canary
20+
labels: &labels
21+
app.kubernetes.io/name: number-service
22+
app.kubernetes.io/instance: number-service
23+
app.kubernetes.io/component: api
24+
app.kubernetes.io/part-of: microservies-demo
25+
spec:
26+
ports:
27+
- port: 8081
28+
targetPort: 8081
29+
selector: *labels

0 commit comments

Comments
 (0)