Files
chart/library/ix-dev/community/chia/templates/_chia.tpl
Stavros Kois 275657f0c3 NAS-121031 / None / Add chia to community train (#1031)
* add chia to community train

* dummy commit

* add update_strategy
2023-03-20 17:34:29 +02:00

162 lines
4.8 KiB
Smarty

{{- define "chia.workload" -}}
workload:
chia:
enabled: true
primary: true
type: Deployment
podSpec:
{{ if or (lt (int .Values.chiaNetwork.chiaPort) 9000)
(lt (int .Values.chiaNetwork.farmerPort) 9000) }}
hostNetwork: true
{{ else }}
hostNetwork: false
{{ end }}
containers:
chia:
enabled: true
primary: true
imageSelector: image
securityContext:
runAsUser: 0
runAsGroup: 0
runAsNonRoot: false
readOnlyRootFilesystem: false
env:
plots_dir: {{ include "chia.plotDirs" $ | quote }}
{{ with .Values.chiaConfig.full_node_peer }}
full_node_peer: {{ . | quote }}
{{ end }}
{{ with .Values.chiaConfig.service }}
service: {{ . }}
{{ end }}
{{ if eq .Values.chiaConfig.service "harvester" }}
farmer_address: {{ .Values.chiaConfig.farmer_address | quote }}
farmer_port: {{ .Values.chiaConfig.farmer_port | quote }}
ca: {{ .Values.chiaConfig.ca | quote }}
keys: "none"
{{ else }}
keys: {{ include "chia.keyfile" . | quote }}
{{ end }}
{{ with .Values.chiaConfig.additionalEnvs }}
{{ range $env := . }}
{{ $env.name }}: {{ $env.value }}
{{ end }}
{{ end }}
probes:
liveness:
enabled: true
type: exec
command:
- /bin/sh
- -c
- |
chmod +x /usr/local/bin/docker-healthcheck.sh && \
/usr/local/bin/docker-healthcheck.sh || exit 1
readiness:
enabled: true
type: exec
command:
- /bin/sh
- -c
- |
chmod +x /usr/local/bin/docker-healthcheck.sh && \
/usr/local/bin/docker-healthcheck.sh || exit 1
startup:
enabled: true
type: exec
command:
- /bin/sh
- -c
- |
chmod +x /usr/local/bin/docker-healthcheck.sh && \
/usr/local/bin/docker-healthcheck.sh || exit 1
{{ if ne .Values.chiaConfig.service "harvester" }}
initContainers:
keygen:
enabled: true
type: init
imageSelector: image
securityContext:
runAsUser: 0
runAsGroup: 0
runAsNonRoot: false
command: /bin/sh
args:
- -c
- |
if [ ! -f {{ include "chia.keyfile" . | quote }} ]; then
echo "Generating keys..."
/chia-blockchain/venv/bin/python3 -c \
"from chia.util.keychain import generate_mnemonic;print(generate_mnemonic())" > {{ include "chia.keyfile" . | quote }};
if [ ! -f {{ include "chia.keyfile" . | quote }} ]; then
echo "Failed to generate keys." && exit 1
fi
echo "Keys generated."
fi
{{ end }}
{{/* Service */}}
service:
chia:
enabled: true
primary: true
type: NodePort
targetSelector: chia
ports:
chia-net:
enabled: true
primary: true
port: {{ .Values.chiaNetwork.chiaPort }}
nodePort: {{ .Values.chiaNetwork.chiaPort }}
targePort: 8444
targetSelector: chia
chia-farmer:
enabled: true
port: {{ .Values.chiaNetwork.farmerPort }}
nodePort: {{ .Values.chiaNetwork.farmerPort }}
targePort: 8447
targetSelector: chia
{{/* Persistence */}}
persistence:
data:
enabled: true
type: {{ .Values.chiaStorage.data.type }}
datasetName: {{ .Values.chiaStorage.data.datasetName | default "" }}
hostPath: {{ .Values.chiaStorage.data.hostPath | default "" }}
targetSelector:
chia:
chia:
mountPath: /root/.chia
plots:
enabled: true
type: {{ .Values.chiaStorage.plots.type }}
datasetName: {{ .Values.chiaStorage.plots.datasetName | default "" }}
hostPath: {{ .Values.chiaStorage.plots.hostPath | default "" }}
targetSelector:
chia:
chia:
mountPath: /plots
keygen:
mountPath: /plots
tmp:
enabled: true
type: emptyDir
targetSelector:
chia:
chia:
mountPath: /tmp
{{ range $idx, $vol := .Values.chiaStorage.additionalVolumes }}
{{ printf "volume-%s" (toString $idx) }}:
enabled: true
type: {{ $vol.type }}
datasetName: {{ $vol.datasetName | default "" }}
hostPath: {{ $vol.hostPath | default "" }}
targetSelector:
chia:
chia:
mountPath: {{ $vol.mountPath }}
{{ end }}
{{- end -}}