Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions charts/exivity/templates/proximity/api.deployment.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -59,6 +59,9 @@ spec:
- name: log-use
persistentVolumeClaim:
claimName: {{ include "exivity.fullname" $ -}}-use-log
- name: log-vulcan
persistentVolumeClaim:
claimName: {{ include "exivity.fullname" $ -}}-vulcan-log
- name: config
persistentVolumeClaim:
claimName: {{ include "exivity.fullname" $ -}}-etl-config
Expand Down Expand Up @@ -112,6 +115,8 @@ spec:
mountPath: /exivity/home/log/transcript
- name: log-use
mountPath: /exivity/home/log/use
- name: log-vulcan
mountPath: /exivity/home/log/vulcan
- name: import
mountPath: /exivity/home/import
- name: report
Expand Down
68 changes: 68 additions & 0 deletions charts/exivity/templates/vulcan/deployment.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,68 @@
apiVersion: apps/v1
kind: Deployment
metadata:
name: {{ include "exivity.fullname" $ -}}-vulcan
labels:
app.kubernetes.io/component: vulcan
{{- include "exivity.labels" $ | indent 4 }}
spec:
replicas: {{ .Values.service.vulcan.replicas }}
selector:
matchLabels:
app.kubernetes.io/component: vulcan
{{- include "exivity.matchLabels" $ | indent 6 }}
template:
metadata:
labels:
app.kubernetes.io/component: vulcan
{{- include "exivity.labels" $ | indent 8 }}
annotations:
checksum/{{- include "exivity.fullname" $ -}}-config-shared: {{ include (print $.Template.BasePath "/configmap.yaml") . | sha256sum }}
spec:
volumes:
- name: config-file
configMap:
name: {{ include "exivity.fullname" $ -}}-config-shared
- name: config
persistentVolumeClaim:
claimName: {{ include "exivity.fullname" $ -}}-vulcan-config
- name: log
persistentVolumeClaim:
claimName: {{ include "exivity.fullname" $ -}}-vulcan-log
containers:
- name: vulcan
image: {{ include "exivity.image" (set $ "name" "vulcan") }}
imagePullPolicy: {{ .Values.service.vulcan.pullPolicy | default .Values.service.pullPolicy | default "IfNotPresent" }}
resources:
{{- toYaml .Values.service.vulcan.resources | nindent 12 }}
env:
- name: EXIVITY_BACKEND_LOG_LEVEL
value: "{{ .Values.logLevel.backend }}"
- name: ENABLE_PROMETHEUS
value: "{{ .Values.prometheus.metricServer.enabled }}"
securityContext:
runAsUser: 1000
runAsGroup: 1000
volumeMounts:
- name: config
mountPath: /exivity/home/system/config
- name: config-file
mountPath: /exivity/home/system
- name: log
mountPath: /exivity/home/log/vulcan
{{- include "exivity.probes" $ | indent 10}}
{{- with .Values.service.pullSecrets }}
imagePullSecrets:
{{- range $name := .}}
- name: {{ $name }}
{{- end }}
{{- end }}
{{- if .Values.service.vulcan.nodeName }}
nodeName: {{ .Values.service.vulcan.nodeName }}
{{- end }}
{{- with .Values.service.vulcan.nodeSelector }}
nodeSelector:
{{ range $key, $val := . }}
{{ $key }}: {{ $val }}
{{- end }}
{{- end }}
34 changes: 34 additions & 0 deletions charts/exivity/templates/vulcan/persistentvolumeclaim.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ include "exivity.fullname" $ -}}-vulcan-config
labels:
app.kubernetes.io/component: vulcan
{{- include "exivity.labels" $ | indent 4 }}
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: 1Gi
{{- if .Values.storage.storageClass }}
storageClassName: {{ .Values.storage.storageClass }}
{{ end }}

