Skip to content

Commit

Permalink
feat: add ocp deployment manifest files
Browse files Browse the repository at this point in the history
  • Loading branch information
leonsteinhaeuser committed Nov 17, 2024
1 parent 0c4932b commit 923dde2
Show file tree
Hide file tree
Showing 14 changed files with 406 additions and 0 deletions.
1 change: 1 addition & 0 deletions .github/workflows/container_build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,7 @@ jobs:
id: build-and-push
uses: docker/build-push-action@0565240e2d4ab88bba5387d719585280857ece09 # v5.0.0
with:
platforms: linux/amd64,linux/arm64
context: services/${{ matrix.service_name }}
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
Expand Down
41 changes: 41 additions & 0 deletions ocp/deployments/manifests/basic/deployment_number_service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: number-service
labels: &labels
app.kubernetes.io/name: number-service
app.kubernetes.io/instance: number-service
app.kubernetes.io/component: api
app.kubernetes.io/part-of: microservies-demo
spec:
replicas: 1
selector:
matchLabels: *labels
template:
metadata:
labels: *labels
spec:
securityContext:
runAsUser: 65535
runAsGroup: 65535
automountServiceAccountToken: false
containers:
- name: number-service
image: ghcr.io/leonsteinhaeuser/rh-ocp-examples-number:main
ports:
- containerPort: 8081
resources:
limits:
cpu: 100m
memory: 32Mi
requests:
cpu: 10m
memory: 32Mi
securityContext:
runAsUser: 65535
runAsGroup: 65535
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- all
44 changes: 44 additions & 0 deletions ocp/deployments/manifests/basic/deployment_view_service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,44 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: view-service
labels: &labels
app.kubernetes.io/name: view-service
app.kubernetes.io/instance: view-service
app.kubernetes.io/component: api
app.kubernetes.io/part-of: microservies-demo
spec:
replicas: 1
selector:
matchLabels: *labels
template:
metadata:
labels: *labels
spec:
securityContext:
runAsUser: 65535
runAsGroup: 65535
automountServiceAccountToken: false
containers:
- name: view-service
image: ghcr.io/leonsteinhaeuser/rh-ocp-examples-view:main
ports:
- containerPort: 8080
env:
- name: NUMBER_SERVICE_URL
value: http://number-service.apps-crc.testing
resources:
limits:
cpu: 100m
memory: 32Mi
requests:
cpu: 10m
memory: 32Mi
securityContext:
runAsUser: 65535
runAsGroup: 65535
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- all
22 changes: 22 additions & 0 deletions ocp/deployments/manifests/basic/networkpolicy_number_service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: number-service
labels: &labels
app.kubernetes.io/name: number-service
app.kubernetes.io/instance: number-service
app.kubernetes.io/component: api
app.kubernetes.io/part-of: microservies-demo
spec:
podSelector:
matchLabels: *labels
policyTypes:
- Ingress
ingress:
- from:
- podSelector:
matchLabels:
app.kubernetes.io/name: view-service
app.kubernetes.io/instance: view-service
app.kubernetes.io/component: api
app.kubernetes.io/part-of: microservies-demo
19 changes: 19 additions & 0 deletions ocp/deployments/manifests/basic/route_view_service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
apiVersion: route.openshift.io/v1
kind: Route
metadata:
name: view-service
labels:
app.kubernetes.io/name: view-service
app.kubernetes.io/instance: view-service
app.kubernetes.io/component: api
app.kubernetes.io/part-of: microservies-demo
spec:
host: view-service.apps-crc.testing
port:
targetPort: 8080
tls:
insecureEdgeTerminationPolicy: None
termination: passthrough
to:
kind: Service
name: view-service
14 changes: 14 additions & 0 deletions ocp/deployments/manifests/basic/service_number_service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: v1
kind: Service
metadata:
name: number-service
labels: &labels
app.kubernetes.io/name: number-service
app.kubernetes.io/instance: number-service
app.kubernetes.io/component: api
app.kubernetes.io/part-of: microservies-demo
spec:
ports:
- port: 8081
targetPort: 8081
selector: *labels
14 changes: 14 additions & 0 deletions ocp/deployments/manifests/basic/service_view_service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: v1
kind: Service
metadata:
name: view-service
labels: &labels
app.kubernetes.io/name: view-service
app.kubernetes.io/instance: view-service
app.kubernetes.io/component: api
app.kubernetes.io/part-of: microservies-demo
spec:
ports:
- port: 8080
targetPort: 8080
selector: *labels
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: number-service
labels: &labels
app.kubernetes.io/name: number-service
app.kubernetes.io/instance: number-service
app.kubernetes.io/component: api
app.kubernetes.io/part-of: microservies-demo
spec:
podSelector:
matchLabels: *labels
policyTypes:
- Ingress
ingress:
- from:
- podSelector:
matchLabels:
app.kubernetes.io/name: view-service
app.kubernetes.io/instance: view-service
app.kubernetes.io/component: api
app.kubernetes.io/part-of: microservies-demo
60 changes: 60 additions & 0 deletions ocp/deployments/manifests/progressive/rollout_number_service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,60 @@
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: rollouts-demo
labels: &labels
app.kubernetes.io/name: number-service
app.kubernetes.io/instance: number-service
app.kubernetes.io/component: api
app.kubernetes.io/part-of: microservies-demo
spec:
replicas: 3
strategy:
canary:
canaryService: number-service-canary
stableService: number-service
trafficRouting:
plugins:
argoproj-labs/openshift:
routes:
- number-service
steps:
- setWeight: 20
- pause: {}
- setWeight: 40
- pause: {duration: 45}
- setWeight: 60
- pause: {duration: 20}
- setWeight: 80
- pause: {duration: 10}
revisionHistoryLimit: 2
selector:
matchLabels: *labels
template:
metadata:
labels: *labels
spec:
securityContext:
runAsUser: 65535
runAsGroup: 65535
automountServiceAccountToken: false
containers:
- name: number-service
image: ghcr.io/leonsteinhaeuser/rh-ocp-examples-number:main
ports:
- containerPort: 8081
resources:
limits:
cpu: 100m
memory: 32Mi
requests:
cpu: 10m
memory: 32Mi
securityContext:
runAsUser: 65535
runAsGroup: 65535
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- all
63 changes: 63 additions & 0 deletions ocp/deployments/manifests/progressive/rollout_view_service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,63 @@
apiVersion: argoproj.io/v1alpha1
kind: Rollout
metadata:
name: view-service
labels: &labels
app.kubernetes.io/name: view-service
app.kubernetes.io/instance: view-service
app.kubernetes.io/component: api
app.kubernetes.io/part-of: microservies-demo
spec:
replicas: 3
strategy:
canary:
canaryService: view-service-canary
stableService: view-service
trafficRouting:
plugins:
argoproj-labs/openshift:
routes:
- view-service
steps:
- setWeight: 20
- pause: {}
- setWeight: 40
- pause: {duration: 45}
- setWeight: 60
- pause: {duration: 20}
- setWeight: 80
- pause: {duration: 10}
revisionHistoryLimit: 2
selector:
matchLabels: *labels
template:
metadata:
labels: *labels
spec:
securityContext:
runAsUser: 65535
runAsGroup: 65535
automountServiceAccountToken: false
containers:
- name: view-service
image: ghcr.io/leonsteinhaeuser/rh-ocp-examples-view:main
ports:
- containerPort: 8080
env:
- name: NUMBER_SERVICE_URL
value: http://number-service.apps-crc.testing
resources:
limits:
cpu: 100m
memory: 32Mi
requests:
cpu: 10m
memory: 32Mi
securityContext:
runAsUser: 65535
runAsGroup: 65535
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
capabilities:
drop:
- all
24 changes: 24 additions & 0 deletions ocp/deployments/manifests/progressive/route_number_service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
apiVersion: route.openshift.io/v1
kind: Route
metadata:
name: number-service
labels:
app.kubernetes.io/name: number-service
app.kubernetes.io/instance: number-service
app.kubernetes.io/component: api
app.kubernetes.io/part-of: microservies-demo
spec:
host: number-service.apps-crc.testing
port:
targetPort: 8081
to:
kind: Service
name: number-service
weight: 100
alternateBackends:
- kind: Service
name: number-service-canary
weight: 0
endpointPublishingStrategy:
scope: Internal
type: LoadBalancerService
24 changes: 24 additions & 0 deletions ocp/deployments/manifests/progressive/route_view_service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
apiVersion: route.openshift.io/v1
kind: Route
metadata:
name: view-service
labels:
app.kubernetes.io/name: view-service
app.kubernetes.io/instance: view-service
app.kubernetes.io/component: api
app.kubernetes.io/part-of: microservies-demo
spec:
host: view-service.apps-crc.testing
port:
targetPort: 8080
tls:
insecureEdgeTerminationPolicy: None
termination: passthrough
to:
kind: Service
name: view-service
weight: 100
alternateBackends:
- kind: Service
name: view-service-canary
weight: 0
29 changes: 29 additions & 0 deletions ocp/deployments/manifests/progressive/service_number_service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
apiVersion: v1
kind: Service
metadata:
name: number-service
labels: &labels
app.kubernetes.io/name: number-service
app.kubernetes.io/instance: number-service
app.kubernetes.io/component: api
app.kubernetes.io/part-of: microservies-demo
spec:
ports:
- port: 8081
targetPort: 8081
selector: *labels
---
apiVersion: v1
kind: Service
metadata:
name: number-service-canary
labels: &labels
app.kubernetes.io/name: number-service
app.kubernetes.io/instance: number-service
app.kubernetes.io/component: api
app.kubernetes.io/part-of: microservies-demo
spec:
ports:
- port: 8081
targetPort: 8081
selector: *labels
Loading

0 comments on commit 923dde2

Please sign in to comment.