Skip to content

Commit

Permalink
fix: update cron jobs and config maps to enhance database initializat…
Browse files Browse the repository at this point in the history
…ion and retention management
  • Loading branch information
jordancarrier committed Jan 24, 2025
1 parent f5a4c9b commit 6cfe912
Show file tree
Hide file tree
Showing 4 changed files with 26 additions and 123 deletions.
130 changes: 16 additions & 114 deletions charts/armonik/charts/control-plane/templates/cron-jobs.yaml
Original file line number Diff line number Diff line change
@@ -1,103 +1,5 @@
apiVersion: batch/v1
kind: CronJob
metadata:
labels:
app: armonik
service: partitions-in-database
type: monitoring
name: partitions-in-database
namespace: {{ .Values.namespace }}
spec:
concurrencyPolicy: Replace
failedJobsHistoryLimit: 5
jobTemplate:
metadata:
creationTimestamp: null
labels:
app: armonik
service: partitions-in-database
type: monitoring
name: partitions-in-database
spec:
backoffLimit: 5
completions: 1
manualSelector: false
parallelism: 1
template:
metadata:
creationTimestamp: null
labels:
app: armonik
service: partitions-in-database
type: monitoring
name: partitions-in-database
spec:
automountServiceAccountToken: true
containers:
- command:
- /bin/bash
- -c
- |
#!/bin/bash
export nbElements=$(mongosh --username $MongoDB__User --password $MongoDB__Password mongodb://$MongoDB__Host:$MongoDB__Port/database?authSource=$MongoDB__AuthSource&directConnection=true --eval 'db.PartitionData.countDocuments()' --quiet)
if [[ $nbElements != 4 ]]; then
mongosh --username $MongoDB__User --password $MongoDB__Password mongodb://$MongoDB__Host:$MongoDB__Port/database?authSource=$MongoDB__AuthSource&directConnection=true --eval 'db.PartitionData.insertMany([{"ParentPartitionIds":[],"PodConfiguration":null,"PodMax":100,"PodReserved":1,"PreemptionPercentage":50,"Priority":1,"_id":"bench"},{"ParentPartitionIds":[],"PodConfiguration":null,"PodMax":100,"PodReserved":1,"PreemptionPercentage":50,"Priority":1,"_id":"default"},{"ParentPartitionIds":[],"PodConfiguration":null,"PodMax":100,"PodReserved":1,"PreemptionPercentage":50,"Priority":1,"_id":"htcmock"},{"ParentPartitionIds":[],"PodConfiguration":null,"PodMax":100,"PodReserved":1,"PreemptionPercentage":50,"Priority":1,"_id":"stream"}])'
fi
env:
- name: MongoDB__Password
valueFrom:
secretKeyRef:
key: mongodb-root-password
name: mongodb
optional: false
- name: MongoDB__User
value: root
envFrom:
- configMapRef:
name: jobs-configmap
optional: false
- secretRef:
name: activemq-crt
optional: false
image: rtsp/mongosh:2.2.15
imagePullPolicy: IfNotPresent
name: job-partitions-in-database
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- mountPath: /mongodb/certs/
mountPropagation: None
name: mongodb-crt
readOnly: true
dnsPolicy: ClusterFirst
enableServiceLinks: true
restartPolicy: OnFailure
schedulerName: default-scheduler
securityContext: {}
shareProcessNamespace: false
terminationGracePeriodSeconds: 30
{{- if .Values.nodeSelector }}
nodeSelector:
{{- toYaml .Values.nodeSelector | nindent 14 }}
{{- end }}
{{- if .Values.tolerations }}
tolerations:
{{- toYaml .Values.tolerations | nindent 14 }}
{{- end }}
volumes:
- name: mongodb-crt
secret:
defaultMode: 420
optional: false
secretName: mongodb-crt
schedule: '* * * * *'
startingDeadlineSeconds: 20
successfulJobsHistoryLimit: 0
suspend: false
---
apiVersion: batch/v1
kind: CronJob
metadata:
labels:
app: seq
Expand Down Expand Up @@ -131,16 +33,7 @@ spec:
spec:
automountServiceAccountToken: true
containers:
- command:
- /bin/bash
- -c
- |
#!/bin/bash
if [ -z "$(/bin/seqcli/seqcli retention list -s $SEQ_URL)" ]
then
token=$(/bin/seqcli/seqcli apikey create -t "test ApiKey" --permissions=Project --connect-username=$SEQ_USER --connect-password=$SEQ_PASSWORD -s $SEQ_URL)
/bin/seqcli/seqcli retention create --after 2d --delete-all-events --apikey=$token -s $SEQ_URL
fi
- command: ["/script/seq.sh"]
env:
- name: SEQ_URL
value: http://seq:8080
Expand All @@ -152,20 +45,29 @@ spec:
resources: {}
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
volumeMounts:
- name: script
mountPath: "/script"
dnsPolicy: ClusterFirst
enableServiceLinks: true
nodeSelector:
service: monitoring
restartPolicy: OnFailure
schedulerName: default-scheduler
securityContext: {}
shareProcessNamespace: false
terminationGracePeriodSeconds: 30
{{- if .Values.nodeSelector }}
nodeSelector:
{{- toYaml .Values.nodeSelector | nindent 14 }}
{{- end }}
{{- if .Values.tolerations }}
tolerations:
- effect: NoSchedule
key: service
operator: Equal
value: monitoring
{{- toYaml .Values.tolerations | nindent 14 }}
{{- end }}
volumes:
- name: script
configMap:
name: jobs-configmap
defaultMode: 0500
schedule: 0 */12 * * *
startingDeadlineSeconds: 20
successfulJobsHistoryLimit: 0
Expand Down
11 changes: 9 additions & 2 deletions charts/armonik/charts/control-plane/templates/job-configmap.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -9,5 +9,12 @@ data:
{{- end }}
init-db.sh: |
#!/bin/bash
mongosh -u $MongoDB__User -p $MongoDB__Password mongodb://$MongoDB__Host:$MongoDB__Port/database? --eval "db.PartitionData.drop()"
mongosh -u $MongoDB__User -p $MongoDB__Password mongodb://$MongoDB__Host:$MongoDB__Port/database? --eval "db.PartitionData.insertMany([{'ParentPartitionIds':[],'PodConfiguration':null,'PodMax':100,'PodReserved':1,'PreemptionPercentage':50,'Priority':1,'_id':'bench'},{'ParentPartitionIds':[],'PodConfiguration':null,'PodMax':100,'PodReserved':1,'PreemptionPercentage':50,'Priority':1,'_id':'default'},{'ParentPartitionIds':[],'PodConfiguration':null,'PodMax':100,'PodReserved':1,'PreemptionPercentage':50,'Priority':1,'_id':'htcmock'},{'ParentPartitionIds':[],'PodConfiguration':null,'PodMax':100,'PodReserved':1,'PreemptionPercentage':50,'Priority':1,'_id':'stream'}])"
mongosh -u $MongoDB__User -p $MongoDB__Password mongodb://$MongoDB__Host:$MongoDB__Port/database?authSource=$MongoDB__AuthSource --eval "db.PartitionData.drop()"
mongosh -u $MongoDB__User -p $MongoDB__Password mongodb://$MongoDB__Host:$MongoDB__Port/database?authSource=$MongoDB__AuthSource --eval "db.PartitionData.insertMany([{'ParentPartitionIds':[],'PodConfiguration':null,'PodMax':100,'PodReserved':1,'PreemptionPercentage':50,'Priority':1,'_id':'bench'},{'ParentPartitionIds':[],'PodConfiguration':null,'PodMax':100,'PodReserved':1,'PreemptionPercentage':50,'Priority':1,'_id':'default'},{'ParentPartitionIds':[],'PodConfiguration':null,'PodMax':100,'PodReserved':1,'PreemptionPercentage':50,'Priority':1,'_id':'htcmock'},{'ParentPartitionIds':[],'PodConfiguration':null,'PodMax':100,'PodReserved':1,'PreemptionPercentage':50,'Priority':1,'_id':'stream'}])"
seq.sh: |
#!/bin/bash
if [ -z "$(/bin/seqcli/seqcli retention list -s $SEQ_URL)" ]
then
token=$(/bin/seqcli/seqcli apikey create -t "test ApiKey" --permissions=Project --connect-username=$SEQ_USER --connect-password=$SEQ_PASSWORD -s $SEQ_URL)
/bin/seqcli/seqcli retention create --after 2d --delete-all-events --apikey=$token -s $SEQ_URL
fi
6 changes: 0 additions & 6 deletions charts/armonik/charts/control-plane/templates/jobs.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -37,12 +37,6 @@ spec:
key: mongodb-root-password
name: mongodb
optional: false
- name: MongoDB__User
value: root
- name: MongoDB__Host
value: "{{ .Values.config.core.data.MongoDB__Host }}"
- name: MongoDB__Port
value: "{{ .Values.config.core.data.MongoDB__Port }}"
envFrom:
- configMapRef:
name: jobs-configmap
Expand Down
2 changes: 1 addition & 1 deletion charts/armonik/charts/control-plane/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -126,7 +126,7 @@ config:
Components__TableStorage: ArmoniK.Adapters.MongoDB.TableStorage
MongoDB__User: root
MongoDB__AllowInsecureTls: "true"
#MongoDB__AuthSource: admin
MongoDB__AuthSource: admin
#MongoDB__CAFile: /mongodb/certs/tls-combined.pem
MongoDB__DataRetention: 1.00:00:00
MongoDB__DatabaseName: database
Expand Down

0 comments on commit 6cfe912

Please sign in to comment.