---
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: {{ include "exivity.fullname" $ -}}-vulcan-log
labels:
app.kubernetes.io/component: vulcan
{{- include "exivity.labels" $ | indent 4 }}
spec:
accessModes:
- {{ .Values.storage.sharedVolumeAccessMode }}
resources:
requests:
storage: 1Gi
{{- if .Values.storage.storageClass }}
storageClassName: {{ .Values.storage.storageClass }}
{{ end }}
37 changes: 37 additions & 0 deletions charts/exivity/templates/vulcan/service-monitor.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
{{- if .Values.prometheus.metricServer.enabled -}}
apiVersion: v1
kind: Service
metadata:
name: {{ include "exivity.fullname" $ -}}-component-vulcan
labels:
app.kubernetes.io/component: vulcan
{{- include "exivity.labels" $ | indent 4 }}
spec:
type: ClusterIP
selector:
app.kubernetes.io/component: vulcan
{{- include "exivity.matchLabels" $ | indent 4 }}
ports:
- name: metrics
port: 8000
targetPort: 8000
protocol: TCP
{{ if .Values.prometheus.metricServer.serviceMonitor.enabled }}
---
apiVersion: monitoring.coreos.com/v1
kind: ServiceMonitor
metadata:
name: {{ include "exivity.fullname" $ -}}-vulcan
labels:
app.kubernetes.io/component: vulcan
{{- include "exivity.labels" $ | indent 4 }}
spec:
endpoints:
- interval: 5s
path: /metrics
port: metrics
scheme: http
selector:
matchLabels:
app.kubernetes.io/component: vulcan
{{- end }}{{- end }}
153 changes: 152 additions & 1 deletion charts/exivity/values.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -443,7 +443,8 @@
"pigeon",
"proximityCli",
"transcript",
"use"
"use",
"vulcan"
],
"properties": {
"registry": {
Expand Down Expand Up @@ -2131,6 +2132,126 @@
]
}
},
"vulcan": {
"type": "object",
"default": {},
"title": "The vulcan Schema",
"required": [
"registry",
"repository",
"tag",
"pullPolicy",
"replicas",
"nodeName",
"nodeSelector",
"resources"
],
"properties": {
"registry": {
"type": "string",
"default": "",
"title": "The registry Schema",
"examples": [""]
},
"repository": {
"type": "string",
"default": "",
"title": "The repository Schema",
"examples": ["exivity/vulcan"]
},
"tag": {
"type": "string",
"default": "",
"title": "The tag Schema",
"examples": [""]
},
"pullPolicy": {
"type": "string",
"default": "",
"title": "The pullPolicy Schema",
"examples": [""]
},
"replicas": {
"type": "integer",
"default": 0,
"title": "The replicas Schema",
"examples": [1]
},
"nodeName": {
"type": "string",
"default": "",
"title": "The nodeName Schema",
"examples": [""]
},
"nodeSelector": {
"type": "object",
"default": {},
"title": "The nodeSelector Schema",
"required": [],
"properties": {},
"examples": [{}]
},
"resources": {
"type": "object",
"default": {},
"title": "The resources Schema",
"required": ["requests"],
"properties": {
"requests": {
"type": "object",
"default": {},
"title": "The requests Schema",
"required": ["cpu", "memory"],
"properties": {
"cpu": {
"type": "string",
"default": "",
"title": "The cpu Schema",
"examples": ["25m"]
},
"memory": {
"type": "string",
"default": "",
"title": "The memory Schema",
"examples": ["50Mi"]
}
},
"examples": [
{
"cpu": "25m",
"memory": "50Mi"
}
]
}
},
"examples": [
{
"requests": {
"cpu": "25m",
"memory": "50Mi"
}
}
]
}
},
"examples": [
{
"registry": "",
"repository": "exivity/vulcan",
"tag": "",
"pullPolicy": "",
"replicas": 1,
"nodeName": "",
"nodeSelector": {},
"resources": {
"requests": {
"cpu": "25m",
"memory": "50Mi"
}
}
}
]
},
"examples": [
{
"registry": "docker.io",
Expand Down Expand Up @@ -2342,6 +2463,21 @@
}
},
"caCertificates": null
},
"vulcan": {
"registry": "",
"repository": "exivity/vulcan",
"tag": "",
"pullPolicy": "",
"replicas": 1,
"nodeName": "",
"nodeSelector": {},
"resources": {
"requests": {
"cpu": "25m",
"memory": "50Mi"
}
}
}
}
]
Expand Down Expand Up @@ -2804,6 +2940,21 @@
}
},
"caCertificates": null
},
"vulcan": {
"registry": "",
"repository": "exivity/vulcan",
"tag": "",
"pullPolicy": "",
"replicas": 1,
"nodeName": "",
"nodeSelector": {},
"resources": {
"requests": {
"cpu": "25m",
"memory": "50Mi"
}
}
}
},
"logLevel": {
Expand Down
14 changes: 14 additions & 0 deletions charts/exivity/values.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -329,6 +329,20 @@ service:
# [Your Intermediate CA certificate here]
# -----END CERTIFICATE-----

# Configuration for the 'vulcan' service, part of the back-end components.
vulcan:
registry: ""
repository: exivity/vulcan
tag: ""
pullPolicy: Always
replicas: 1
nodeName: ""
nodeSelector: {}
resources:
requests:
cpu: "25m"
memory: "50Mi"

# Default log level for backend services. Accepts 'debug', 'info'.
# Use 'debug' for development environments and 'info' or higher for production to reduce log verbosity.
logLevel:
Expand Down
Loading