Skip to main content

Configuration Guide

Parameter Files

This Helm Chart uses a special method for handling parameters. It employs dictionary merging for both .Values.global (parent chart) and .Values (child chart) parameters. This means that all parameters are declared under .Values.global (including both global parameters and child chart parameters).

Note: Despite this approach, some child chart parameters are still configured using the conventional mapping method. However, these parameters are not within the scope of user customization.

Detailed Instructions

Note: All adjustable parameters are located under the global section. The following does not list all configurable parameters, but highlights the key configuration options for this application. Some default resource configurations are omitted.

General Information

Chart ScopeParameter NameTypeDefaultPurpose
globalimagePullSecretlistNullSpecifies the docker-registry credentials for private image repositories.
pdb.createdicttrueSpecifies whether to create a Pod Disruption Budget to maintain application availability.
pdb.minAvailabledict1Specifies the minimum number of available pods of the same type.
pdb.maxUnavailabledict0Specifies the maximum number of unavailable pods of the same type.
global.ingressenabledicttrueSpecifies whether to enable ingress.
classNamedictnginxUses the ingress-nginx as the default due to specific requirements.
hostsdictexample.comThe parent domain name to access the application, typically a subdomain. After deployment, you can check the specific access domain via the installation output or ingress resources.
service.typedictNodePortSelect between NodePort or LoadBalancer. This is a reference anchor and should not be changed.
service.nodePorts.httpdict30080Port 80 for exposing through ingress-nginx. This parameter is ignored for LoadBalancer, default is 80.
service.nodePorts.httpsdict30443Port 443 for exposing through ingress-nginx. This parameter is ignored for LoadBalancer, default is 443.
service.nodePorts.tcp.[number]dict2222Port 22 for exposing through ingress-nginx. If using LoadBalancer, modify the key as 22:32222.
tls.enableddictfalseControls whether ingress TLS encrypted access is enabled.
tls.verifydictfalseControls whether to verify the SSL certificate of upstream servers when proxying through ingress.
tls.autoGenerateddictfalseSpecifies whether to automatically generate certificates (self-signed). This parameter is not yet effective and will be added in the next version.
tls.caSecretNamedictNullThe name of the Secret created using a custom CA certificate.
tls.secretNamedictNullThe name of the Secret created using a certificate signed by a custom CA.
annotationsdictNullOther annotations.
global.serverreplicasdict1Sets the number of server pod replicas, the default is 1.
image.repositorydictopencsg-registry.cn-beijing.cr.aliyuncs.com/opencsg_public/csghub_serverThe csghub_server image URL.
image.tagdictvN.N.NThe image version.
image.pullPolicydictIfNotPresentThe image pull policy.
image.pullSecretlistNullThe Secret used for pulling images from a private repository. This has higher priority than global.imagePullSecret.
service.typedictClusterIPService type.
service.portdict8080The port for exposing the service.
postgresql.hostdictNullSpecifies the address of an external database. Effective only when global.postgresql.enabled=false.
postgresql.portdictNullSpecifies the port of an external database. Effective only when global.postgresql.enabled=false.
postgresql.userdictNullSpecifies the username for an external database. Effective only when global.postgresql.enabled=false.
postgresql.passworddictNullSpecifies the password for an external database. Effective only when global.postgresql.enabled=false.
postgresql.databasedictNullSpecifies the name of the external database. Effective only when global.postgresql.enabled=false.
postgresql.timezonedictNullSpecifies the timezone for the external database (optional). Effective only when global.postgresql.enabled=false.
objectStorage.endpointdictNullSpecifies the endpoint of external object storage. Effective only when global.minio.enabled=false.
objectStorage.accessKeydictNullSpecifies the accessKey for external object storage. Effective only when global.minio.enabled=false.
objectStorage.accessSecretdictNullSpecifies the accessSecret for external object storage. Effective only when global.minio.enabled=false.
objectStorage.bucketdictNullSpecifies the bucket for external object storage. Effective only when global.minio.enabled=false.
objectStorage.regiondictNullSpecifies the region for external object storage. Effective only when global.minio.enabled=false.
timezonedictAsia/ShanghaiThe default timezone for the service.
global.portalreplicasdict1Same as above.
image{}dict/Same as above.
postgresql{}dict/Same as above.
objectStorage{}dict/Same as above.
global.runnerreplicasdict1Same as above.
image{}dict/Same as above.
namespacedictspaceThe Kubernetes namespace for the space application.
service{}dict/Same as above.
kubeConfig.secretNamedictkube-configsThe Secret containing one or more target cluster .kube/config* files.
global.proxyreplicasdict1Same as above.
image{}dict/Same as above.
service{}dict/Same as above.
global.builderreplicasdict1Same as above.
image{}dict/Same as above.
service{}dict/Same as above.
internal[n].domaindictapp.internalSpecifies the internal domain name used by Knative Serving in the target cluster.
internal[n].service.hostdictNullSpecifies the external access address for the Kourier network component used by Knative Serving in the target cluster.
internal[n].service.portdictNullSpecifies the external access port for the Kourier network component used by Knative Serving in the target cluster.
redis.hostdictNullSpecifies the host for external Redis.
redis.portdictNullSpecifies the port for external Redis.
redis.passworddictNullSpecifies the password for external Redis.
registry.repositorydictNullSpecifies the address of the external registry repository, e.g., docker.io
registry.namesacedictNullSpecifies the namespace of the external registry repository, e.g., csghub. Combined with the above parameter, it becomes docker.io/csghub.
registry.usernamedictNullSpecifies the username for the external registry repository.
registry.passworddictNullSpecifies the password for the external registry repository.
securityContext.runAsUserdict0Runs the pod with root admin privileges. Please keep the default.
securityContext.runAsGroupdict0Runs the pod with root admin privileges. Please keep the default.
securityContext.fsGroupdict0Runs the pod with root admin privileges. Please keep the default.
podSecurityContext.privilegeddicttrueRuns the pod with root admin privileges. Please keep the default.
podSecurityContext.allowPrivilegeEscalationdicttrueRuns the pod with root admin privileges. Please keep the default.
podSecurityContext.readOnlyRootFilesystemdictfalseDisable the read-only file system. Please keep the default.
persistence.storageClassdictNullOnly StatefulSet resources are configured to request PVC currently. If your cluster does not have a default storageClass, please specify the storageClass type to be used with this parameter.
persistence.accessModedictReadWriteOnceAccess mode for persistent storage.
global.giteaimage{}dict/Same as above.
service{}dict/Same as above.
authentication.usernamedictgiteaSpecify the default administrator user for gitea.
authentication.passworddictNullRandomly generate the password for the administrator user.
authentication.emaildictgitea@example.comSpecify the email address for the administrator user. (Currently has no actual significance.)
postgresql{}dictNullSpecify the external PostgreSQL for storing Gitea metadata. The default is to use the built-in PostgreSQL.
objectStorage{}dictNullSpecify the object storage for Gitea to store LFS files. The default is to use the built-in Minio.
smtp.enableddictfalseConfigure whether to enable smtp for gitea.
smtp.fromdictNullSpecify the smtp sender identifier.
smtp.hostdictNullSpecify the smtp sending server.
smtp.portdictNullSpecify the smtp sending server port.
smtp.userdictNullSpecify the smtp sender username.
smtp.passworddictNullSpecify the smtp sender user password.
persistence{}dictNullSame as above.
global.postgresqlenableddicttrueWhether to enable the built-in postgresql.
image{}dictNullSame as above.
service{}dictNullSame as above.
databaselistcsghub_portal
csghub_server
gitea
casdoor
The databases that are created by default.
persistence{}dictNullSame as above.
global.redisenableddicttrueWhether to enable the built-in redis.
image{}dictNullSame as above.
service{}dictNullSame as above.
persistence{}dictNullSame as above.
global.minioenableddicttrueWhether to enable the built-in redis.
image{}dictNullSame as above.
service.typedictClusterIPSpecify the service type.
service.ports.apidict9000Minio API access port
service.ports.consoledict9001Minio web console access port
bucketslistcsghub-portal
csghub-server
csghub-git
Default created buckets.
regiondictcn-north-1The default region identified by Minio.
authentication.usernamedictminioMinio default administrator password.
authentication。passworddictNullMinio default administrator password, randomly generated by default.
persistence{}dictNull作Same as above.
global.registryenableddicttruehether to enable the built-in registry.
image{}dictNullSame as above.
service{}dictNullSame as above.
namespacedictspaceSpecify the namespace used by the default registry.
authentication.usernamedictregistryDefault administrator for the registry.
authentication.passworddictNullRegistry default administrator password, randomly generated by default.
persistence{}dictNullSame as above.
global.corednsreplicasdict1Default number of coredns replicas.
image{}dictNullSame as above.
global.natsimage{}dictNullSame as above.
global.accountimage{}dictNullSame as above.
global.casdoorimage{}dictNullSame as above.
service{}dictNullSame as above.
Ingress{}dictNullSame as above.
global.userimage{}dictNullSame as above.
global.fluentelasticsearch.hostdictNullSpecify the address of the Elasticsearch server for writing data.
elasticsearch.portdict9200Specifies the port of the Elasticsearch service.
elasticsearch.indexdictNullConfigures the index name csghub for storing log data in Elasticsearch.

Additional Information

  • ingress.hosts

    Typically, this parameter needs to specify a valid second-level domain name. The application will automatically use the following domain names for external access to its components.

    • csghub.example.com Main application domain
    • casdoor.example.com Casdoor management page domain
    • minio.example.com Built-in object storage domain