Skip to content

Commit 64dec87

Browse files
Nautobot JobQueue setup
1 parent 04c3f9a commit 64dec87

13 files changed

Lines changed: 954 additions & 45 deletions

File tree

.yamllint.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ ignore:
44
- components/etcdbackup/templates/
55
- charts/argocd-understack/templates/
66
- charts/nautobot-api-tokens/templates/
7+
- charts/nautobot-job-queues/templates/
78
- charts/site-workflows/templates/
89
- charts/undersync/templates/
910

ansible/nautobot-post-deploy.yaml

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,6 @@
4141

4242
roles:
4343
- role: nautobot_permissions
44-
- role: jobs
4544
- role: secrets
4645
- role: git_repos
4746
- role: nautobot_roles
Lines changed: 37 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
{{- if eq (include "understack.isEnabled" (list $.Values.global "nautobot_job_queues")) "true" }}
2+
---
3+
apiVersion: argoproj.io/v1alpha1
4+
kind: Application
5+
metadata:
6+
name: {{ printf "%s-%s" $.Release.Name "nautobot-job-queues" }}
7+
finalizers:
8+
- resources-finalizer.argocd.argoproj.io
9+
annotations:
10+
argocd.argoproj.io/compare-options: ServerSideDiff=true,IncludeMutationWebhook=true
11+
{{- include "understack.appLabelsBlock" $ | nindent 2 }}
12+
spec:
13+
destination:
14+
namespace: nautobot
15+
server: {{ $.Values.cluster_server }}
16+
project: understack
17+
sources:
18+
- repoURL: {{ include "understack.understack_url" $ }}
19+
targetRevision: {{ include "understack.understack_ref" $ }}
20+
path: charts/nautobot-job-queues
21+
helm:
22+
ignoreMissingValueFiles: true
23+
valueFiles:
24+
- $deploy/{{ include "understack.deploy_path" $ }}/nautobot-job-queues/values.yaml
25+
- path: {{ include "understack.deploy_path" $ }}/nautobot-job-queues
26+
ref: deploy
27+
repoURL: {{ include "understack.deploy_url" $ }}
28+
targetRevision: {{ include "understack.deploy_ref" $ }}
29+
syncPolicy:
30+
automated:
31+
prune: true
32+
selfHeal: true
33+
syncOptions:
34+
- ServerSideApply=true
35+
- RespectIgnoreDifferences=true
36+
- ApplyOutOfSyncOnly=true
37+
{{- end }}

charts/argocd-understack/values.yaml

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -154,6 +154,12 @@ global:
154154
# @default -- false
155155
enabled: false
156156

157+
# -- Nautobot Celery JobQueue bootstrap jobs
158+
nautobot_job_queues:
159+
# -- Enable/disable deploying
160+
# @default -- false
161+
enabled: false
162+
157163
# -- Nautobot Operator for Kubernetes
158164
nautobotop:
159165
# -- Enable/disable deploying Nautobot Operator
Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,12 @@
1+
apiVersion: v2
2+
name: nautobot-job-queues
3+
description: Ensure Nautobot Celery JobQueue records from Helm values
4+
5+
type: application
6+
7+
version: 0.1.0
8+
# renovate: datasource=docker depName=networktocode/nautobot versioning=semver
9+
appVersion: "3.0.7"
10+
11+
maintainers:
12+
- name: rackerlabs
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
queues:
2+
- site-dc
3+
4+
jobs:
5+
enable:
6+
groupings:
7+
- Rackspace
8+
names:
9+
- Backup Configurations
10+
- Deploy Config Plan (Job Button Receiver)
11+
- Deploy Config Plans
12+
- Generate Intended Configurations
13+
- Perform Configuration Compliance
14+
queueAssignments:
15+
- names:
16+
- Backup Configurations
17+
- Deploy Config Plan (Job Button Receiver)
18+
- Deploy Config Plans
19+
- Generate Intended Configurations
20+
- Perform Configuration Compliance
21+
queues:
22+
- site-dc
Lines changed: 49 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,49 @@
1+
{{/* Expand the name of the chart. */}}
2+
{{- define "nautobot-job-queues.name" -}}
3+
{{- .Chart.Name | trunc 63 | trimSuffix "-" }}
4+
{{- end }}
5+
6+
{{/* Create a default fully qualified app name. */}}
7+
{{- define "nautobot-job-queues.fullname" -}}
8+
{{- if contains .Chart.Name .Release.Name }}
9+
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
10+
{{- else }}
11+
{{- printf "%s-%s" .Release.Name .Chart.Name | trunc 63 | trimSuffix "-" }}
12+
{{- end }}
13+
{{- end }}
14+
15+
{{/* Chart label value. */}}
16+
{{- define "nautobot-job-queues.chart" -}}
17+
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
18+
{{- end }}
19+
20+
{{/* Common labels. */}}
21+
{{- define "nautobot-job-queues.labels" -}}
22+
helm.sh/chart: {{ include "nautobot-job-queues.chart" . }}
23+
{{ include "nautobot-job-queues.selectorLabels" . }}
24+
{{- if .Chart.AppVersion }}
25+
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
26+
{{- end }}
27+
app.kubernetes.io/managed-by: {{ .Release.Service }}
28+
{{- end }}
29+
30+
{{/* Selector labels. */}}
31+
{{- define "nautobot-job-queues.selectorLabels" -}}
32+
app.kubernetes.io/name: {{ include "nautobot-job-queues.name" . }}
33+
app.kubernetes.io/instance: {{ .Release.Name }}
34+
{{- end }}
35+
36+
{{/* Script config map name. */}}
37+
{{- define "nautobot-job-queues.scriptConfigMapName" -}}
38+
{{- printf "%s-script" (include "nautobot-job-queues.fullname" .) | trunc 63 | trimSuffix "-" -}}
39+
{{- end }}
40+
41+
{{/* Desired JobQueue config map name. */}}
42+
{{- define "nautobot-job-queues.desiredConfigMapName" -}}
43+
{{- printf "%s-desired" (include "nautobot-job-queues.fullname" .) | trunc 63 | trimSuffix "-" -}}
44+
{{- end }}
45+
46+
{{/* Ensure job name. */}}
47+
{{- define "nautobot-job-queues.jobName" -}}
48+
{{- printf "%s-ensure" (include "nautobot-job-queues.fullname" .) | trunc 63 | trimSuffix "-" -}}
49+
{{- end }}
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
apiVersion: v1
2+
kind: ConfigMap
3+
metadata:
4+
name: {{ include "nautobot-job-queues.desiredConfigMapName" . }}
5+
labels:
6+
{{- include "nautobot-job-queues.labels" . | nindent 4 }}
7+
data:
8+
job-queues.json: |
9+
{{ .Values.queues | toJson }}
10+
jobs.json: |
11+
{{ .Values.jobs | toJson }}

0 commit comments

Comments
 (0)