Commit 732f2189 authored by Muhammad Rehan's avatar Muhammad Rehan

Update version + mirror the chart

parent 67d83675
......@@ -14,4 +14,4 @@ keywords:
name: machinaris
sources:
- https://github.com/guydavis/machinaris
version: 1.0.11
version: 1.1.0
# 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
\ No newline at end of file
apiVersion: v1
appVersion: v0.6.4
dependencies:
- name: common
repository: file://../../../library/common/2105.0.0
version: 2105.0.0
description: Global, Versioned, peer-to-peer filesystem.
home: https://github.com/guydavis/machinaris
icon: https://raw.githubusercontent.com/guydavis/machinaris/main/web/static/favicon.ico
keywords:
- storage
- crypto
- blockchain
name: machinaris
sources:
- https://github.com/guydavis/machinaris
version: 1.1.0
Machinaris
=====
[MACHINARIS](https://github.com/guydavis/machinaris) is an easy-to-use WebUI for Chia plotting and farming. Includes Chia, Plotman, MadMax, Chiadog, and Flax in a single Docker image.
Introduction
------------
This chart bootstraps MACHINARIS deployment on a [Kubernetes](http://kubernetes.io) cluster using the [Helm](https://helm.sh) package manager.
Machinaris
=====
[MACHINARIS](https://github.com/guydavis/machinaris) is an easy-to-use WebUI for Chia plotting and farming. Includes Chia, Plotman, MadMax, Chiadog, and Flax in a single Docker image.
image:
pullPolicy: IfNotPresent
repository: ghcr.io/guydavis/machinaris
tag: v0.6.4
appVolumeMounts:
config:
emptyDir: true
mountPath: /data
plots:
emptyDir: true
mountPath: /plots
coins:
- name: cactus
apiPort:
nodePort: 90001
targetPort: 8936
ports:
- protocol: TCP
containerPort: 8936
- protocol: TCP
containerPort: 11444
- protocol: TCP
containerPort: 11447
- name: chives
apiPort:
nodePort: 90002
targetPort: 8931
ports:
- protocol: TCP
containerPort: 8931
- protocol: TCP
containerPort: 9699
- protocol: TCP
containerPort: 9647
- name: flax
apiPort:
nodePort: 90003
targetPort: 8928
ports:
- protocol: TCP
containerPort: 8928
- protocol: TCP
containerPort: 6888
- protocol: TCP
containerPort: 6885
- name: flora
apiPort:
nodePort: 90004
targetPort: 8932
ports:
- protocol: TCP
containerPort: 8932
- protocol: TCP
containerPort: 18644
- protocol: TCP
containerPort: 18647
- name: hddcoin
apiPort:
nodePort: 90005
targetPort: 8930
ports:
- protocol: TCP
containerPort: 8930
- protocol: TCP
containerPort: 28444
- protocol: TCP
containerPort: 28447
- name: nchain
apiPort:
nodePort: 90006
targetPort: 8929
ports:
- protocol: TCP
containerPort: 8929
- protocol: TCP
containerPort: 58445
- protocol: TCP
containerPort: 38447
- name: stacoin
apiPort:
nodePort: 90007
targetPort: 8934
ports:
- protocol: TCP
containerPort: 8934
- protocol: TCP
containerPort: 1999
- protocol: TCP
containerPort: 1692
- name: stor
apiPort:
nodePort: 90008
targetPort: 8935
ports:
- protocol: TCP
containerPort: 8935
- protocol: TCP
containerPort: 8668
- protocol: TCP
containerPort: 8337
machinaris_ui_port: 31003
timezone: America/Edmonton
updateStrategy: Recreate
nodeIP: 127.0.0.1
groups:
- name: "Networking"
description: "Configure Networking for Machinaris"
- name: "Machinaris Configuration"
description: "Machinaris configuration"
- name: "Storage"
description: "Configure Storage for Machinaris"
- name: "Machinaris Environment Variables"
description: "Set the environment that will be visible to the container"
- name: "Resource Limits"
description: "Set CPU/memory limits for Kubernetes Pod"
- name: "Configure Coins"
description: "Configure different coins"
portals:
web_portal:
protocols:
- "http"
host:
- "$node_ip"
ports:
- "$variable-machinaris_ui_port"
questions:
- variable: timezone
label: "Configure timezone"
group: "Machinaris Configuration"
description: "Configure timezone for machinaris"
schema:
type: string
$ref:
- "definitions/timezone"
- variable: nodeIP
description: "LAN IP address of your TrueNAS server"
group: "Machinaris Configuration"
label: "Worker Address"
schema:
type: string
$ref:
- "definitions/nodeIP"
- variable: machinaris_ui_port
label: "Machinaris Web UI"
group: "Networking"
description: "Web UI Port for Machinaris"
schema:
type: int
min: 9000
max: 65535
default: 9003
- variable: appVolumeMounts
label: "Machinaris 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: "/root/.chia"
- variable: hostPathEnabled
label: "Enable Custom Host Path for Machinaris Configuration Volume"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: hostPath
label: "Host Path for Machinaris 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 Machinaris Plots Volume"
schema:
type: boolean
default: false
show_subquestions_if: true
subquestions:
- variable: hostPath
label: "Host Path for Machinaris Plots Volume"
schema:
type: hostpath
required: true
- variable: extraAppVolumeMounts
label: "Machinaris Extra Host Path Volumes"
group: "Storage"
schema:
type: list
items:
- variable: extraAppVolume
label: "Machinaris Host Path Volume"
description: "Add an extra host path volume for machinaris 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 Machinaris"
group: "Machinaris 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: enableResourceLimits
label: "Enable Pod resource limits"
group: "Resource Limits"
schema:
type: boolean
- variable: cpuLimit
label: "CPU limit"
group: "Resource Limits"
schema:
type: string
show_if: [["enableResourceLimits", "=", true]]
valid_chars: "^\\d+(?:\\.\\d+(?!.*m$)|m?$)"
- variable: memLimit
label: "Memory limit"
group: "Resource Limits"
schema:
type: string
show_if: [["enableResourceLimits", "=", true]]
valid_chars: "^([+-]?[0-9.]+)([eEinumkKMGTP]*[-+]?[0-9]*)$"
- variable: enableStor
label: "Enable Stor"
group: "Configure Coins"
schema:
type: boolean
default: true
- variable: coins.7.apiPort.nodePort
label: "Machinaris-Stor API Port"
group: "Configure Coins"
description: "API Port for Machinaris-Stor"
schema:
type: int
min: 9000
max: 65535
default: 9004
show_if: [["enableStor", "=", true]]
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"
{{- $ref := . }}
{{- range $coin := $ref.Values.coins }}
{{ $_ := set $ref "common" (dict "nameSuffix" $coin.name) }}
apiVersion: {{ template "common.capabilities.deployment.apiVersion" $ref }}
kind: Deployment
metadata:
name: {{ template "common.names.fullname" $ref }}
labels: {{ include "common.labels" $ref | nindent 4 }}
spec:
strategy:
type: {{ $ref.Values.updateStrategy }}
selector:
matchLabels: {{ include "common.labels.selectorLabels" $ref | nindent 6 }}
template:
metadata:
name: {{ template "common.names.fullname" $ref }}
labels: {{ include "common.labels.selectorLabels" $ref | nindent 8 }}
spec:
containers:
- name: {{ $ref.Chart.Name }}
{{ if $ref.Values.enableResourceLimits }}
resources:
limits:
cpu: {{ $ref.Values.cpuLimit }}
memory: {{ $ref.Values.memLimit }}
{{ end }}
tty: true
{{ include "common.containers.imageConfig" (dict "repository" $ref.Values.image.repository "tag" $ref.Values.image.tag "pullPolicy" $ref.Values.image.pullPolicy "postfix" $ref.common.nameSuffix) | nindent 10 }}
{{ include "common.containers.configurePorts" $coin | nindent 10 }}
volumeMounts: {{ include "common.storage.configureAppVolumeMountsInContainer" $ref.Values | nindent 12 }}
{{ range $index, $hostPathConfiguration := $ref.Values.extraAppVolumeMounts }}
- name: extrappvolume-{{ $index }}
mountPath: {{ $hostPathConfiguration.mountPath }}
{{ end }}
{{ $envList := (default list $ref.Values.environmentVariables) }}
{{ $envList = mustAppend $envList (dict "name" "TZ" "value" $ref.Values.timezone) }}
{{ $envList = mustAppend $envList (dict "name" "worker_address" "value" $ref.Values.nodeIP) }}
{{ $envList = mustAppend $envList (dict "name" "controller_host" "value" $ref.Values.nodeIP) }}
{{ $envList = mustAppend $envList (dict "name" "worker_api_port" "value" $coin.apiPort.targetPort) }}
{{ $envList = mustAppend $envList (dict "name" "blockchains" "value" $coin.name) }}
{{ $envList = mustAppend $envList (dict "name" "plots_dir" "value" $ref.Values.appVolumeMounts.plots.mountPath) }}
{{ $envList = mustAppend $envList (dict "name" "mode" "value" "fullnode") }}
{{ include "common.containers.allEnvironmentVariables" (dict "environmentVariables" $envList) | nindent 10 }}
volumes: {{ include "common.storage.configureAppVolumes" $ref.Values | nindent 8 }}
{{ range $index, $hostPathConfiguration := $ref.Values.extraAppVolumeMounts }}
- name: extrappvolume-{{ $coin.name }}-{{ $index }}
hostPath:
path: {{ $hostPathConfiguration.hostPath }}
{{ end }}
---
{{- end }}
apiVersion: {{ template "common.capabilities.deployment.apiVersion" . }}
kind: Deployment
metadata:
name: {{ template "common.names.fullname" . }}
labels: {{ include "common.labels" . | nindent 4 }}
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: true
containers:
- name: {{ .Chart.Name }}
{{ if .Values.enableResourceLimits }}
resources:
limits:
cpu: {{ .Values.cpuLimit }}
memory: {{ .Values.memLimit }}
{{ end }}
tty: true
{{ 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: 8444
- name: machinaris-ui
protocol: TCP
containerPort: 8926
- name: machinaris-api
protocol: TCP
containerPort: 8927
hostPort: 8927
{{ $envList := (default list .Values.environmentVariables) }}
{{ $envList = mustAppend $envList (dict "name" "TZ" "value" $.Values.timezone) }}
{{ $envList = mustAppend $envList (dict "name" "worker_address" "value" $.Values.nodeIP) }}
{{ 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 }}
{{ $svc := .Values }}
{{ $ports := list }}
{{ $ports = mustAppend $ports (dict "name" "pms" "port" $svc.machinaris_ui_port "nodePort" $svc.machinaris_ui_port "targetPort" "machinaris-ui") }}
{{ $params := . }}
{{ $_ := set $params "commonService" (dict "ports" $ports "type" "NodePort" ) }}
{{ include "common.classes.service" $params }}
---
{{ $this := . }}
{{ range $coin := $this.Values.coins }}
{{ $ports := list }}
{{ $_ := set $this "common" (dict "nameSuffix" $coin.name) }}
{{ range $port := $coin.ports }}
{{ $ports = mustAppend $ports (dict "name" (printf "%v-%v" $coin.name $port.containerPort) "port" $port.containerPort "targetPort" $port.containerPort) }}
{{ end }}
{{ $_ := set $this "commonService" (dict "ports" $ports "type" "ClusterIP" ) }}
{{ include "common.classes.service" $this }}
---
{{ $ports := list }}
{{ $_ := set $this "common" (dict "nameSuffix" $coin.name) }}
{{ $ports = mustAppend $ports (dict "name" $coin.name "port" $coin.apiPort.nodePort "nodePort" $coin.apiPort.nodePort "targetPort" $coin.apiPort.targetPort) }}
{{ $_ := set $this "commonService" (dict "ports" $ports "type" "NodePort" "nameSuffix" "api") }}
{{ include "common.classes.service" $this }}
---
{{ end }}
appVolumeMounts:
config:
emptyDir: true
mountPath: /data
plots:
emptyDir: true
mountPath: /plots
image:
pullPolicy: IfNotPresent
repository: ghcr.io/guydavis/machinaris
tag: v0.6.4
machinaris_ui_port: 31003
timezone: America/Edmonton
updateStrategy: Recreate
nodeIP: 127.0.0.1
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