diff --git a/.vitepress/data/dependencies.yaml b/.vitepress/data/dependencies.yaml index d357f1e..ab03618 100644 --- a/.vitepress/data/dependencies.yaml +++ b/.vitepress/data/dependencies.yaml @@ -31,7 +31,7 @@ dependencies: group: Ansible home: https://github.com/ansible/ansible-lint license: MIT - version: 25.12.2 + version: 26.1.1 bat: cmd: bat --version @@ -102,7 +102,7 @@ dependencies: home: https://github.com/charmbracelet/crush license: FSL-1.1-MIT track: false - version: 0.31.0 + version: 0.36.0 cspell: cmd: cspell --version @@ -110,7 +110,7 @@ dependencies: group: CLI Tools home: https://github.com/streetsidesoftware/cspell license: MIT - version: 9.4.0 + version: 9.6.0 curl: cmd: curl --version @@ -125,6 +125,11 @@ dependencies: home: https://dbus.freedesktop.org license: GPL 2 + debsig-verify: + datasource: deb + home: https://github.com/guillemj/debsig-verify + license: GPL 2 + dig: cmd: (dig -v) > >(cat) 2>&1 datasource: deb @@ -132,6 +137,7 @@ dependencies: home: https://www.isc.org/bind license: MPL 2 package: dnsutils + track: false version: 9.20.11 dive: @@ -261,7 +267,7 @@ dependencies: home: https://github.com/golang/go license: BSD 3 package: golang/go - version: 1.25.5 + version: 1.25.6 gomodifytags: datasource: go @@ -311,7 +317,7 @@ dependencies: home: https://github.com/helm/helm license: Apache 2 track: false - version: 3.19.0 + version: 3.20.0 helm-diff: cmd: helm diff version @@ -363,7 +369,7 @@ dependencies: home: https://github.com/derailed/k9s license: Apache 2 package: derailed/k9s - version: 0.50.16 + version: 0.50.18 kind: cmd: kind version @@ -472,7 +478,7 @@ dependencies: home: https://nodejs.org license: MIT package: nodejs - version: 24.12.0 + version: 24.13.0 npm: cmd: npm --version @@ -547,7 +553,7 @@ dependencies: home: https://github.com/pnpm/pnpm license: MIT package: pnpm/pnpm - version: 10.27.0 + version: 10.28.1 pre-commit: cmd: pre-commit --version @@ -601,7 +607,7 @@ dependencies: group: Python home: https://github.com/astral-sh/ruff license: MIT - version: 0.14.10 + version: 0.14.14 ShellCheck: cmd: shellcheck --version @@ -667,7 +673,7 @@ dependencies: home: https://github.com/go-task/task license: MIT package: "@go-task/cli" - version: 3.46.4 + version: 3.47.0 unzip: cmd: (unzip -v) > >(cat) 2>&1 @@ -684,7 +690,7 @@ dependencies: home: https://github.com/astral-sh/uv package: astral-sh/uv license: MIT - version: 0.9.22 + version: 0.9.26 venv: datasource: deb @@ -715,7 +721,7 @@ dependencies: home: https://github.com/kloudkit/ws-cli license: MIT package: github.com/kloudkit/ws-cli - version: 0.0.43 + version: 0.0.46 yamllint: cmd: yamllint --version @@ -723,7 +729,7 @@ dependencies: group: CLI Tools home: https://github.com/adrienverge/yamllint license: GPL 3 - version: 1.37.1 + version: 1.38.0 yarn: cmd: yarn --version diff --git a/.vitepress/data/env.reference.yaml b/.vitepress/data/env.reference.yaml index 8f69f14..cd541d3 100644 --- a/.vitepress/data/env.reference.yaml +++ b/.vitepress/data/env.reference.yaml @@ -203,6 +203,44 @@ envs: You may pass either a bare number *(`6`, becomes `6px`)* or the full CSS value with the `px` suffix *(i.e. `6px`)*. + settings_merge: + type: string + default: null + description: JSON object to deep merge into VSCode `settings.json`. + longDescription: | + Values are merged recursively, existing settings not specified are preserved. + + For large configs, use `WS_EDITOR_SETTINGS_MERGE_FILE`. + example: >- + {"editor.fontSize": 16, "[python]": {"editor.tabSize": 4}} + + settings_merge_file: + type: string + default: null + description: Path to a JSON file to deep merge into VSCode `settings.json`. + longDescription: | + Alternative to `WS_EDITOR_SETTINGS_MERGE` for larger configurations. + example: /workspace/.settings-override.json + + settings_override: + type: string + default: null + description: JSON object to completely replace VSCode settings.json. + longDescription: | + **WARNING:** Removes all default workspace settings. + + Use `WS_EDITOR_SETTINGS_MERGE` for partial updates. + example: >- + {"editor.fontSize": 16} + + settings_override_file: + type: string + default: null + description: Path to a JSON file to completely replace VSCode `settings.json`. + longDescription: | + Alternative to `WS_EDITOR_SETTINGS_OVERRIDE` for larger configurations. + example: /workspace/.settings.json + features: properties: additional_features: @@ -215,6 +253,29 @@ envs: longDescription: | Accepts a **space-delimited** list of features. + cloudflared_opts: + type: string + default: null + since: 0.1.2 + example: repo=https://apt.internal/cloudflare + description: Options for the cloudflared feature installer. + longDescription: | + Accepts a **semicolon-delimited** list of `key=value` pairs. + + **Available options:** + + - **`repo`:** APT repository base + URL *(default: `https://pkg.cloudflare.com/cloudflared`)*. + - **`gpg`:** Path to GPG key file + *(default: `/etc/apt/keyrings/cloudflare.gpg`)*. + - **`release`:** APT release/suite name *(default: `any`)*. + - **`components`:** APT repository components *(default: `main`)*. + - **`trusted`:** Skip GPG verification *(default: `false`)*. + + ::: info NOTE + GPG keys should be pre-installed using `WS_APT_ADDITIONAL_GPG_KEYS`. + ::: + dir: type: string default: /usr/share/workspace/features @@ -225,6 +286,144 @@ envs: Specify the full path to the directory containing the features to be loaded or referenced at startup. + dotnet_opts: + type: string + default: null + since: 0.1.2 + example: repo=https://apt.internal/microsoft + description: Options for the .NET feature installer. + longDescription: | + Accepts a **semicolon-delimited** list of `key=value` pairs. + + **Available options:** + + - **`repo`:** APT repository base + URL *(default: `https://packages.microsoft.com/debian/12/prod`)*. + - **`gpg`:** Path to GPG key file + *(default: `/etc/apt/keyrings/microsoft.gpg`)*. + - **`release`:** APT release/suite name *(default: `bookworm`)*. + - **`components`:** APT repository components *(default: `main`)*. + - **`trusted`:** Skip GPG verification *(default: `false`)*. + + ::: info NOTE + GPG keys should be pre-installed using `WS_APT_ADDITIONAL_GPG_KEYS`. + ::: + + gcloud_opts: + type: string + default: null + since: 0.1.2 + example: repo=https://apt.internal/gcloud + description: Options for the gcloud CLI feature installer. + longDescription: | + Accepts a **semicolon-delimited** list of `key=value` pairs. + + **Available options:** + + - **`repo`:** APT repository base + URL *(default: `https://packages.cloud.google.com/apt`)*. + - **`gpg`:** Path to GPG key file + *(default: `/etc/apt/keyrings/google.gpg`)*. + - **`release`:** APT release/suite name *(default: `cloud-sdk`)*. + - **`components`:** APT repository components *(default: `main`)*. + - **`trusted`:** Skip GPG verification *(default: `false`)*. + + ::: info NOTE + GPG keys should be pre-installed using `WS_APT_ADDITIONAL_GPG_KEYS`. + ::: + + gh_opts: + type: string + default: null + since: 0.1.2 + example: repo=https://apt.internal/github + description: Options for the GitHub CLI feature installer. + longDescription: | + Accepts a **semicolon-delimited** list of `key=value` pairs. + + **Available options:** + + - **`repo`:** APT repository base + URL *(default: `https://cli.github.com/packages`)*. + - **`gpg`:** Path to GPG key file + *(default: `/etc/apt/keyrings/github.gpg`)*. + - **`release`:** APT release/suite name *(default: `stable`)*. + - **`components`:** APT repository components *(default: `main`)*. + - **`trusted`:** Skip GPG verification *(default: `false`)*. + + ::: info NOTE + GPG keys should be pre-installed using `WS_APT_ADDITIONAL_GPG_KEYS`. + ::: + + jf_opts: + type: string + default: null + since: 0.1.2 + example: repo=https://apt.internal/jfrog + description: Options for the JFrog CLI feature installer. + longDescription: | + Accepts a **semicolon-delimited** list of `key=value` pairs. + + **Available options:** + + - **`repo`:** APT repository base + URL *(default: `https://releases.jfrog.io/artifactory/jfrog-debs`)*. + - **`gpg`:** Path to GPG key file + *(default: `/etc/apt/keyrings/jfrog.gpg`)*. + - **`release`:** APT release/suite name *(default: `focal`)*. + - **`components`:** APT repository components *(default: `contrib`)*. + - **`trusted`:** Skip GPG verification *(default: `false`)*. + + ::: info NOTE + GPG keys should be pre-installed using `WS_APT_ADDITIONAL_GPG_KEYS`. + ::: + + php_opts: + type: string + default: null + since: 0.1.2 + example: repo=https://apt.internal/php + description: Options for the PHP feature installer. + longDescription: | + Accepts a **semicolon-delimited** list of `key=value` pairs. + + **Available options:** + + - **`repo`:** APT repository base + URL *(default: `https://packages.sury.org/php`)*. + - **`gpg`:** Path to GPG key file + *(default: `/etc/apt/keyrings/php.gpg`)*. + - **`release`:** APT release/suite name *(default: `trixie`)*. + - **`components`:** APT repository components *(default: `main`)*. + - **`trusted`:** Skip GPG verification *(default: `false`)*. + + ::: info NOTE + GPG keys should be pre-installed using `WS_APT_ADDITIONAL_GPG_KEYS`. + ::: + + terraform_opts: + type: string + default: null + since: 0.1.2 + example: repo=https://apt.internal/hashicorp + description: Options for the Terraform feature installer. + longDescription: | + Accepts a **semicolon-delimited** list of `key=value` pairs. + + **Available options:** + + - **`repo`:** APT repository base + URL *(default: `https://apt.releases.hashicorp.com`)*. + - **`gpg`:** Path to GPG key file + *(default: `/etc/apt/keyrings/hashicorp.gpg`)*. + - **`release`:** APT release/suite name *(default: `trixie`)*. + - **`components`:** APT repository components *(default: `main`)*. + - **`trusted`:** Skip GPG verification *(default: `false`)*. + + ::: info NOTE + GPG keys should be pre-installed using `WS_APT_ADDITIONAL_GPG_KEYS`. + ::: + git: properties: clear_notebook_output: @@ -292,6 +491,40 @@ envs: description: Combined log file for `stdout` and `stderr`. since: 0.0.21 + metrics: + properties: + enable: + type: boolean + default: false + since: 0.1.2 + description: Enables the Prometheus metrics exporter. + longDescription: | + When `true`, starts a metrics server that exposes Prometheus-compatible + metrics at `/` on the configured port. + + Metrics include workspace info, session data, extensions count, + and container resource usage *(CPU, memory, disk, file descriptors)*. + + enable_gpu: + type: boolean + default: false + since: 0.1.2 + description: Enables GPU metrics collection. + longDescription: | + When `true`, collects GPU metrics via `nvidia-smi` if available. + Includes utilization, memory usage, temperature, and power consumption. + + Requires NVIDIA drivers and `nvidia-smi` to be available in the container. + + port: + type: integer + default: 9100 + since: 0.1.2 + description: Port on which the metrics endpoint listens. + longDescription: | + The metrics server exposes a `/` endpoint on this port. + Default port `9100` follows the `node_exporter` convention. + secrets: properties: master_key: @@ -473,8 +706,8 @@ envs: plugins: type: string default: >- - 1password docker encode64 git golang helm kubectl npm python - pip ssh-agent yarn zsh-autosuggestions zsh-fzf-history-search + 1password auto-venv docker encode64 git golang helm kubectl npm + python pip ssh-agent yarn zsh-autosuggestions zsh-fzf-history-search example: kubectl npm python pip description: Enables built-in `oh-my-zsh` plugins.