Configuration Explanation
Note: This document only explains the important parameters. Some parameters, due to their similar or identical functions, are not elaborated upon here.
All non-third-party services can customize the service name
<service>.nameto change the service name and the domain name exposed by the gateway API (except for the portal's main domain).All non-third-party services can define deployments and most deployment-related attributes of the StatefulSet, such as labels, annotations, replicas, serviceAccount, environments, resources, volumeMounts, livenessProbe, readinessProbe, startupProbe, lifecycle, stdin, tty, volumes, nodeSelector, tolerations, affinity, securityContext, etc.
This document explains the important configuration items in the CSGHub Helm Chart, including global configuration, core service configuration, built-in components, and the priority of each parameter. It is suitable for deployment, operation and maintenance, and secondary development personnel.
1. Global Parameter
1.1 Release edition
global:
edition: "ce" or "ee"
This specifies the deployment version, either Community or Enterprise edition. Different versions will affect the image tag, enabled features, and dependencies.
1.2 Global Gateway API
global:
gateway:
external:
domain: "csghub.example.com"
# public: "public.example.com"
tls:
enabled: false
secretName: "<kubernetes tls secret name>"
service:
type: "LoadBalancer" or "NodePort"
nodePorts:
http: 30080
https: 30443
gitssh: 30022
-
gateway
-
external
-
domain
Default:
csghub.example.com.The domain name used for external access to CSGHub. This differs from previous versions; the base domain is no longer used.
- For example: If access is ultimately via http://csghub.example.com, configure
csghub.example.comhere. - Other service domains are generated based on the base domain of the current domain, such as
casdoor.example.com. - If the specified domain is a subdomain, such as
example.com, it will ultimately referencecsghub.example.com, automatically appending a prefix.
- For example: If access is ultimately via http://csghub.example.com, configure
-
public
Default:
nil.When accessing instances such as inference, fine-tuning, MCP, and SPACE using independent domains, an independent domain name needs to be assigned to each service.
The default is
<domain>. If you need to modify it, please specify a separate domain name, such aspublic.exmaple.com. It will ultimately be referenced as a wildcard domain.You cannot directly specify a wildcard domain here.
-
-
tls
-
enabled
Default
false.- true: Enables HTTPS encrypted access. To enable HTTPS, you must provide
secretName. - false: Disables HTTPS encrypted access.
- true: Enables HTTPS encrypted access. To enable HTTPS, you must provide
-
secretName
Default
nil.Specify the domain certificate to use. Ensure the domain certificate contains at least the
publicwildcard domain. For example:- If
publicis not specified, anddomainis specified ascsghub.example.com, then the domain certificate must contain at least*.csghub.example.com. - If
publicis specified aspublic.example.com, then the domain certificate must contain at least*.public.example.com.
- If
-
-
service
-
type
Default
LoadBalancer.Specifies the external exposure method for the Gateway API Controller. Optional values are
LoadBalancerorNodePort.Note: This value needs to be specified during deployment. Modifying the
svctype after deployment may affect access. -
nodePorts (only valid for type = NodePort)
-
http
Default
30080.Specifies the NodePort corresponding to port 80.
-
https
Default
30443.Specifies the NodePort corresponding to port 443.
-
gitssh
Default
30022.Specifies the NodePort corresponding to port 22.
-
-
-
Priority:
global.gateway < gateway < <service>.gateway
1.3 Global Image
global:
imageRegistry: "opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsghq"
image:
registry: "opencsg-registry.cn-beijing.cr.aliyuncs.com"
tag: "v1.11.0"
pullPolicy: "IfNotPresent"
pullSecrets:
- acr-pull-secret
-
imageRegistry
Default
docker.io.Specifies the global mirror repository for EnvoyGateway. For use within China, it can be set to
opencsg-registry.cn-beijing.cr.aliyuncs.com/opencsghq. -
registry
Default
docker.io.This parameter overrides the image repositories for all images in the Helm chart. Modifying it is generally not recommended, as it defaults to relying on the original image repository of the image to pull relevant images. This might be docker.io, etc. If used in China, it can be set to
opencsg-registry.cn-beijing.cr.aliyuncs.com(envoyGateway is not subject to this parameter; please refer toimageRegistry.). -
tag
This is used to define the version number of the csghub image. If the image namespace belongs to opencsghq, the template will automatically complete identifiers such as edition based on whether the tag is compliant. For example, the tag in the example will be output as
v1.11.0-ce/v1.11.0-eeduring actual rendering. -
pullPolicy
Default
IfNotPresent.Image pull policy.
-
pullSecrets
Default
nil.Configure the pull key to pull images from the private image repository.
Priority:
global.image < image < <service>.image
1.4 Global Persistence
global:
persistence:
storageClass: "hostpath"
accessModes: ["ReadWriteOnce"]
size: "10Gi"
-
storageClass
Default
nil.The default storage class used by all StatefulSets.
-
accessModes
Default
ReadWriteOnce.The default access modes used by all StatefulSets.
-
Size
Default
10Gi.The default storage volume size used by all StatefulSets when creating PVCs.
Priority:
global.persistence < <service>.persistence