Skip to content

Commit

Permalink
Merge branch 'dev' into stable/12
Browse files Browse the repository at this point in the history
  • Loading branch information
machisuji committed Jun 1, 2022
2 parents a25deec + 19269f8 commit 5680f34
Show file tree
Hide file tree
Showing 17 changed files with 493 additions and 0 deletions.
13 changes: 13 additions & 0 deletions kubernetes/01-backend-networkpolicy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: backend
spec:
ingress:
- from:
- podSelector:
matchLabels:
openproject.network/backend: "true"
podSelector:
matchLabels:
openproject.network/backend: "true"
13 changes: 13 additions & 0 deletions kubernetes/01-frontend-networkpolicy.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: frontend
spec:
ingress:
- from:
- podSelector:
matchLabels:
openproject.network/frontend: "true"
podSelector:
matchLabels:
openproject.network/frontend: "true"
14 changes: 14 additions & 0 deletions kubernetes/01-opdata-persistentvolumeclaim.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: null
labels:
openproject.service: opdata
name: opdata
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
status: {}
14 changes: 14 additions & 0 deletions kubernetes/01-pgdata-persistentvolumeclaim.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
creationTimestamp: null
labels:
openproject.service: pgdata
name: pgdata
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 100Mi
status: {}
24 changes: 24 additions & 0 deletions kubernetes/02-cache-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
openproject.service: cache
name: cache
spec:
replicas: 1
selector:
matchLabels:
openproject.service: cache
strategy: {}
template:
metadata:
labels:
openproject.network/backend: "true"
openproject.service: cache
spec:
containers:
- image: memcached
name: cache
resources: {}
restartPolicy: Always
status: {}
41 changes: 41 additions & 0 deletions kubernetes/02-db-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
openproject.service: db
name: db
spec:
replicas: 1
selector:
matchLabels:
openproject.service: db
strategy:
type: Recreate
template:
metadata:
labels:
openproject.network/backend: "true"
openproject.service: db
spec:
containers:
- env:
- name: POSTGRES_DB
value: openproject
- name: POSTGRES_PASSWORD
value: p4ssw0rd
image: postgres:13
ports:
- containerPort: 5432
name: psql
name: db
resources: {}
volumeMounts:
- mountPath: /var/lib/postgresql/data
name: pgdata
restartPolicy: Always
terminationGracePeriodSeconds: 3
volumes:
- name: pgdata
persistentVolumeClaim:
claimName: pgdata
status: {}
15 changes: 15 additions & 0 deletions kubernetes/03-cache-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: cache
labels:
openproject.service: cache
spec:
type: NodePort
selector:
openproject.service: cache
ports:
- name: cache
protocol: TCP
port: 11211
targetPort: 11211
15 changes: 15 additions & 0 deletions kubernetes/03-db-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: db
labels:
openproject.service: db
spec:
type: NodePort
selector:
openproject.service: db
ports:
- name: db
protocol: TCP
port: 5432
targetPort: 5432
39 changes: 39 additions & 0 deletions kubernetes/04-seeder-pod.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
apiVersion: v1
kind: Pod
metadata:
labels:
openproject.network/backend: "true"
openproject.service: seeder
name: seeder
spec:
containers:
- args:
- ./docker/prod/seeder
env:
- name: DATABASE_URL
value: postgres://postgres:p4ssw0rd@$(DB_SERVICE_HOST):$(DB_SERVICE_PORT)/openproject?pool=20&encoding=unicode&reconnect=true
- name: IMAP_ENABLED
value: "false"
- name: OPENPROJECT_CACHE__MEMCACHE__SERVER
value: $(CACHE_SERVICE_HOST):$(CACHE_SERVICE_PORT)
- name: OPENPROJECT_RAILS__RELATIVE__URL__ROOT
- name: RAILS_CACHE_STORE
value: memcache
- name: RAILS_MAX_THREADS
value: "16"
- name: RAILS_MIN_THREADS
value: "4"
- name: OPENPROJECT_EDITION
value: classic
image: openproject/community:12
name: seeder
resources: {}
volumeMounts:
- mountPath: /var/openproject/assets
name: opdata
restartPolicy: OnFailure
volumes:
- name: opdata
persistentVolumeClaim:
claimName: opdata
status: {}
48 changes: 48 additions & 0 deletions kubernetes/05-cron-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
openproject.service: cron
name: cron
spec:
replicas: 1
selector:
matchLabels:
openproject.service: cron
strategy:
type: Recreate
template:
metadata:
labels:
openproject.network/backend: "true"
openproject.service: cron
spec:
containers:
- args:
- ./docker/prod/cron
env:
- name: DATABASE_URL
value: postgres://postgres:p4ssw0rd@db/openproject?pool=20&encoding=unicode&reconnect=true
- name: IMAP_ENABLED
value: "false"
- name: OPENPROJECT_CACHE__MEMCACHE__SERVER
value: cache:11211
- name: OPENPROJECT_RAILS__RELATIVE__URL__ROOT
- name: RAILS_CACHE_STORE
value: memcache
- name: RAILS_MAX_THREADS
value: "16"
- name: RAILS_MIN_THREADS
value: "4"
image: openproject/community:12
name: cron
resources: {}
volumeMounts:
- mountPath: /var/openproject/assets
name: opdata
restartPolicy: Always
volumes:
- name: opdata
persistentVolumeClaim:
claimName: opdata
status: {}
64 changes: 64 additions & 0 deletions kubernetes/05-web-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
openproject.service: web
name: web
spec:
replicas: 1
selector:
matchLabels:
openproject.service: web
strategy:
type: Recreate
template:
metadata:
labels:
openproject.network/backend: "true"
openproject.network/frontend: "true"
openproject.service: web
spec:
containers:
- args:
- ./docker/prod/web
env:
- name: DATABASE_URL
value: postgres://postgres:p4ssw0rd@$(DB_SERVICE_HOST):$(DB_SERVICE_PORT)/openproject?pool=20&encoding=unicode&reconnect=true
- name: IMAP_ENABLED
value: "false"
- name: OPENPROJECT_CACHE__MEMCACHE__SERVER
value: $(CACHE_SERVICE_HOST):$(CACHE_SERVICE_PORT)
- name: OPENPROJECT_RAILS__RELATIVE__URL__ROOT
- name: RAILS_CACHE_STORE
value: memcache
- name: RAILS_MAX_THREADS
value: "16"
- name: RAILS_MIN_THREADS
value: "4"
- name: OPENPROJECT_EDITION
value: classic
image: openproject/community:12
ports:
- containerPort: 8080
name: http
livenessProbe:
exec:
command:
- curl
- -f
- http://localhost:8080/health_checks/default
failureThreshold: 3
initialDelaySeconds: 30
periodSeconds: 10
timeoutSeconds: 3
name: web
resources: {}
volumeMounts:
- mountPath: /var/openproject/assets
name: opdata
restartPolicy: Always
volumes:
- name: opdata
persistentVolumeClaim:
claimName: opdata
status: {}
50 changes: 50 additions & 0 deletions kubernetes/05-worker-deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,50 @@
apiVersion: apps/v1
kind: Deployment
metadata:
labels:
openproject.service: worker
name: worker
spec:
replicas: 1
selector:
matchLabels:
openproject.service: worker
strategy:
type: Recreate
template:
metadata:
labels:
openproject.network/backend: "true"
openproject.service: worker
spec:
containers:
- args:
- ./docker/prod/worker
env:
- name: DATABASE_URL
value: postgres://postgres:p4ssw0rd@$(DB_SERVICE_HOST):$(DB_SERVICE_PORT)/openproject?pool=20&encoding=unicode&reconnect=true
- name: IMAP_ENABLED
value: "false"
- name: OPENPROJECT_CACHE__MEMCACHE__SERVER
value: $(CACHE_SERVICE_HOST):$(CACHE_SERVICE_PORT)
- name: OPENPROJECT_RAILS__RELATIVE__URL__ROOT
- name: RAILS_CACHE_STORE
value: memcache
- name: RAILS_MAX_THREADS
value: "16"
- name: RAILS_MIN_THREADS
value: "4"
- name: OPENPROJECT_EDITION
value: classic
image: openproject/community:12
name: worker
resources: {}
volumeMounts:
- mountPath: /var/openproject/assets
name: opdata
restartPolicy: Always
volumes:
- name: opdata
persistentVolumeClaim:
claimName: opdata
status: {}
15 changes: 15 additions & 0 deletions kubernetes/06-web-service.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,15 @@
apiVersion: v1
kind: Service
metadata:
name: web
labels:
openproject.service: web
spec:
type: NodePort
selector:
openproject.service: web
ports:
- name: web
protocol: TCP
port: 8080
targetPort: 8080
Loading

0 comments on commit 5680f34

Please sign in to comment.