Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion .vitepress/theme/components/DockerIcon.vue
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
<script setup lang="ts">
import { computed } from 'vue'

const image = "ghcr.io/kloudkit/workspace:v0.2.1"
const image = "ghcr.io/kloudkit/workspace:v0.3.0"

const tag = computed(() => image.split(":")[1])
</script>
Expand Down
2 changes: 1 addition & 1 deletion .vitepress/theme/components/Home.vue
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@
<span class="lang">sh</span>
<pre
class="shiki catppuccin-frappe vp-code"><code><span class="line"><span style="color:#737994;font-style:italic;"># TL-DR; ⚑ Power your batteries now!</span></span>
<span class="line"></span><span class="line"><span style="color:#8CAAEE;font-style:italic;">docker</span><span style="color:#A6D189;"> pull</span><span style="color:#A6D189;"> ghcr.io/kloudkit/workspace:v0.2.1</span></span></code></pre>
<span class="line"></span><span class="line"><span style="color:#8CAAEE;font-style:italic;">docker</span><span style="color:#A6D189;"> pull</span><span style="color:#A6D189;"> ghcr.io/kloudkit/workspace:v0.3.0</span></span></code></pre>
</div>
</div>

Expand Down
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,15 +3,15 @@
> πŸ“š Dedicated documentation for the **Kloud Workspace**

