Skip to content

Commit 1caa7e1

Browse files
Multiple prefect instances (#33)
* feat: update vars * fix: CI * fix: CI wrong ref for branch on PR * fix: use updated inventory variables * fix: use updated variable name in prefect database * fix: missing parenthesis
1 parent 4cd2f98 commit 1caa7e1

File tree

6 files changed

+47
-31
lines changed

6 files changed

+47
-31
lines changed

.github/workflows/test-deployment.yml

Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -30,10 +30,26 @@ jobs:
3030
if: github.actor != 'dependabot[bot]' # ignore pull requests by github bot
3131
runs-on: ubuntu-latest
3232
steps:
33+
- name: Get current branch name
34+
id: vars
35+
run: echo "branch_name=${{ github.head_ref }}" >> $GITHUB_OUTPUT
36+
37+
- name: Check if branch exists in rs-infra-core
38+
id: check_branch
39+
run: |
40+
BRANCH=${{ steps.vars.outputs.branch_name }}
41+
if git ls-remote --heads https://github.com/RS-PYTHON/rs-infra-core.git $BRANCH | grep -q $BRANCH; then
42+
echo "branch_to_use=$BRANCH" >> $GITHUB_OUTPUT
43+
else
44+
echo "branch_to_use=" >> $GITHUB_OUTPUT # Leave empty to use default
45+
fi
46+
shell: bash
47+
3348
- name: Checkout repository
3449
uses: actions/checkout@v4
3550
with:
3651
repository: RS-PYTHON/rs-infra-core
52+
ref: ${{ steps.check_branch.outputs.branch_to_use }}
3753
submodules: recursive
3854
- name: Checkout repository
3955
uses: actions/checkout@v4

apps/01-prefect3-db/database.yaml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -15,30 +15,30 @@
1515
apiVersion: batch/v1
1616
kind: Job
1717
metadata:
18-
name: create-prefect3-db
18+
name: "create-{{ prefect3server.ops.name }}-db"
1919
spec:
2020
ttlSecondsAfterFinished: 360
2121
template:
2222
spec:
2323
containers:
24-
- name: create-prefect3-db
24+
- name: "create-{{ prefect3server.ops.name }}-db"
2525
image: ghcr.io/cloudnative-pg/postgresql:16.1
2626
command: ["/scripts/create-database.sh"]
2727
volumeMounts:
2828
- name: create-database
2929
mountPath: /scripts/
3030
env:
3131
- name: DATABASE
32-
value: {{ prefect3.database.name }}
32+
value: "{{ prefect3server.ops.name }}"
3333
- name: PGNEWUSER
3434
valueFrom:
3535
secretKeyRef:
36-
name: {{ prefect3.database.secret }}
36+
name: "{{ prefect3server.ops.name }}-database-password"
3737
key: username
3838
- name: PGNEWPASS
3939
valueFrom:
4040
secretKeyRef:
41-
name: {{ prefect3.database.secret }}
41+
name: "{{ prefect3server.ops.name }}-database-password"
4242
key: password
4343
- name: PGADMIN
4444
valueFrom:
@@ -82,10 +82,10 @@ spec:
8282
apiVersion: v1
8383
kind: Secret
8484
metadata:
85-
name: {{ prefect3.database.secret }}
85+
name: "{{ prefect3server.ops.name }}-database-password"
8686
labels:
8787
app: prefect3
8888
type: Opaque
8989
stringData:
90-
username: {{ prefect3.database.username }}
91-
password: {{ prefect3.database.password }}
90+
username: "{{ prefect3server.ops.database.username }}"
91+
password: "{{ prefect3server.ops.database.password }}"

apps/prefect3-server/values.yaml

Lines changed: 14 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
# limitations under the License.
1414

1515
# -- fully override common.names.fullname
16-
fullnameOverride: "prefect-server"
16+
fullnameOverride: "{{ prefect3server.ops.name }}-server"
1717

1818
global:
1919
prefect:
@@ -30,12 +30,12 @@ server:
3030
# -- set PREFECT_UI_ENABLED; enable the UI on the server
3131
enabled: true
3232
# -- sets PREFECT_UI_API_URL
33-
#prefectUiApiUrl: "https://processing.{{ platform_domain_name }}/api"
33+
#prefectUiApiUrl: "https://{{ prefect3server.ops.subDomain }}.{{ platform_domain_name }}/api"
3434
# -- sets PREFECT_UI_URL
35-
#prefectUiUrl: "https://processing.{{ platform_domain_name }}"
35+
#prefectUiUrl: "https://{{ prefect3server.ops.subDomain }}.{{ platform_domain_name }}"
3636
# -- sets PREFECT_UI_STATIC_DIRECTORY
3737
#prefectUiStaticDirectory: "/ui_build"
38-
prefectUiApiUrl: https://processing.{{ platform_domain_name }}/api
38+
prefectUiApiUrl: "https://{{ prefect3server.ops.subDomain }}.{{ platform_domain_name }}/api"
3939

4040
env:
4141
- name: PREFECT_LOGGING_EXTRA_LOGGERS
@@ -95,16 +95,16 @@ ingress:
9595
className: "nginx"
9696
#path must be /
9797
host:
98-
hostname: processing.{{ platform_domain_name }}
98+
hostname: "{{ prefect3server.ops.subDomain }}.{{ platform_domain_name }}"
9999
path: /
100100
pathType: Prefix
101101

102102
annotations:
103103
cert-manager.io/cluster-issuer: letsencrypt-prod
104104
nginx.ingress.kubernetes.io/backend-protocol: HTTP
105105
nginx.ingress.kubernetes.io/proxy-buffer-size: 32k
106-
nginx.ingress.kubernetes.io/auth-signin: https://oauth2-proxy.{{ platform_domain_name }}/oauth2/start?rd=https://$host
107-
nginx.ingress.kubernetes.io/auth-url: https://oauth2-proxy.{{ platform_domain_name }}/oauth2/auth
106+
nginx.ingress.kubernetes.io/auth-signin: "https://oauth2-proxy.{{ platform_domain_name }}/oauth2/start?rd=https://$host"
107+
nginx.ingress.kubernetes.io/auth-url: "https://oauth2-proxy.{{ platform_domain_name }}/oauth2/auth?allowed_groups={{ prefect3server.ops.allowedRoles | default('role:RS-ADMIN', true) }}"
108108
nginx.ingress.kubernetes.io/auth-response-headers: Authorization
109109

110110
tls: true
@@ -113,8 +113,8 @@ ingress:
113113

114114
extraTls:
115115
- hosts:
116-
- processing.{{ platform_domain_name }}
117-
secretName: processing-{{ platform_domain_name | replace(".", "-") }}
116+
- "{{ prefect3server.ops.subDomain }}.{{ platform_domain_name }}"
117+
secretName: "{{ prefect3server.ops.subDomain }}-{{ platform_domain_name | replace(".", "-") }}"
118118

119119
# Disable bundled postgresql
120120
postgresql:
@@ -123,9 +123,9 @@ postgresql:
123123
# Postgresql credentials
124124
secret:
125125
create: true
126-
name: {{ prefect3.database.secret }}
127-
username: {{ prefect3.database.username }}
128-
password: {{ prefect3.database.password }}
129-
host: {{ prefect3.database.host }}
126+
name: "{{ prefect3server.ops.name }}-database-password"
127+
username: "{{ prefect3server.ops.database.username }}"
128+
password: "{{ prefect3server.ops.database.password }}"
129+
host: "{{ prefect3server.ops.database.host }}"
130130
port: 5432
131-
database: {{ prefect3.database.name }}
131+
database: "{{ prefect3server.ops.name }}"

apps/prefect3-worker-eopf/values.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ worker:
2424
pullPolicy: IfNotPresent
2525
apiConfig: selfHostedServer
2626
config:
27-
workPool: {{ prefect3worker.eopf.name }}
27+
workPool: "{{ prefect3worker.eopf.name }}"
2828
limit: 200
2929
baseJobTemplate:
30-
name: {{ prefect3worker.eopf.name }}-base-job-template
30+
name: "{{ prefect3worker.eopf.name }}-base-job-template"
3131
configuration: |
3232
{
3333
"variables": {
@@ -291,7 +291,7 @@ worker:
291291
effect: NoSchedule
292292

293293
selfHostedServerApiConfig:
294-
apiUrl: http://prefect-server.processing.svc.cluster.local:4200/api
294+
apiUrl: "http://{{ prefect3server.ops.name }}-server.processing.svc.cluster.local:4200/api"
295295

296296
# ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
297297
livenessProbe:

apps/prefect3-worker-general/values.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ worker:
2424
pullPolicy: IfNotPresent
2525
apiConfig: selfHostedServer
2626
config:
27-
workPool: {{ prefect3worker.general.name }}
27+
workPool: "{{ prefect3worker.general.name }}"
2828
limit: 200
2929
baseJobTemplate:
30-
name: {{ prefect3worker.general.name }}-base-job-template
30+
name: "{{ prefect3worker.general.name }}-base-job-template"
3131
configuration: |
3232
{
3333
"variables": {
@@ -291,7 +291,7 @@ worker:
291291
effect: NoSchedule
292292

293293
selfHostedServerApiConfig:
294-
apiUrl: http://prefect-server.processing.svc.cluster.local:4200/api
294+
apiUrl: "http://{{ prefect3server.ops.name }}-server.processing.svc.cluster.local:4200/api"
295295

296296
# ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
297297
livenessProbe:

apps/prefect3-worker-staging/values.yaml

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,10 +24,10 @@ worker:
2424
pullPolicy: IfNotPresent
2525
apiConfig: selfHostedServer
2626
config:
27-
workPool: {{ prefect3worker.staging.name }}
27+
workPool: "{{ prefect3worker.staging.name }}"
2828
limit: 200
2929
baseJobTemplate:
30-
name: {{ prefect3worker.staging.name }}-base-job-template
30+
name: "{{ prefect3worker.staging.name }}-base-job-template"
3131
configuration: |
3232
{
3333
"variables": {
@@ -291,7 +291,7 @@ worker:
291291
effect: NoSchedule
292292

293293
selfHostedServerApiConfig:
294-
apiUrl: http://prefect-server.processing.svc.cluster.local:4200/api
294+
apiUrl: "http://{{ prefect3server.ops.name }}-server.processing.svc.cluster.local:4200/api"
295295

296296
# ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/
297297
livenessProbe:

0 commit comments

Comments
 (0)