mirror of
https://github.com/gyptazy/ProxLB.git
synced 2026-04-05 20:31:57 +02:00
Merge pull request #282 from MaoMaoCake/main
Feat: Add support for helm
This commit is contained in:
24
helm/proxlb/Chart.yaml
Normal file
24
helm/proxlb/Chart.yaml
Normal file
@@ -0,0 +1,24 @@
|
||||
apiVersion: v3
|
||||
name: proxlb
|
||||
description: A Helm chart for self-hosted ProxLB
|
||||
|
||||
# A chart can be either an 'application' or a 'library' chart.
|
||||
#
|
||||
# Application charts are a collection of templates that can be packaged into versioned archives
|
||||
# to be deployed.
|
||||
#
|
||||
# Library charts provide useful utilities or functions for the chart developer. They're included as
|
||||
# a dependency of application charts to inject those utilities and functions into the rendering
|
||||
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
|
||||
type: application
|
||||
|
||||
# This is the chart version. This version number should be incremented each time you make changes
|
||||
# to the chart and its templates, including the app version.
|
||||
# Versions are expected to follow Semantic Versioning (https://semver.org/)
|
||||
version: "1.1.5"
|
||||
|
||||
# This is the version number of the application being deployed. This version number should be
|
||||
# incremented each time you make changes to the application. Versions are not expected to
|
||||
# follow Semantic Versioning. They should reflect the version the application is using.
|
||||
# It is recommended to use it with quotes.
|
||||
appVersion: "v1.1.5"
|
||||
13
helm/proxlb/templates/_helpers.yaml
Normal file
13
helm/proxlb/templates/_helpers.yaml
Normal file
@@ -0,0 +1,13 @@
|
||||
{{- define "proxlb.fullname" -}}
|
||||
{{- printf "%s-%s" .Release.Name .Chart.Name | trunc 63 | trimSuffix "-" -}}
|
||||
{{- end -}}
|
||||
|
||||
{{ define "proxlb.labels" }}
|
||||
app.kubernetes.io/name: {{ .Release.Name }}
|
||||
app.kubernetes.io/managed-by: Helm
|
||||
app.kubernetes.io/version: {{ .Chart.AppVersion }}
|
||||
app.kubernetes.io/component: proxlb
|
||||
{{- if .Values.labels }}
|
||||
{{ toYaml .Values.labels }}
|
||||
{{- end }}
|
||||
{{ end }}
|
||||
11
helm/proxlb/templates/configmap.yaml
Normal file
11
helm/proxlb/templates/configmap.yaml
Normal file
@@ -0,0 +1,11 @@
|
||||
{{- if .Values.configmap.create }}
|
||||
apiVersion: v1
|
||||
kind: ConfigMap
|
||||
metadata:
|
||||
name: proxlb-config
|
||||
labels:
|
||||
{{- include "proxlb.labels" . | nindent 4 }}
|
||||
data:
|
||||
proxlb.yaml: |
|
||||
{{ toYaml .Values.configmap.config | indent 4 }}
|
||||
{{ end }}
|
||||
44
helm/proxlb/templates/deployment.yaml
Normal file
44
helm/proxlb/templates/deployment.yaml
Normal file
@@ -0,0 +1,44 @@
|
||||
apiVersion: apps/v1
|
||||
kind: Deployment
|
||||
metadata:
|
||||
name: {{ .Release.Name }}
|
||||
labels:
|
||||
{{- include "proxlb.labels" . | nindent 4 }}
|
||||
spec:
|
||||
replicas: 1 # Number of replicas cannot be more than 1
|
||||
selector:
|
||||
matchLabels:
|
||||
{{- include "proxlb.labels" . | nindent 6 }}
|
||||
template:
|
||||
metadata:
|
||||
labels:
|
||||
{{- include "proxlb.labels" . | nindent 8 }}
|
||||
spec:
|
||||
{{- with .Values.image.imagePullSecrets }}
|
||||
imagePullSecrets:
|
||||
{{- toYaml . | nindent 8 }}
|
||||
{{- end }}
|
||||
# not interacting with the k8s cluster
|
||||
automountServiceAccountToken: False
|
||||
containers:
|
||||
- name: proxlb
|
||||
image: "{{ .Values.image.registry }}/{{ .Values.image.repository }}:{{ .Values.image.tag }}"
|
||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
||||
args:
|
||||
{{- if .Values.extraArgs.dryRun }}
|
||||
- --dry-run
|
||||
{{- end }}
|
||||
volumeMounts:
|
||||
- name: config
|
||||
mountPath: /etc/proxlb/proxlb.yaml
|
||||
subPath: proxlb.yaml
|
||||
{{ if .Values.resources }}
|
||||
resources:
|
||||
{{ with .Values.resources }}
|
||||
{{ toYaml . | nindent 10 }}
|
||||
{{ end }}
|
||||
{{ end }}
|
||||
volumes:
|
||||
- name: config
|
||||
configMap:
|
||||
name: proxlb-config
|
||||
60
helm/proxlb/values.yaml
Normal file
60
helm/proxlb/values.yaml
Normal file
@@ -0,0 +1,60 @@
|
||||
image:
|
||||
registry: cr.gyptazy.com
|
||||
repository: proxlb/proxlb
|
||||
tag: v1.1.5
|
||||
pullPolicy: IfNotPresent
|
||||
imagePullSecrets: [ ]
|
||||
|
||||
resources:
|
||||
limits:
|
||||
cpu: "1000m"
|
||||
memory: "2Gi"
|
||||
requests:
|
||||
cpu: "100m"
|
||||
memory: "100Mi"
|
||||
|
||||
labels: {}
|
||||
|
||||
extraArgs:
|
||||
dryRun: false
|
||||
|
||||
configmap:
|
||||
create: true
|
||||
config:
|
||||
proxmox_api:
|
||||
hosts: []
|
||||
#Can be either a user or a token
|
||||
# user: ""
|
||||
# pass: ""
|
||||
# token_id: ""
|
||||
# token_secret: ""
|
||||
ssl_verification: True
|
||||
timeout: 10
|
||||
proxmox_cluster:
|
||||
maintenance_nodes: [ ]
|
||||
ignore_nodes: [ ]
|
||||
overprovisioning: True
|
||||
balancing:
|
||||
enable: True
|
||||
enforce_affinity: False
|
||||
parallel: False
|
||||
# If running parallel job, you can define
|
||||
# the amount of prallel jobs (default: 5)
|
||||
parallel_jobs: 1
|
||||
live: True
|
||||
with_local_disks: True
|
||||
balance_types: [ 'vm', 'ct' ]
|
||||
max_job_validation: 1800
|
||||
balanciness: 5
|
||||
method: memory
|
||||
mode: used
|
||||
service:
|
||||
daemon: True
|
||||
schedule:
|
||||
interval: 12
|
||||
format: "hours"
|
||||
delay:
|
||||
enable: False
|
||||
time: 1
|
||||
format: "hours"
|
||||
log_level: INFO
|
||||
Reference in New Issue
Block a user