mirror of
https://github.com/truenas/charts.git
synced 2026-11-04 14:44:08 +08:00
Add initial filecoin application template
This commit is contained in:
23
test/filecoin/1.0.0/.helmignore
Normal file
23
test/filecoin/1.0.0/.helmignore
Normal file
@@ -0,0 +1,23 @@
|
||||
# Patterns to ignore when building packages.
|
||||
# This supports shell glob matching, relative path matching, and
|
||||
# negation (prefixed with !). Only one pattern per line.
|
||||
.DS_Store
|
||||
# Common VCS dirs
|
||||
.git/
|
||||
.gitignore
|
||||
.bzr/
|
||||
.bzrignore
|
||||
.hg/
|
||||
.hgignore
|
||||
.svn/
|
||||
# Common backup files
|
||||
*.swp
|
||||
*.bak
|
||||
*.tmp
|
||||
*~
|
||||
# Various IDEs
|
||||
.project
|
||||
.idea/
|
||||
*.tmproj
|
||||
# OWNERS file for Kubernetes
|
||||
OWNERS
|
||||
18
test/filecoin/1.0.0/Chart.yaml
Normal file
18
test/filecoin/1.0.0/Chart.yaml
Normal file
@@ -0,0 +1,18 @@
|
||||
apiVersion: v1
|
||||
appVersion: v1.12.0
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../../../library/common/2105.0.0
|
||||
version: 2105.0.0
|
||||
description: Global, Versioned, peer-to-peer filesystem.
|
||||
home: https://filecoin.io/
|
||||
icon: https://filecoin.io/images/filecoin-logo.svg
|
||||
keywords:
|
||||
- storage
|
||||
- crypto
|
||||
- blockchain
|
||||
name: filecoin
|
||||
sources:
|
||||
- https://github.com/filecoin-project/lotus
|
||||
- https://hub.docker.com/r/filecoin/lotus
|
||||
version: 1.0.0
|
||||
7
test/filecoin/1.0.0/README.md
Executable file
7
test/filecoin/1.0.0/README.md
Executable file
@@ -0,0 +1,7 @@
|
||||
Filecoin Network
|
||||
=====
|
||||
|
||||
Filecoin is a peer-to-peer network that stores files on the internet, with built-in economic incentives to ensure files are stored reliably over time.
|
||||
------------
|
||||
|
||||
This chart bootstraps Filecoin Lotus deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
|
||||
4
test/filecoin/1.0.0/app-readme.md
Normal file
4
test/filecoin/1.0.0/app-readme.md
Normal file
@@ -0,0 +1,4 @@
|
||||
Chia Network
|
||||
=====
|
||||
|
||||
[CHIA](https://www.chia.net/) is a new blockchain and smart transaction platform that is easier to use, more efficient, and secure.
|
||||
BIN
test/filecoin/1.0.0/charts/common-2105.0.0.tgz
Normal file
BIN
test/filecoin/1.0.0/charts/common-2105.0.0.tgz
Normal file
Binary file not shown.
5
test/filecoin/1.0.0/ix_values.yaml
Normal file
5
test/filecoin/1.0.0/ix_values.yaml
Normal file
@@ -0,0 +1,5 @@
|
||||
image:
|
||||
pullPolicy: IfNotPresent
|
||||
repository: filecoin/lotus
|
||||
tag: v1.12.0
|
||||
updateStrategy: Recreate
|
||||
182
test/filecoin/1.0.0/questions.yaml
Normal file
182
test/filecoin/1.0.0/questions.yaml
Normal file
@@ -0,0 +1,182 @@
|
||||
groups:
|
||||
- name: "Storage"
|
||||
description: "Configure Storage for Chia"
|
||||
- name: "Farmr.net Configuration"
|
||||
description: "Configure farmr.net support"
|
||||
- name: "Chia Environment Variables"
|
||||
description: "Set the environment that will be visible to the container"
|
||||
- name: "Networking"
|
||||
description: "Configure networking for Chia container"
|
||||
|
||||
portals:
|
||||
web_portal:
|
||||
protocols:
|
||||
- "https"
|
||||
host:
|
||||
- "www.truepool.io"
|
||||
ports:
|
||||
- "443"
|
||||
path: "/kb/truepool-docker-image/"
|
||||
|
||||
questions:
|
||||
- variable: farmr_env
|
||||
label: "Enable 'farmr.net' support"
|
||||
group: "Farmr.net Configuration"
|
||||
description: "Configure 'farmr.net' support for chia"
|
||||
schema:
|
||||
type: string
|
||||
default: "off"
|
||||
enum:
|
||||
- value: "off"
|
||||
description: "OFF"
|
||||
- value: "farmer"
|
||||
description: "FARMER"
|
||||
- value: "harvester"
|
||||
description: "HARVESTER"
|
||||
- variable: appVolumeMounts
|
||||
label: "Chia Storage"
|
||||
group: "Storage"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: config
|
||||
label: "Configuration Volume"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: datasetName
|
||||
label: "Configuration Volume Dataset Name"
|
||||
schema:
|
||||
type: string
|
||||
hidden: true
|
||||
$ref:
|
||||
- "normalize/ixVolume"
|
||||
show_if: [["hostPathEnabled", "=", false]]
|
||||
default: "config"
|
||||
editable: false
|
||||
- variable: mountPath
|
||||
label: "Configuration Mount Path"
|
||||
description: "Path where the volume will be mounted inside the pod"
|
||||
schema:
|
||||
type: path
|
||||
hidden: true
|
||||
editable: true
|
||||
default: "/data"
|
||||
- variable: hostPathEnabled
|
||||
label: "Enable Custom Host Path for Chia Configuration Volume"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostPath
|
||||
label: "Host Path for Chia Configuration Volume"
|
||||
schema:
|
||||
type: hostpath
|
||||
required: true
|
||||
- variable: plots
|
||||
label: "Plot Volume"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: datasetName
|
||||
label: "Plots Volume Name"
|
||||
schema:
|
||||
type: string
|
||||
hidden: true
|
||||
$ref:
|
||||
- "normalize/ixVolume"
|
||||
show_if: [["hostPathEnabled", "=", false]]
|
||||
default: "plots"
|
||||
editable: false
|
||||
- variable: mountPath
|
||||
label: "Plots Mount Path"
|
||||
description: "Path where the volume will be mounted inside the pod"
|
||||
schema:
|
||||
type: path
|
||||
hidden: true
|
||||
editable: false
|
||||
default: "/plots"
|
||||
- variable: hostPathEnabled
|
||||
label: "Enable Custom Host Path for Chia Plots Volume"
|
||||
schema:
|
||||
type: boolean
|
||||
default: false
|
||||
show_subquestions_if: true
|
||||
subquestions:
|
||||
- variable: hostPath
|
||||
label: "Host Path for Chia Plots Volume"
|
||||
schema:
|
||||
type: hostpath
|
||||
required: true
|
||||
|
||||
- variable: extraAppVolumeMounts
|
||||
label: "Chia Extra Host Path Volumes"
|
||||
group: "Storage"
|
||||
schema:
|
||||
type: list
|
||||
items:
|
||||
- variable: extraAppVolume
|
||||
label: "Chia Host Path Volume"
|
||||
description: "Add an extra host path volume for chia application"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: mountPath
|
||||
label: "Mount Path in Pod"
|
||||
description: "Path where the volume will be mounted inside the pod"
|
||||
schema:
|
||||
type: path
|
||||
required: true
|
||||
- variable: hostPath
|
||||
label: "Host Path"
|
||||
description: "Host path"
|
||||
schema:
|
||||
type: hostpath
|
||||
required: true
|
||||
|
||||
- variable: environmentVariables
|
||||
label: "Environment Variables for Chia"
|
||||
group: "Chia Environment Variables"
|
||||
schema:
|
||||
type: list
|
||||
default: []
|
||||
items:
|
||||
- variable: environmentVariable
|
||||
label: "Environment Variable"
|
||||
schema:
|
||||
type: dict
|
||||
attrs:
|
||||
- variable: name
|
||||
label: "Name"
|
||||
schema:
|
||||
type: string
|
||||
- variable: value
|
||||
label: "Value"
|
||||
schema:
|
||||
type: string
|
||||
|
||||
- variable: service
|
||||
description: "Networking Configuration"
|
||||
label: "Networking Configuration"
|
||||
group: "Networking"
|
||||
schema:
|
||||
type: dict
|
||||
required: true
|
||||
attrs:
|
||||
- variable: nodePort
|
||||
label: "Node Port to use for Chia"
|
||||
schema:
|
||||
type: int
|
||||
min: 8000
|
||||
max: 65535
|
||||
default: 8444
|
||||
required: true
|
||||
- variable: farmerPort
|
||||
label: "Farmer Port to use for Chia"
|
||||
schema:
|
||||
type: int
|
||||
min: 8000
|
||||
max: 65535
|
||||
default: 8447
|
||||
required: true
|
||||
6
test/filecoin/1.0.0/requirements.lock
Normal file
6
test/filecoin/1.0.0/requirements.lock
Normal file
@@ -0,0 +1,6 @@
|
||||
dependencies:
|
||||
- name: common
|
||||
repository: file://../../../library/common/2105.0.0
|
||||
version: 2105.0.0
|
||||
digest: sha256:11522ab36487826700d7ad0f86f713a4bb5d35248014bcef690fe94acbc09ef6
|
||||
generated: "2021-05-17T18:26:46.201544+05:00"
|
||||
46
test/filecoin/1.0.0/templates/deployment.yaml
Normal file
46
test/filecoin/1.0.0/templates/deployment.yaml
Normal file
@@ -0,0 +1,46 @@
|
||||
apiVersion: {{ template "common.capabilities.deployment.apiVersion" . }}
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ template "common.names.fullname" . }}
|
||||
labels: {{ include "common.labels" . | nindent 4 }}
|
||||
annotations:
|
||||
rollme: {{ randAlphaNum 5 | quote }}
|
||||
spec:
|
||||
strategy:
|
||||
type: {{ .Values.updateStrategy }}
|
||||
selector:
|
||||
matchLabels: {{ include "common.labels.selectorLabels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
name: {{ template "common.names.fullname" . }}
|
||||
labels: {{ include "common.labels.selectorLabels" . | nindent 8 }}
|
||||
spec:
|
||||
# FIXME: Let's please remove hostnetwork when upstream hostport issue is sorted out with kube-router
|
||||
hostNetwork: {{ include "hostNetworkingEnabled" . }}
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}
|
||||
{{ include "common.containers.imageConfig" .Values.image | nindent 10 }}
|
||||
volumeMounts: {{ include "common.storage.configureAppVolumeMountsInContainer" .Values | nindent 12 }}
|
||||
{{ range $index, $hostPathConfiguration := .Values.extraAppVolumeMounts }}
|
||||
- name: extrappvolume-{{ $index }}
|
||||
mountPath: {{ $hostPathConfiguration.mountPath }}
|
||||
{{ end }}
|
||||
ports:
|
||||
- name: chia-network
|
||||
protocol: TCP
|
||||
containerPort: 8444
|
||||
hostPort: null
|
||||
- name: chia-farmer
|
||||
protocol: TCP
|
||||
containerPort: 8447
|
||||
hostPort: null
|
||||
{{ $envList := (default list .Values.environmentVariables) }}
|
||||
{{ $envList = mustAppend $envList (dict "name" "keys" "value" "/plots/keyfile") }}
|
||||
{{ $envList = mustAppend $envList (dict "name" "farmr" "value" $.Values.farmr_env) }}
|
||||
{{ include "common.containers.allEnvironmentVariables" (dict "environmentVariables" $envList) | nindent 10 }}
|
||||
volumes: {{ include "common.storage.configureAppVolumes" .Values | nindent 8 }}
|
||||
{{ range $index, $hostPathConfiguration := .Values.extraAppVolumeMounts }}
|
||||
- name: extrappvolume-{{ $index }}
|
||||
hostPath:
|
||||
path: {{ $hostPathConfiguration.hostPath }}
|
||||
{{ end }}
|
||||
30
test/filecoin/1.0.0/templates/generate-mnemonic.yaml
Normal file
30
test/filecoin/1.0.0/templates/generate-mnemonic.yaml
Normal file
@@ -0,0 +1,30 @@
|
||||
apiVersion: batch/v1
|
||||
kind: Job
|
||||
metadata:
|
||||
name: "pre-install"
|
||||
annotations:
|
||||
"helm.sh/hook": pre-install
|
||||
"helm.sh/hook-weight": "1"
|
||||
"helm.sh/hook-delete-policy": hook-succeeded
|
||||
spec:
|
||||
template:
|
||||
metadata:
|
||||
name: "pre-upgrade-hook2"
|
||||
spec:
|
||||
restartPolicy: Never
|
||||
containers:
|
||||
- name: {{ .Chart.Name }}-generate-mnemonic
|
||||
{{ include "common.containers.imageConfig" .Values.image | nindent 8 }}
|
||||
volumeMounts:{{ include "common.storage.configureAppVolumeMountsInContainer" .Values | nindent 10 }}
|
||||
|
||||
- name: generate-mnemonic-configmap
|
||||
mountPath: /generate_entrypoint.sh
|
||||
readOnly: true
|
||||
subPath: entrypoint.sh
|
||||
command:
|
||||
- "/generate_entrypoint.sh"
|
||||
volumes: {{- include "common.storage.configureAppVolumes" .Values | nindent 8 -}}
|
||||
- name: generate-mnemonic-configmap
|
||||
configMap:
|
||||
defaultMode: 0700
|
||||
name: "generate-mnemonic-config-map"
|
||||
14
test/filecoin/1.0.0/templates/mnemonic-configmap.yaml
Normal file
14
test/filecoin/1.0.0/templates/mnemonic-configmap.yaml
Normal file
@@ -0,0 +1,14 @@
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: "generate-mnemonic-config-map"
|
||||
annotations:
|
||||
"helm.sh/hook": pre-install
|
||||
"helm.sh/hook-weight": "-1"
|
||||
"helm.sh/hook-delete-policy": hook-succeeded
|
||||
data:
|
||||
entrypoint.sh: |-
|
||||
#!/bin/sh
|
||||
if [ ! -e /plots/keyfile ]; then
|
||||
/chia-blockchain/venv/bin/python3 -c "from chia.util.keychain import generate_mnemonic;print(generate_mnemonic())" > /plots/keyfile;
|
||||
fi
|
||||
21
test/filecoin/1.0.0/templates/networking.tpl
Normal file
21
test/filecoin/1.0.0/templates/networking.tpl
Normal file
@@ -0,0 +1,21 @@
|
||||
{{/*
|
||||
Enable host networking
|
||||
*/}}
|
||||
{{- define "hostNetworkingEnabled" -}}
|
||||
{{- if or (lt (.Values.service.nodePort | int) 9000) (lt (.Values.service.farmerPort | int) 9000) -}}
|
||||
{{- print "true" -}}
|
||||
{{- else -}}
|
||||
{{- print "false" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
|
||||
{{/*
|
||||
Enable Node Port Service
|
||||
*/}}
|
||||
{{- define "enableService" -}}
|
||||
{{- if or (ge (.Values.service.nodePort | int) 9000) (ge (.Values.service.farmerPort | int) 9000) -}}
|
||||
{{- print "true" -}}
|
||||
{{- else -}}
|
||||
{{- print "false" -}}
|
||||
{{- end -}}
|
||||
{{- end -}}
|
||||
13
test/filecoin/1.0.0/templates/service.yaml
Normal file
13
test/filecoin/1.0.0/templates/service.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
{{ if eq (include "enableService" .) "true" }}
|
||||
{{ $svc := .Values.service }}
|
||||
{{ $ports := list }}
|
||||
{{ if ge ($svc.nodePort | int) 9000 }}
|
||||
{{ $ports = mustAppend $ports (dict "name" "chia-network" "port" $svc.nodePort "nodePort" $svc.nodePort "targetPort" 8444) }}
|
||||
{{ end }}
|
||||
{{ if ge ($svc.farmerPort | int) 9000 }}
|
||||
{{ $ports = mustAppend $ports (dict "name" "chia-farmer" "port" $svc.farmerPort "nodePort" $svc.farmerPort "targetPort" 8447) }}
|
||||
{{ end }}
|
||||
{{ $params := . }}
|
||||
{{ $_ := set $params "commonService" (dict "type" "NodePort" "ports" $ports ) }}
|
||||
{{ include "common.classes.service" $params }}
|
||||
{{ end }}
|
||||
15
test/filecoin/1.0.0/test_values.yaml
Normal file
15
test/filecoin/1.0.0/test_values.yaml
Normal file
@@ -0,0 +1,15 @@
|
||||
appVolumeMounts:
|
||||
data:
|
||||
emptyDir: true
|
||||
mountPath: /data
|
||||
staging:
|
||||
emptyDir: true
|
||||
mountPath: /plots
|
||||
image:
|
||||
pullPolicy: IfNotPresent
|
||||
repository: filecoin/lotus
|
||||
tag: v1.12.0
|
||||
service:
|
||||
farmerPort: 31122
|
||||
nodePort: 31121
|
||||
updateStrategy: Recreate
|
||||
4
test/filecoin/item.yaml
Normal file
4
test/filecoin/item.yaml
Normal file
@@ -0,0 +1,4 @@
|
||||
categories:
|
||||
- storage
|
||||
- crypto
|
||||
icon_url: https://filecoin.io/images/filecoin-logo.svg
|
||||
Reference in New Issue
Block a user