helm repo add community-solid-server https://communitysolidserver.github.io/css-helm-chart/
helm install my-css community-solid-server/community-solid-server
This chart bootstraps a Community Solid Server deployment on a Kubernetes cluster using the Helm package manager.
- Kubernetes 1.19+
- Helm 3.2.0+
- PV provisioner support in the underlying infrastructure if you want to use Persistence functionality.
To install the chart with the release name my-css:
helm repo add idlab-gent https://communitysolidserver.github.io/css-helm-chart/
helm install my-css community-solid-server/community-solid-server
These commands deploy Community Solid Server on the Kubernetes cluster in the default configuration. The Parameters section lists the parameters that can be configured during installation.
Tip: List all releases using
helm list
To uninstall/delete the my-css deployment:
helm delete my-css
The command removes all the Kubernetes components associated with the chart and deletes the release.
Name | Description | Value |
---|---|---|
image.registry |
CSS image registry | docker.io |
image.repository |
CSS image repository | solidproject/community-server |
image.tag |
CSS image tag (immutable tags are recommended) | "" |
image.pullPolicy |
CSS image pull policy | IfNotPresent |
image.pullSecrets |
Specify docker-registry secret names as an array | [] |
Name | Description | Value |
---|---|---|
nameOverride |
String to partially override css.fullname | "" |
fullnameOverride |
String to fully override css.fullname | "" |
Name | Description | Value |
---|---|---|
config.bundled |
Use one of the bundled configs (options: default, file, sparlql-endpoint, etc.) | default |
config.configMapName |
Name of configMap holding a custom css config | "" |
config.configMapKey |
Key for the configfile to be used from the configMap | "" |
logLevel |
Log level: silly, debug, verbose, info, warn, error | info |
showStacktrace |
Enables detailed logging on error pages. | false |
sparqlEndpoint |
URL of the SPARQL endpoints when using a quadstore-based configuration | "" |
baseUrlOverride |
From the helm config, an appropriate --baseUrl value will be passed to the community server. If however you wish to override this set this parameter appropriately. | "" |
multithreading.enabled |
Run in multithreaded mode using workers. | false |
multithreading.workers |
define how many worker threads to use, special values: -1 (num_cores-1) and 0 (num_cores) | -1 |
customParameters |
An array of flag value pairs to be added to the CSS cli command for custom parameters/overwrites. |
[] |
env |
Array of name: "" and value: "" pairs to be passed as environment variables to the CSS. |
[] |
Name | Description | Value |
---|---|---|
persistence.enabled |
Enable persistence on CSS using a PersistentVolumeClaim . If false, use emptyDir |
false |
persistence.existingClaim |
Name of an existing PersistentVolumeClaim for CSS replicas |
"" |
persistence.subPath |
Subdirectory of the volume to mount at (mostly useful when using an existing claim) | "" |
persistence.storageClassName |
CSS persistent volume storage Class | "" |
persistence.size |
CSS persistent volume size | 128Mi |
persistence.selector |
Selector to match an existing Persistent Volume | {} |
Name | Description | Value |
---|---|---|
service.type |
CSS Kubernetes service type | ClusterIP |
service.port |
CSS Kubernetes service port | 80 |
service.nodePort |
CSS Kubernetes service node port, only relevant when service.type == NodePort |
"" |
Name | Description | Value |
---|---|---|
ingress.enabled |
Set to true to enable ingress record generation | false |
ingress.host |
When the ingress is enabled, a host pointing to this will be created | CSS.local |
ingress.path |
Default path for the ingress resource | / |
ingress.annotations |
Additional annotations for the Ingress resource. To enable certificate autogeneration, place here your cert-manager annotations. | {} |
ingress.tls |
TLS Configuration | [] |
ingress.ingressClassName |
IngressClass that will be be used to implement the Ingress (Kubernetes 1.18+) | "" |
Name | Description | Value |
---|---|---|
resources.limits |
The resources limits for CSS containers | {} |
resources.requests |
The requested resources for CSS containers | {} |
podAnnotations |
CSS Pod annotations | {} |
securityContext |
Security Context for CSS Container | {} |
podSecurityContext |
Security Context for CSS Pod | {} |
nodeSelector |
Node labels for pod assignment | {} |
tolerations |
Tolerations for pod assignment | [] |
affinity |
Affinity for pod assignment | {} |
To use any of the bundled configs of CSS, specify which config to use by overriding config.bundled
with any of the following values:
- default (default)
- dynamic
- example-https-file
- file
- file-no-setup
- memory-subdomains
- path-routing
- restrict-idp
- sparql-endpoint-no-setup
- sparql-endpoint
- sparql-file-storage
To use a custom config, the config.configMapName
and config.configMapKey
variables are used.
First create a configmap resource to hold your config on the cluster. For example when you have a json file called my-config.json
:
kubectl create configmap my-configmap --from-file my-config.json
Alternatively when you have multiple configs in a directory called my-configs
, you can bundle a whole directory into one configmap like so:
kubectl create configmap my-configmap --from-file my-configs/
Then override this name and key values accordingly (key of the config will be the same as the filename), for example:
config:
configMapName: my-configmap
configMapKey: my-config.json