Please note: This repository is currently unmaintained by a team of developers at Byzanteam. It is now maintained by the charts/application-chart-template.
A Helm chart template for byzanteam application
Name | Url | |
---|---|---|
YangKe | [email protected] | https://Byzanteam.github.io/helm-charts |
Key | Type | Default | Description |
---|---|---|---|
appIngressroutes | list | [] |
|
applicationHosts | list | [] |
|
applicationTLS | object | {} |
|
corsSettings | object | {} |
|
envFromSecrets[].existSecretName | string | "" |
The secret resource name |
envFromSecrets[].env[].envName | string | "" |
The env name |
envFromSecrets[].env[].secretKey | string | "" |
The secret key name in the resource |
env | object | {} |
|
externalIngressroute | list | [] |
|
fullnameOverride | string | "" |
|
image.pullPolicy | string | "IfNotPresent" |
|
image.repository | string | "nginx" |
|
image.tag | string | "latest" |
|
imageCredentials | object | {} |
|
initContainers | list | [] |
|
nameOverride | string | "" |
|
replicaCount | int | 1 |
|
restartPolicy | string | "Always" |
|
service.ports[].name | string | "http" |
|
service.ports[].port | int | 80 |
|
service.ports[].protocol | string | TCP |
|
service.type | string | "ClusterIP" |
|
volumeMounts | list | [] |
|
volumes | list | [] |
|
nodeSelector | object | {} |
|
tolerations | list | [] |
|
affinity | object | {} |
|
command | list | [] |
image:
repository: registory/namespace/name
pullPolicy: IfNotPresent
tag: "latest"
imageCredentials:
registry: registry.cn-hangzhou.aliyuncs.com
username: deploy-man@skylark
password: changeit
applicationHosts:
- example.com
- 192.168.0.1
appIngressroutes:
- name: example-name
path: /example-path
servicePortName: 0
externalIngressroute:
- name: "external-name"
# 外部服务是域名则用 host
host: "external-host"
# 外部服务是 ip 则用 ip
ip: "192.168.0.1"
port: "443"
path: "/external-path"
# 映入外部服务所需要添加的中间件
middlewares:
- cors-header
注: 外部服务所用中间件
cors-header
目的是给前端调用第三方服务时使用
env: {}
使用证书挑战设置
certResolver
参数
applicationTLS:
certResolver: jet
使用自有证书设置
TLSSecret
applicationTLS:
TLSSecret:
certificate: certificate-file base64 encoding
key: key-file base64 encoding
envFromSecrets:
- existSecretName: "jet-env-secret"
env:
- envName: "LOG_LEVEL"
secretKey: "jet_plugin_level"
secret内容如下:
apiVersion: v1 kind: Secret metadata: name: example-env-secret type: Opaque data: example-key1: TnV6YUNYQTlZUUxMOWI= # base64 encoding string example-key2: aYnlwd1VpcFNlb1FIMVR # base64 encoding string
initContainers:
- name: init
image: busybox:latest
command: ["sh", "-c"]
args: []
envFrom:
- configMapRef:
name: {{ include "application-chart-template.name" $ }}-env
command:
- /bin/sh
- -c
volumeMounts:
- mountPath: /path/file
name: volumeName
volumes:
- name: volumeName
hostPath:
path: /local/path
type: DirectoryOrCreate
corsSettings:
accessControlAllowHeaders:
- '*'
accessControlAllowMethods:
- GET
- OPTIONS
- PUT
accessControlAllowOriginList:
- '*'
accessControlMaxAge: "100"
- nodeSelector
nodeSelector:
key: value
- tolerations
tolerations:
- key: "key1"
operator: "Equal"
value: "value1"
effect: "NoSchedule"
- key: "key1"
operator: "Equal"
value: "value1"
effect: "NoExecute"
- affinity
affinity:
nodeAffinity:
requiredDuringSchedulingIgnoredDuringExecution:
nodeSelectorTerms:
- matchExpressions:
- key: kubernetes.io/os
operator: In
values:
- linux
preferredDuringSchedulingIgnoredDuringExecution:
- weight: 1
preference:
matchExpressions:
- key: label-1
operator: In
values:
- key-1
- weight: 50
preference:
matchExpressions:
- key: label-2
operator: In
values:
- key-2