Skip to content

Commit aa48107

Browse files
authored
Implementation of one-off jobs directory (canada-ca#2117)
* Initial implementation of one-off jobs directory and README * Update README.md * Update README.md * Update scan-job.yaml * Update README.md * core.py fix and .yaml update to include secrets
1 parent 4ba22a1 commit aa48107

4 files changed

Lines changed: 96 additions & 1 deletion

File tree

app/jobs/README.md

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
# One-off Jobs
2+
3+
This directory contains manifests for the execution of one-off tasks that shouldn't be scheduled.
4+
5+
E.g. Initiation of scans or core service outside of regularly scheduled execution.
6+
7+
Deploying each file using `kubectl -n <namespace> -f <file>` will create a Kubernetes job which will only be performed once.
8+
9+
10+
## Additional considerations
11+
12+
The naming scheme for these manifests should be <job_name>-job.yaml.
13+
14+
The image tagging for manifests within this directory is not updated/managed by flux, so tags may be out of date and require periodic updates to ensure proper functionality.

app/jobs/core-job.yaml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
apiVersion: batch/v1
2+
kind: Job
3+
metadata:
4+
name: core-job
5+
spec:
6+
template:
7+
spec:
8+
containers:
9+
- name: scan
10+
image: gcr.io/track-compliance/services/core
11+
env:
12+
- name: DB_USER
13+
valueFrom:
14+
secretKeyRef:
15+
name: scanners
16+
key: DB_USER
17+
- name: DB_PASS
18+
valueFrom:
19+
secretKeyRef:
20+
name: scanners
21+
key: DB_PASS
22+
- name: DB_HOST
23+
valueFrom:
24+
secretKeyRef:
25+
name: scanners
26+
key: DB_HOST
27+
- name: DB_PORT
28+
value: "8529"
29+
- name: DB_NAME
30+
valueFrom:
31+
secretKeyRef:
32+
name: scanners
33+
key: DB_NAME
34+
- name: REPO_NAME
35+
value: "tracker"
36+
- name: REPO_OWNER
37+
value: "canada-ca"
38+
- name: GUIDANCE_DIR
39+
value: "guidance"
40+
- name: GITHUB_TOKEN
41+
valueFrom:
42+
secretKeyRef:
43+
name: scanners
44+
key: GITHUB_TOKEN
45+
restartPolicy: Never
46+
backoffLimit: 4

app/jobs/scan-job.yaml

Lines changed: 35 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
apiVersion: batch/v1
2+
kind: Job
3+
metadata:
4+
name: scan-job
5+
spec:
6+
template:
7+
spec:
8+
containers:
9+
- name: scan
10+
image: gcr.io/track-compliance/services/autoscan:master-05b22b2-1615242767
11+
env:
12+
- name: DB_USER
13+
valueFrom:
14+
secretKeyRef:
15+
name: scanners
16+
key: DB_USER
17+
- name: DB_PASS
18+
valueFrom:
19+
secretKeyRef:
20+
name: scanners
21+
key: DB_PASS
22+
- name: DB_HOST
23+
valueFrom:
24+
secretKeyRef:
25+
name: scanners
26+
key: DB_HOST
27+
- name: DB_PORT
28+
value: "8529"
29+
- name: DB_NAME
30+
valueFrom:
31+
secretKeyRef:
32+
name: scanners
33+
key: DB_NAME
34+
restartPolicy: Never
35+
backoffLimit: 4

services/core/core.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616
DB_PASS = os.getenv("DB_PASS")
1717
DB_PORT = os.getenv("DB_PORT")
1818
DB_NAME = os.getenv("DB_NAME")
19-
DB_HOST = "10.108.14.82"
19+
DB_HOST = os.getenv("DB_HOST")
2020
REPO_NAME = os.getenv("REPO_NAME")
2121
REPO_OWNER = os.getenv("REPO_OWNER")
2222
GUIDANCE_DIR = os.getenv("GUIDANCE_DIR")

0 commit comments

Comments
 (0)