Skip to content

Commit 5e46a3f

Browse files
committed
Merge branch 'develop'
2 parents 22c7c09 + baade5f commit 5e46a3f

38 files changed

+431
-206
lines changed

.github/workflows/pull-request.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,4 +69,6 @@ jobs:
6969
cache: "npm"
7070
-
7171
name: Run prettier check
72-
run: npx prettier --check .
72+
run: |
73+
npx prettier -v
74+
npx prettier --check .

docker/deployment/Makefile

Lines changed: 8 additions & 28 deletions
Original file line numberDiff line numberDiff line change
@@ -35,40 +35,20 @@ shell-next-app:
3535
shell-next-proxy:
3636
kubectl exec -it deploy/next-proxy -- sh
3737

38+
forward-db:
39+
kubectl port-forward pod/db-6b494cd89f-whfr7 27018:27017 -n languageforge
40+
3841
init-secrets:
3942
kubectl apply -f secrets.yaml
4043

4144
create-new-deployment-mail:
4245
kubectl create deployment mail --image=juanluisbaptiste/postfix:1.0.0 --dry-run=client -o yaml > mail-deployment-new.yaml
4346

44-
deploy-staging: deploy-db deploy-mail-staging deploy-app-staging deploy-lfmerge-staging deploy-next-proxy-staging deploy-next-app-staging
45-
deploy-mail-staging:
46-
sed -e s/{{SERVER_HOSTNAME}}/staging.languageforge.org/ mail-deployment.yaml | kubectl apply -f -
47-
deploy-app-staging:
48-
sed -e s/{{WEBSITE}}/staging.languageforge.org/ app-deployment.yaml \
49-
| sed -e s/{{VERSION}}/$(VERSION_APP)/ | kubectl apply -f -
50-
deploy-lfmerge-staging:
51-
sed -e s/{{VERSION_LFMERGE}}/$(VERSION_LFMERGE)/ lfmerge-deployment.yaml | kubectl apply -f -
52-
deploy-next-proxy-staging:
53-
sed -e s/{{WEBSITE}}/staging.languageforge.org/ next-proxy-deployment.yaml \
54-
| sed -e s/{{VERSION}}/$(VERSION_PROXY)/ | kubectl apply -f -
55-
deploy-next-app-staging:
56-
sed -e s/{{VERSION}}/$(VERSION_NEXT_APP)/ next-app-deployment.yaml | kubectl apply -f -
57-
deploy-prod: deploy-db deploy-mail-prod deploy-app-prod deploy-lfmerge-prod deploy-next-proxy-prod deploy-next-app-prod
58-
deploy-mail-prod:
59-
sed -e s/{{SERVER_HOSTNAME}}/languageforge.org/ mail-deployment.yaml | kubectl apply -f -
60-
deploy-app-prod:
61-
sed -e s/{{WEBSITE}}/languageforge.org/ app-deployment.yaml \
62-
| sed -e s/{{VERSION}}/$(VERSION_APP)/ | kubectl apply -f -
63-
deploy-lfmerge-prod:
64-
sed -e s/{{VERSION_LFMERGE}}/$(VERSION_LFMERGE)/ lfmerge-deployment.yaml | kubectl apply -f -
65-
deploy-next-proxy-prod:
66-
sed -e s/{{WEBSITE}}/languageforge.org/ next-proxy-deployment.yaml \
67-
| sed -e s/{{VERSION}}/$(VERSION_PROXY)/ | kubectl apply -f -
68-
deploy-next-app-prod:
69-
sed -e s/{{VERSION}}/$(VERSION_NEXT_APP)/ next-app-deployment.yaml | kubectl apply -f -
70-
deploy-db:
71-
kubectl apply -f db-deployment.yaml
47+
deploy-staging:
48+
kubectl --context dallas-rke apply -k staging/
49+
deploy-prod:
50+
kubectl --context aws-rke apply -k prod/
51+
7252