[![Stars](https://img.shields.io/github/stars/kloudkit?style=for-the-badge&logo=data%3Aimage%2Fsvg%2Bxml%3Bbase64%2CPHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHZpZXdCb3g9IjAgMCAyNTYgMjU2Ij4KPHBhdGggZD0iTTIzNS4yNCw4NC4zOGwtMjguMDYsMjMuNjgsOC41NiwzNS4zOWExMy4zNCwxMy4zNCwwLDAsMS01LjA5LDEzLjkxLDEzLjU0LDEzLjU0LDAsMCwxLTE1LC42OUwxNjQsMTM5bC0zMS42NSwxOS4wNmExMy41MSwxMy41MSwwLDAsMS0xNS0uNjksMTMuMzIsMTMuMzIsMCwwLDEtNS4xLTEzLjkxbDguNTYtMzUuMzlMOTIuNzYsODQuMzhhMTMuMzksMTMuMzksMCwwLDEsNy42Ni0yMy41OGwzNi45NC0yLjkyLDE0LjIxLTMzLjY2YTEzLjUxLDEzLjUxLDAsMCwxLDI0Ljg2LDBsMTQuMjEsMzMuNjYsMzYuOTQsMi45MmExMy4zOSwxMy4zOSwwLDAsMSw3LjY2LDIzLjU4Wk04OC4xMSwxMTEuODlhOCw4LDAsMCwwLTExLjMyLDBMMTguMzQsMTcwLjM0YTgsOCwwLDAsMCwxMS4zMiwxMS4zMmw1OC40NS01OC40NUE4LDgsMCwwLDAsODguMTEsMTExLjg5Wm0tLjUsNjEuMTlMMzQuMzQsMjI2LjM0YTgsOCwwLDAsMCwxMS4zMiwxMS4zMmw1My4yNi01My4yN2E4LDgsMCwwLDAtMTEuMzEtMTEuMzFabTczLTEtNTQuMjksNTQuMjhhOCw4LDAsMCwwLDExLjMyLDExLjMybDU0LjI4LTU0LjI4YTgsOCwwLDAsMC0xMS4zMS0xMS4zMloiIHN0eWxlPSJmaWxsOiAjQ0FEM0Y1OyIvPgo8L3N2Zz4%3D&logoColor=c6d0f5&labelColor=414559&color=yellow)](https://github.com/kloudkit/ws-meta/stargazers)
[![Docker](https://img.shields.io/badge/v0.2.1-dockertag?style=for-the-badge&logo=docker&logoColor=c6d0f5&label=docker&labelColor=414559&color=ef9f76)](https://github.com/orgs/kloudkit/packages/container/package/workspace)
[![Docker](https://img.shields.io/badge/v0.3.0-dockertag?style=for-the-badge&logo=docker&logoColor=c6d0f5&label=docker&labelColor=414559&color=ef9f76)](https://github.com/orgs/kloudkit/packages/container/package/workspace)
[![Documentation](https://img.shields.io/badge/Browse-a?style=for-the-badge&logo=readthedocs&logoColor=c6d0f5&label=Documentation&labelColor=414559&color=85c1dc)](https://ws.kloudkit.com)
[![License](https://img.shields.io/github/license/kloudkit/ws-docs?style=for-the-badge&logo=opensourceinitiative&logoColor=c6d0f5&labelColor=414559&color=8caaee)](https://github.com/kloudkit/ws-docs/blob/main/LICENSE)

---

```sh
# TL-DR; ⚑ Power your batteries now!
docker run -p 8080:8080 ghcr.io/kloudkit/workspace:v0.2.1
docker run -p 8080:8080 ghcr.io/kloudkit/workspace:v0.3.0
```

## Documentation
Expand Down
6 changes: 3 additions & 3 deletions docs/editor/authentication.md
Original file line number Diff line number Diff line change
Expand Up @@ -40,7 +40,7 @@ application running inside the workspace.
```sh{2}
docker run \
-e WS_AUTH_PASSWORD=super_duper_secret \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

### Creating a Hashed Password
Expand Down Expand Up @@ -69,7 +69,7 @@ Then deploy the workspace:
```sh{2}
docker run \
-e WS_AUTH_PASSWORD_HASHED="$argon2id$v=19$m=4096,t=3,p=1$z4DjJlJgI6S7fAdQC35ZQw$Rpu8CLMWedxJaH0eiFCetyoRbg+S8ow/RRyVCZzM6QE" \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

### File-Based Passwords
Expand All @@ -83,7 +83,7 @@ convention path and leave the variable unset.
docker run \
-e WS_AUTH_PASSWORD_HASHED=file:/run/secrets/workspace/auth/password_hashed \
-v ./password_hashed.txt:/run/secrets/workspace/auth/password_hashed:ro \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

See [Resolving Secret Values](/settings/configuration#resolving-secret-values)
Expand Down
6 changes: 3 additions & 3 deletions docs/editor/extensions.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,7 +42,7 @@ You can also install additional extensions by marketplace ID:
```sh{2}
docker run \
-e WS_EDITOR_ADDITIONAL_VS_EXTENSIONS="dbaeumer.vscode-eslint esbenp.prettier-vscode" \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

### Persistent Extensions
Expand All @@ -65,7 +65,7 @@ docker volume create my-extensions

docker run \
-v my-extensions:/extensions \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

## Privately Hosted Gallery
Expand All @@ -78,7 +78,7 @@ For example:
```sh{2}
docker run \
-e EXTENSIONS_GALLERY='{"serviceUrl": "https://my-extensions/api"}' \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

::: warning
Expand Down
4 changes: 2 additions & 2 deletions docs/editor/features.md
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,7 @@ startup to determine which *features* to install automatically.
```sh{2}
docker run \
-e WS_FEATURES_ADDITIONAL_FEATURES="dotnet jupyter" \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

### Manual Installation
Expand Down Expand Up @@ -144,7 +144,7 @@ docker run \
-e WS_APT_DISABLE_REPOS="*" \
-e WS_FEATURES_STORE_URL="http://feature-store.local" \
-e WS_FEATURES_ADDITIONAL_FEATURES="gh terraform" \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

The feature store image is available at `ghcr.io/kloudkit/ws-feature-store`.
Expand Down
4 changes: 2 additions & 2 deletions docs/editor/metrics.md
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ Set `WS_METRICS_ENABLE` to `true` when launching the container:
```sh{2}
docker run \
-e WS_METRICS_ENABLE=true \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

Once enabled, the exporter serves metrics at `/` on port **9100** *(default)*.
Expand All @@ -41,7 +41,7 @@ docker run \
-e WS_METRICS_ENABLE=true \
-e WS_METRICS_PORT=9200 \
-e WS_METRICS_COLLECTORS="container.cpu,container.memory" \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

## Collectors
Expand Down
4 changes: 2 additions & 2 deletions docs/editor/port-forwarding.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,7 +57,7 @@ environment variable:
```sh{2}
docker run \
-e WS_SERVER_PROXY_DOMAIN=ws.dev \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

In the configuration above, if your Kloud Workspace is hosted at `ws.dev` and you run the
Expand All @@ -71,7 +71,7 @@ You can provide multiple proxy domains by passing a space-delimited list:
```sh{2}
docker run \
-e WS_SERVER_PROXY_DOMAIN="ws.dev local.ws.dev" \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

With the configuration above, services will be available on both domains: `*.ws.dev` and
Expand Down
8 changes: 4 additions & 4 deletions docs/editor/settings.md
Original file line number Diff line number Diff line change
Expand Up @@ -85,14 +85,14 @@ preserving any defaults not explicitly specified:
```sh{2} [inline]
docker run \
-e WS_EDITOR_SETTINGS_MERGE='{"editor.fontSize": 16, "[python]": {"editor.tabSize": 4}}' \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

```sh{2,3} [file]
docker run \
-e WS_EDITOR_SETTINGS_MERGE_FILE=/workspace/.settings-merge.json \
-v /path/to/my-settings.json:/workspace/.settings-merge.json \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

:::
Expand All @@ -110,14 +110,14 @@ Using override removes all default workspace settings.
```sh{2} [inline]
docker run \
-e WS_EDITOR_SETTINGS_OVERRIDE='{"editor.fontSize": 16}' \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

```sh{2,3} [file]
docker run \
-e WS_EDITOR_SETTINGS_OVERRIDE_FILE=/workspace/.settings.json \
-v /path/to/my-settings.json:/workspace/.settings.json \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

:::
Expand Down
4 changes: 2 additions & 2 deletions docs/editor/storage.md
Original file line number Diff line number Diff line change
Expand Up @@ -39,7 +39,7 @@ To persist data in Kloud Workspace, mount a volume to the `/workspace` directory
```sh{2}
docker run \
-v workspace:/workspace \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

In the command above:
Expand Down Expand Up @@ -74,7 +74,7 @@ you persist it separately:
docker run \
-v ws:/home/kloud/.ws \
-v workspace:/workspace \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

## Named Volumes vs. Bind Mounts
Expand Down
6 changes: 3 additions & 3 deletions docs/editor/terminal.md
Original file line number Diff line number Diff line change
Expand Up @@ -41,7 +41,7 @@ to your deployment:
docker run \
-e WS_TERMINAL_PROMPT_HIDE_DOCKER_CONTEXT=1 \
-e WS_TERMINAL_PROMPT_HIDE_PYTHON_VERSION=1 \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

### Colorful Output
Expand Down Expand Up @@ -110,13 +110,13 @@ To modify the default set of plugins, adjust the `env` variables listed below:
```sh{2} [Override]
docker run \
-e WS_ZSH_PLUGINS="kubectl npm python pip" \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

```sh{2} [Append]
docker run \
-e WS_ZSH_ADDITIONAL_PLUGINS="php" \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

:::
Expand Down
2 changes: 1 addition & 1 deletion docs/editor/theme-and-fonts.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ environment variable to either `1` or `true`:
```sh{2}
docker run \
-e WS_EDITOR_COMMENTS_DISABLE_FONT=1 \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

The animation below shows comments in the default font and how they appear when the font
Expand Down
6 changes: 3 additions & 3 deletions docs/pages/getting-started.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,14 +46,14 @@ port `8080`.
::: code-group

```sh [docker]
docker run -p 8080:8080 ghcr.io/kloudkit/workspace:v0.2.1
docker run -p 8080:8080 ghcr.io/kloudkit/workspace:v0.3.0
```

```yaml [compose]
version: '3.8'
services:
workspace:
image: ghcr.io/kloudkit/workspace:v0.2.1
image: ghcr.io/kloudkit/workspace:v0.3.0
ports:
- 8080:8080
```
Expand Down Expand Up @@ -93,7 +93,7 @@ spec:
spec:
containers:
- name: workspace
image: ghcr.io/kloudkit/workspace:v0.2.1
image: ghcr.io/kloudkit/workspace:v0.3.0
ports:
- containerPort: 8080
```
Expand Down
4 changes: 2 additions & 2 deletions docs/settings/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -61,14 +61,14 @@ The resolver returns the first match:
```sh [Env literal]
docker run \
-e WS_AUTH_PASSWORD=super_duper_secret \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

```sh [file: prefix]
docker run \
-e WS_AUTH_PASSWORD=file:/run/secrets/workspace/auth/password \
-v ./password.txt:/run/secrets/workspace/auth/password:ro \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

```yaml [Kubernetes]
Expand Down
2 changes: 1 addition & 1 deletion docs/settings/secrets.md
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ Use in Docker deployments:
```sh
docker run \
-e WS_AUTH_PASSWORD_HASHED=$PASSWORD \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

See [authentication documentation](/editor/authentication) for details.
Expand Down
16 changes: 8 additions & 8 deletions docs/settings/tls.md
Original file line number Diff line number Diff line change
Expand Up @@ -70,7 +70,7 @@ docker run -d \
-e WS_SERVER_SSL_KEY=/certs/tls.key \
-e WS_SERVER_SSL_CERT="-----BEGIN CERTIFICATE-----..." \
-e WS_SERVER_PROXY_DOMAIN=ws.dev \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

## Enterprise CA *(Custom Certificates)*
Expand All @@ -94,13 +94,13 @@ To add your company's root CA, all you need to do is mount the certificate
```sh{2} [Single]
docker run \
-v /path/on-host/ca.crt:/usr/local/share/ca-certificates/workspace/ca.crt \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

```sh{2} [Multiple]
docker run \
-v /folder/on-host:/usr/local/share/ca-certificates/workspace \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

:::
Expand All @@ -119,7 +119,7 @@ up `.crt`; `.pem` and other extensions are silently skipped.
```sh
docker run \
-v $(pwd)/corp-ca.crt:/home/kloud/.ws/ca.d/corp-ca.crt \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

This is the recommended path for ad-hoc certificate injection on a
Expand All @@ -138,13 +138,13 @@ Use the `WS_CA_ADDITIONAL_CERT_ENDPOINTS` environment variable to define one or
```sh{2} [Single]
docker run \
-e WS_CA_ADDITIONAL_CERT_ENDPOINTS="https://corp.com/ca.pem" \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

```sh{2} [Multiple]
docker run \
-e WS_CA_ADDITIONAL_CERT_ENDPOINTS="https://corp.com/ca.pem https://alt.com/root.crt" \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

:::
Expand All @@ -167,13 +167,13 @@ validation is bypassed using insecure connections.
```sh{2} [Single]
docker run \
-e WS_CA_ADDITIONAL_CERT_INSECURE_ENDPOINTS="http://corp.com/ca.pem" \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

```sh{2} [Multiple]
docker run \
-e WS_CA_ADDITIONAL_CERT_INSECURE_ENDPOINTS="http://corp.com/ca.pem https://untrusted.com/root.crt" \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

:::
Expand Down
2 changes: 1 addition & 1 deletion docs/settings/vault.md
Original file line number Diff line number Diff line change
Expand Up @@ -114,7 +114,7 @@ path:
```sh
docker run \
-v /host/path/secrets.yaml:/home/kloud/.ws/vault/secrets.yaml \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

## Vault Flags
Expand Down
10 changes: 5 additions & 5 deletions docs/tools/apt.md
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ Supply one or more entries separated by semicolons *(`;`)*.
```sh{2}
docker run \
-e WS_APT_ADDITIONAL_REPOS="deb [signed-by=/custom.gpg] https://custom.package bookworm main" \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

### Update Repository Cache
Expand Down Expand Up @@ -86,15 +86,15 @@ mail and printing blocked:
docker run \
-e WS_APT_DISABLE_RESTRICTIONS="x11" \
-e WS_APT_ADDITIONAL_PACKAGES="libx11-6" \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

Lift every restriction at once with `true` *(or `*`)*:

```sh{2}
docker run \
-e WS_APT_DISABLE_RESTRICTIONS=true \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

## Additional Packages
Expand All @@ -108,7 +108,7 @@ demonstrated below:
```sh{2}
docker run \
-e WS_APT_ADDITIONAL_PACKAGES="cmake nano" \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```

::: tip
Expand Down Expand Up @@ -156,5 +156,5 @@ Each key is downloaded at startup and stored in `/etc/apt/keyrings/<name>.gpg`.
```sh{2}
docker run \
-e WS_APT_ADDITIONAL_GPG_KEYS="mycorp:https://mycorp.com/pubkey.asc extras:http://extras.test/key2.asc" \
ghcr.io/kloudkit/workspace:v0.2.1
ghcr.io/kloudkit/workspace:v0.3.0
```
Loading