Skip to content

Commit 17e493a

Browse files
authored
refactor(gip): lier gip_mds_data à company par FK siren + cron import quotidien (#3110)
1 parent 61a2204 commit 17e493a

13 files changed

Lines changed: 1849 additions & 5 deletions

File tree

.kontinuous/env/dev/templates/gip-mds-import-job.yaml

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22,6 +22,12 @@ spec:
2222
image: curlimages/curl:8.12.1
2323
securityContext:
2424
allowPrivilegeEscalation: false
25+
env:
26+
- name: EGAPRO_GIP_MDS_API_TOKEN
27+
valueFrom:
28+
secretKeyRef:
29+
name: gip-mds-import
30+
key: EGAPRO_GIP_MDS_API_TOKEN
2531
command:
2632
- /bin/sh
2733
- -c
@@ -31,6 +37,7 @@ spec:
3137
if curl -sf "http://app/api/healthz" > /dev/null 2>&1; then
3238
echo "App is ready, importing GIP MDS data..."
3339
curl -X POST "http://app/api/gip-mds/import" \
40+
-H "Authorization: Bearer ${EGAPRO_GIP_MDS_API_TOKEN}" \
3441
--connect-timeout 10 \
3542
--max-time 60 \
3643
--fail \
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: bitnami.com/v1alpha1
2+
kind: SealedSecret
3+
metadata:
4+
annotations:
5+
sealedsecrets.bitnami.com/cluster-wide: "true"
6+
name: gip-mds-import
7+
spec:
8+
encryptedData:
9+
EGAPRO_GIP_MDS_API_TOKEN: AgBgw/oj6xguWU4IHcq9/muNjvbhsJw5wJZ61ZMpVptB4d/zgkDf3QAw6OwNBNrmQ0zZNzmIW+2j8MscHy5paZqwboWi0vb0MaOQfHxTUsk0OzlVLcL0PrKJaxTjkduL65uh5uCdMCJcV68P5sl8Gl66eedfSz6KiRzfvpaqctLdMy4IYqB4tFVwkEiesnp+9UdxNP0W7laopQYJxavGTboSWP6Dfll0dGiX/uHJFl7puPYvYp2jZN81YTOk7FGmg77YemdX8YezVyl88hJqLaiutJ56OFHehkZH8jwR8Cgk2n05sHf83kdkiAJ/eprMg5Nbcbh8eqg55HTt1NaOClhlDWxZPi21vdKFpXVGZxQYeVMZbHYVvhoNczqXxYskKeAr2lrULuQZD52135kaSjQxHMzNSQ8z/Naau42MQzjxcSWKcZj0Zr285/V6mm0tv/IxFTC5CfKTsZfw6XQpFqTxS32DxCJWnGTKBcGH9fCWmkXezbBybRRQ5Qs43nam4hT/UgAfXiwtvX5rMYDoweYpiGWLYRXNE/q1eK0HqxPPlgVzqZ8d+15O2O7XZaKKuXsSHzmD6C0O2ecMOJgBaD4iVwPlMLY/aFbH4r5LLmLNd9t+eTaQ60k7P5k32vz8wcc+pETvgj+uxuZfgOdOPgTVvA6oliuB15V/uHxVnG5PdoKaJpWMtkXeTmbTp1lSPhBEDO4WO0377E0ryig8QnLkVJ4SYkD7mxUNTspLwMIoVj0/OYx/eC3+wpu/sQ==
10+
template:
11+
metadata:
12+
annotations:
13+
sealedsecrets.bitnami.com/cluster-wide: "true"
14+
name: gip-mds-import
15+
type: Opaque
Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
apiVersion: bitnami.com/v1alpha1
2+
kind: SealedSecret
3+
metadata:
4+
annotations:
5+
sealedsecrets.bitnami.com/cluster-wide: "true"
6+
name: gip-mds-import
7+
spec:
8+
encryptedData:
9+
EGAPRO_GIP_MDS_API_TOKEN: AgBgw/oj6xguWU4IHcq9/muNjvbhsJw5wJZ61ZMpVptB4d/zgkDf3QAw6OwNBNrmQ0zZNzmIW+2j8MscHy5paZqwboWi0vb0MaOQfHxTUsk0OzlVLcL0PrKJaxTjkduL65uh5uCdMCJcV68P5sl8Gl66eedfSz6KiRzfvpaqctLdMy4IYqB4tFVwkEiesnp+9UdxNP0W7laopQYJxavGTboSWP6Dfll0dGiX/uHJFl7puPYvYp2jZN81YTOk7FGmg77YemdX8YezVyl88hJqLaiutJ56OFHehkZH8jwR8Cgk2n05sHf83kdkiAJ/eprMg5Nbcbh8eqg55HTt1NaOClhlDWxZPi21vdKFpXVGZxQYeVMZbHYVvhoNczqXxYskKeAr2lrULuQZD52135kaSjQxHMzNSQ8z/Naau42MQzjxcSWKcZj0Zr285/V6mm0tv/IxFTC5CfKTsZfw6XQpFqTxS32DxCJWnGTKBcGH9fCWmkXezbBybRRQ5Qs43nam4hT/UgAfXiwtvX5rMYDoweYpiGWLYRXNE/q1eK0HqxPPlgVzqZ8d+15O2O7XZaKKuXsSHzmD6C0O2ecMOJgBaD4iVwPlMLY/aFbH4r5LLmLNd9t+eTaQ60k7P5k32vz8wcc+pETvgj+uxuZfgOdOPgTVvA6oliuB15V/uHxVnG5PdoKaJpWMtkXeTmbTp1lSPhBEDO4WO0377E0ryig8QnLkVJ4SYkD7mxUNTspLwMIoVj0/OYx/eC3+wpu/sQ==
10+
template:
11+
metadata:
12+
annotations:
13+
sealedsecrets.bitnami.com/cluster-wide: "true"
14+
name: gip-mds-import
15+
type: Opaque
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
apiVersion: bitnami.com/v1alpha1
2+
kind: SealedSecret
3+
metadata:
4+
annotations:
5+
sealedsecrets.bitnami.com/namespace-wide: "true"
6+
name: gip-mds-import
7+
namespace: egapro
8+
spec:
9+
encryptedData:
10+
EGAPRO_GIP_MDS_API_TOKEN: AgBXrJewS7A9LxDBvSLVvxiN4twUWgc27817MQU2FAAAwr3ulJxlyI3iJKUwnJgIGd2mXnlCc0+szjj5eC37hMzJN/NoOAD/BnLVEIcgXJ4mwM90MSdtzgG4hpZJKCxSatqOaPOO36u9tRPBqD3GWUdu38EEBwbpoJp0tOO/vF4VCvv9whjS7BQq/Iywe0PDK2HC63fnmUq9rn+Q+gN/5VfV3NBqSYjs0Y8CW326/xwcapNluy4bnNkciKnyRi6rHzf0TkThceh65pdahR+1U2TueucwgRuuVnauw9EOAv/iWc3xMi0W1dewrUicW9E7bIWI7pFCcJlInecl4doGesWQ8iwgnI0SF4LjoGUdNIBqhjF9YYSmsyh2Lh7N7nZd5uRyjyv0LAbfzr/5FrsFjjgxT1jlHVie7bMIEjW8uNU2HJL+kxCbpCuKY0rNoQQBDgIYssPRyrpXjUj+lZhXRiyXnC2YbnAYFaB+4ZJ3QpfkLBmVL9d1Z1zixktnCDS28y8naK/J2iGmULhICwF1SaCJvV0lGq/O+AJRrscrOtOrmCi4R7csXeqdVvDYiDCBQ4jgYOb+M/Xr93Sc/rbBoj/1zibyVC6PnfSxAaHeay1dJaeslHQvLPPW3mdr6m668+ZMSD8drc6yg7J5Q4AdtN7RJnRixcOnWg+zbMDRby2uZw/rRjjihNjOpJvYH1SMHDzHaHBnCTYDz0r/KUwTnx2sGI0rX7j7h2ww83apJgPTgjWTAmorltOiPebrbQ==
11+
template:
12+
metadata:
13+
annotations:
14+
sealedsecrets.bitnami.com/namespace-wide: "true"
15+
name: gip-mds-import
16+
type: Opaque
Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
apiVersion: batch/v1
2+
kind: CronJob
3+
metadata:
4+
name: gip-mds-import-daily
5+
namespace: {{ .Values.global.namespace }}
6+
spec:
7+
schedule: "0 3 * * *"
8+
concurrencyPolicy: Forbid
9+
successfulJobsHistoryLimit: 3
10+
failedJobsHistoryLimit: 3
11+
jobTemplate:
12+
spec:
13+
backoffLimit: 3
14+
template:
15+
metadata:
16+
labels:
17+
app: gip-mds-import-daily
18+
spec:
19+
restartPolicy: OnFailure
20+
securityContext:
21+
runAsUser: 100
22+
runAsNonRoot: true
23+
containers:
24+
- name: trigger
25+
image: curlimages/curl:8.12.1
26+
securityContext:
27+
allowPrivilegeEscalation: false
28+
env:
29+
- name: EGAPRO_GIP_MDS_API_TOKEN
30+
valueFrom:
31+
secretKeyRef:
32+
name: gip-mds-import
33+
key: EGAPRO_GIP_MDS_API_TOKEN
34+
command:
35+
- /bin/sh
36+
- -c
37+
- |
38+
curl -X POST "http://app:3000/api/gip-mds/import" \
39+
-H "Authorization: Bearer ${EGAPRO_GIP_MDS_API_TOKEN}" \
40+
--connect-timeout 10 \
41+
--max-time 120 \
42+
--fail \
43+
--silent \
44+
--show-error
45+
resources:
46+
requests:
47+
cpu: 50m
48+
memory: 32Mi
49+
limits:
50+
cpu: 100m
51+
memory: 64Mi

.kontinuous/values.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -32,6 +32,9 @@ app:
3232
- configMapRef:
3333
name: "gip-mds"
3434
optional: true
35+
- secretRef:
36+
name: "gip-mds-import"
37+
optional: true
3538
env:
3639
- name: POSTGRES_HOST
3740
valueFrom:
Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
TRUNCATE "app_gip_mds_data";--> statement-breakpoint
2+
ALTER TABLE "app_gip_mds_data" ADD CONSTRAINT "app_gip_mds_data_siren_app_company_siren_fk" FOREIGN KEY ("siren") REFERENCES "public"."app_company"("siren") ON DELETE no action ON UPDATE no action;

0 commit comments

Comments
 (0)