7353
delete: delete-app delete-lfmerge delete-mail delete-db delete-next-proxy delete-next-app
7454
delete-db: # does NOT delete the volume, i.e., the data in the database
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
apiVersion: v1
2+
kind: ConfigMap
3+
metadata:
4+
name: app-config
5+
data:
6+
website: "localhost"
7+
hg-domain: "hg-staging.languageforge.org"
8+
hg-protocol: "https"
9+
hg-username: "lf-merge"

docker/deployment/app-deployment.yaml renamed to docker/deployment/base/app-deployment.yaml

Lines changed: 6 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -18,35 +18,6 @@ spec:
1818

1919
---
2020

21-
# https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims
22-
apiVersion: v1
23-
kind: PersistentVolumeClaim
24-
metadata:
25-
name: lf-project-assets
26-
spec:
27-
accessModes:
28-
- ReadWriteMany
29-
resources:
30-
requests:
31-
storage: 10Gi
32-
storageClassName: weekly-snapshots-retain-4 # provided by LTOps
33-
34-
---
35-
36-
# https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims
37-
apiVersion: v1
38-
kind: PersistentVolumeClaim
39-
metadata:
40-
name: lfmerge-sendreceive-data
41-
spec:
42-
accessModes:
43-
- ReadWriteMany
44-
resources:
45-
requests:
46-
storage: 50Gi
47-
storageClassName: weekly-snapshots-retain-4 # provided by LTOps
48-
49-
---
5021

5122
# https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#writing-a-deployment-spec
5223
apiVersion: apps/v1
@@ -93,7 +64,7 @@ spec:
9364
name: sendreceive-data
9465
containers:
9566
- name: app
96-
image: sillsdev/web-languageforge:{{VERSION}}
67+
image: sillsdev/web-languageforge:latest
9768
imagePullPolicy: Always
9869
# https://kubernetes.io/docs/concepts/configuration/manage-resources-containers
9970
resources:
@@ -113,7 +84,10 @@ spec:
11384
- name: ENVIRONMENT
11485
value: production
11586
- name: WEBSITE
116-
value: {{WEBSITE}}
87+
valueFrom:
88+
configMapKeyRef:
89+
name: app-config
90+
key: website
11791
- name: MAIL_HOST
11892
value: mail
11993
- name: LFMERGE_LOGGING_DEST
@@ -143,6 +117,7 @@ spec:
143117
secretKeyRef:
144118
key: LEX_BOX_HOST
145119
name: ld-api
120+
optional: true
146121
- name: FACEBOOK_CLIENT_ID
147122
valueFrom:
148123
secretKeyRef:

docker/deployment/db-deployment.yaml renamed to docker/deployment/base/db-deployment.yaml

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,18 @@ spec:
5151
- name: db
5252
image: mongo:6
5353
# https://kubernetes.io/docs/concepts/configuration/manage-resources-containers
54+
livenessProbe:
55+
exec:
56+
command:
57+
- mongosh
58+
- '--quiet'
59+
- '--eval'
60+
- db.runCommand('ping')
61+
failureThreshold: 3
62+
initialDelaySeconds: 30
63+
periodSeconds: 10
64+
successThreshold: 1
65+
timeoutSeconds: 5
5466
resources:
5567
requests:
5668
memory: 260Mi
Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,9 @@
1+
# template, copy into env folder and change the values, then add as a patch to the kustomization.yaml file
2+
3+
- op: replace
4+
path: /spec/rules/0/host
5+
value: localhost
6+
- op: replace
7+
path: /spec/tls/0/hosts
8+
value:
9+
- localhost
Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,13 @@
1+
apiVersion: kustomize.config.k8s.io/v1beta1
2+
kind: Kustomization
3+
namespace: languageforge
4+
5+
resources:
6+
- app-deployment.yaml
7+
- db-deployment.yaml
8+
- lfmerge-deployment.yaml
9+
- lfmerge-pvcs.yaml
10+
- mail-deployment.yaml
11+
- next-app-deployment.yaml
12+
- next-proxy-deployment.yaml
13+
- app-config.yaml

