Commit 842c2dcb authored by sonicaj's avatar sonicaj

Setup filecoin deployment

parent 5b5fe22a
Chia Network
Filecoin Network
=====
[CHIA](https://www.chia.net/) is a new blockchain and smart transaction platform that is easier to use, more efficient, and secure.
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.
groups:
- name: "Storage"
description: "Configure Storage for Chia"
- name: "Farmr.net Configuration"
description: "Configure farmr.net support"
- name: "Chia Environment Variables"
description: "Configure Storage"
- name: "Environment Variables"
description: "Set the environment that will be visible to the container"
- name: "Networking"
description: "Configure networking for Chia container"
description: "Configure networking"
portals:
web_portal:
......@@ -19,106 +17,92 @@ portals:
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"
label: "Storage"
group: "Storage"
schema:
type: dict
attrs:
- variable: config
label: "Configuration Volume"
- variable: data
label: "Lotus Data Volume"
schema:
type: dict
attrs:
- variable: datasetName
label: "Configuration Volume Dataset Name"
label: "Lotus Data Volume Dataset Name"
schema:
type: string
hidden: true
$ref:
- "normalize/ixVolume"
show_if: [["hostPathEnabled", "=", false]]
default: "config"
default: "lotus"
editable: false
- variable: mountPath
label: "Configuration Mount Path"
label: "Lotus Data Mount Path"
description: "Path where the volume will be mounted inside the pod"
schema:
type: path
hidden: true
editable: true
default: "/data"
editable: false
default: "/var/lib/lotus"
- variable: hostPathEnabled
label: "Enable Custom Host Path for Chia Configuration Volume"
label: "Enable Custom Host Path for Lotus Data Volume"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: hostPath
label: "Host Path for Chia Configuration Volume"
label: "Host Path for Lotus Data Volume"
schema:
type: hostpath
required: true
- variable: plots
label: "Plot Volume"
- variable: parameterCache
label: "Filecoin Parameter Cache Volume"
schema:
type: dict
attrs:
- variable: datasetName
label: "Plots Volume Name"
label: "Parameter Cache Volume Name"
schema:
type: string
hidden: true
$ref:
- "normalize/ixVolume"
show_if: [["hostPathEnabled", "=", false]]
default: "plots"
default: "parameter_cache"
editable: false
- variable: mountPath
label: "Plots Mount Path"
label: "Parameter Cache Mount Path"
description: "Path where the volume will be mounted inside the pod"
schema:
type: path
hidden: true
editable: false
default: "/plots"
editable: true
default: "/var/tmp/filecoin-proof-parameters"
- variable: hostPathEnabled
label: "Enable Custom Host Path for Chia Plots Volume"
label: "Enable Custom Host Path for Parameter Cache Volume"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: hostPath
label: "Host Path for Chia Plots Volume"
label: "Host Path for Parameter Cache Volume"
schema:
type: hostpath
required: true
- variable: extraAppVolumeMounts
label: "Chia Extra Host Path Volumes"
label: "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"
label: "Host Path Volume"
description: "Add an extra host path volume"
schema:
type: dict
attrs:
......@@ -136,8 +120,8 @@ questions:
required: true
- variable: environmentVariables
label: "Environment Variables for Chia"
group: "Chia Environment Variables"
label: "Environment Variables"
group: "Environment Variables"
schema:
type: list
default: []
......@@ -165,18 +149,10 @@ questions:
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"
label: "Node Port to use for Filecoin"
schema:
type: int
min: 8000
max: 65535
default: 8447
default: 9665
required: true
......@@ -26,14 +26,10 @@ spec:
mountPath: {{ $hostPathConfiguration.mountPath }}
{{ end }}
ports:
- name: chia-network
- name: fil-network
protocol: TCP
containerPort: 8444
hostPort: null
- name: chia-farmer
protocol: TCP
containerPort: 8447
hostPort: null
containerPort: 1234
hostPort: 1234
{{ $envList := (default list .Values.environmentVariables) }}
{{ $envList = mustAppend $envList (dict "name" "keys" "value" "/plots/keyfile") }}
{{ $envList = mustAppend $envList (dict "name" "farmr" "value" $.Values.farmr_env) }}
......
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"
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
......@@ -2,10 +2,7 @@
{{ $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) }}
{{ $ports = mustAppend $ports (dict "name" "fil-network" "port" $svc.nodePort "nodePort" $svc.nodePort "targetPort" 8444) }}
{{ end }}
{{ $params := . }}
{{ $_ := set $params "commonService" (dict "type" "NodePort" "ports" $ports ) }}
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment