Workspace Storage
Gitpod uses bucket storage to persist the contents of workspaces. Each workspace is tarballed into a single archive file which is then uploaded to a separate bucket.
By default Gitpod installs MinIO as built-in bucket storage which uses a persistent volume to store workspace content.
For more complex use case we recommend configuring more permanent means of persistence by either:
- Configure the contained MinIO-instance to serve as a gateway OR configure one of a wide range of storage backends.
- Bring your own storage bucket: Configure Gitpod to either connect to:
- your own installation of MinIO
- a Google Cloud Storage compatible storage solution
a) Configure custom MinIO instance
Create a file
values.custom.yaml
with this content:components: contentService: remoteStorage: kind: minio minio: endpoint: your-minio-installation.somewhere-else.com:8080 accessKey: enterKeyHere secretKey: superSecretKeyGoesHere tmpdir: /tmp # Disable built-in minio instance minio: enabled: false
Redeploy Gitpod using
helm upgrade --install -f values.custom.yaml gitpod gitpod.io/gitpod --version=0.9.0
to apply the changesNote that Helm does not merge hierarchies in a single file. Please make sure there is only ever one
components
hierarchy or the last one overwrites all previous values.
b) Configure the built-in MinIO instance
- Consult the chart’s documentation at https://helm.min.io/
- Create a file
values.custom.yaml
with this content:minio: accessKey: add-a-radom-access-key-here secretKey: add-a-radom-secret-key-here # insert custom config here
- Redeploy Gitpod using
helm upgrade --install -f values.custom.yaml gitpod gitpod.io/gitpod --version=0.9.0
to apply the changes