docker/deployment/lfmerge-deployment.yaml renamed to docker/deployment/base/lfmerge-deployment.yaml

Lines changed: 17 additions & 31 deletions
Original file line numberDiff line numberDiff line change
@@ -18,36 +18,6 @@ spec:
1818

1919
---
2020

21-
# https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims
22-
apiVersion: v1
23-
kind: PersistentVolumeClaim
24-
metadata:
25-
name: lf-project-assets
26-
spec:
27-
accessModes:
28-
- ReadWriteMany
29-
resources:
30-
requests:
31-
storage: 10Gi
32-
storageClassName: weekly-snapshots-retain-4 # provided by LTOps
33-
34-
---
35-
36-
# https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims
37-
apiVersion: v1
38-
kind: PersistentVolumeClaim
39-
metadata:
40-
name: lfmerge-sendreceive-data
41-
spec:
42-
accessModes:
43-
- ReadWriteMany
44-
resources:
45-
requests:
46-
storage: 50Gi
47-
storageClassName: weekly-snapshots-retain-4 # provided by LTOps
48-
49-
---
50-
5121
# https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#writing-a-deployment-spec
5222
apiVersion: apps/v1
5323
kind: Deployment
@@ -100,7 +70,7 @@ spec:
10070
name: sendreceive-data
10171
containers:
10272
- name: lfmerge
103-
image: ghcr.io/sillsdev/lfmerge:{{VERSION_LFMERGE}}
73+
image: ghcr.io/sillsdev/lfmerge:latest
10474
imagePullPolicy: Always
10575
# https://kubernetes.io/docs/concepts/configuration/manage-resources-containers
10676
resources:
@@ -133,8 +103,24 @@ spec:
133103
value: sf_
134104
- name: LFMERGE_VERBOSE_PROGRESS
135105
value: "true"
106+
- name: LFMERGE_LANGUAGE_DEPOT_HG_PUBLIC_HOSTNAME
107+
valueFrom:
108+
configMapKeyRef:
109+
name: app-config
110+
key: hg-domain
111+
- name: LFMERGE_LANGUAGE_DEPOT_HG_PROTOCOL
112+
valueFrom:
113+
configMapKeyRef:
114+
name: app-config
115+
key: hg-protocol
136116
- name: LANGUAGE_DEPOT_TRUST_TOKEN
137117
valueFrom:
138118
secretKeyRef:
139119
key: LD_TRUST_TOKEN
140120
name: ld-trust-token
121+
- name: LANGUAGE_DEPOT_HG_USERNAME
122+
valueFrom:
123+
configMapKeyRef:
124+
name: app-config
125+
key: hg-username
126+
Lines changed: 28 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,28 @@
1+
2+
# https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims
3+
apiVersion: v1
4+
kind: PersistentVolumeClaim
5+
metadata:
6+
name: lf-project-assets
7+
spec:
8+
accessModes:
9+
- ReadWriteMany
10+
resources:
11+
requests:
12+
storage: 10Gi
13+
storageClassName: weekly-snapshots-retain-4 # provided by LTOps
14+
15+
---
16+
17+
# https://kubernetes.io/docs/concepts/storage/persistent-volumes/#persistentvolumeclaims
18+
apiVersion: v1
19+
kind: PersistentVolumeClaim
20+
metadata:
21+
name: lfmerge-sendreceive-data
22+
spec:
23+
accessModes:
24+
- ReadWriteMany
25+
resources:
26+
requests:
27+
storage: 50Gi
28+
storageClassName: weekly-snapshots-retain-4 # provided by LTOps

docker/deployment/mail-deployment.yaml renamed to docker/deployment/base/mail-deployment.yaml

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,10 @@ spec:
4141
memory: 100Mi
4242
env:
4343
- name: SERVER_HOSTNAME
44-
value: {{SERVER_HOSTNAME}}
44+
valueFrom:
45+
configMapKeyRef:
46+
name: app-config
47+
key: website
4548
- name: SMTP_SERVER
4649
valueFrom:
4750
secretKeyRef:

0 commit comments

Comments
 (0)