diff --git a/charts/rstudio-workbench/Chart.yaml b/charts/rstudio-workbench/Chart.yaml index 1ca706541..a08f45b5f 100644 --- a/charts/rstudio-workbench/Chart.yaml +++ b/charts/rstudio-workbench/Chart.yaml @@ -1,6 +1,6 @@ name: rstudio-workbench description: Official Helm chart for Posit Workbench -version: 0.10.9 +version: 0.10.10 apiVersion: v2 appVersion: 2026.01.1 icon: diff --git a/charts/rstudio-workbench/NEWS.md b/charts/rstudio-workbench/NEWS.md index 8e319d0fe..d77c4ef48 100644 --- a/charts/rstudio-workbench/NEWS.md +++ b/charts/rstudio-workbench/NEWS.md @@ -1,6 +1,10 @@ # Changelog +## 0.10.10 + +- Fix IPv6 address handling in `prestart-launcher.bash` to properly bracket IPv6 `KUBERNETES_SERVICE_HOST` addresses + ## 0.10.9 - Add missing NEWS.md entry for 0.10.8 diff --git a/charts/rstudio-workbench/README.md b/charts/rstudio-workbench/README.md index 57fca5e36..3abffdf11 100644 --- a/charts/rstudio-workbench/README.md +++ b/charts/rstudio-workbench/README.md @@ -1,6 +1,6 @@ # Posit Workbench -![Version: 0.10.9](https://img.shields.io/badge/Version-0.10.9-informational?style=flat-square) ![AppVersion: 2026.01.1](https://img.shields.io/badge/AppVersion-2026.01.1-informational?style=flat-square) +![Version: 0.10.10](https://img.shields.io/badge/Version-0.10.10-informational?style=flat-square) ![AppVersion: 2026.01.1](https://img.shields.io/badge/AppVersion-2026.01.1-informational?style=flat-square) #### _Official Helm chart for Posit Workbench_ @@ -24,11 +24,11 @@ To ensure a stable production deployment: ## Installing the chart -To install the chart with the release name `my-release` at version 0.10.9: +To install the chart with the release name `my-release` at version 0.10.10: ```{.bash} helm repo add rstudio https://helm.rstudio.com -helm upgrade --install my-release rstudio/rstudio-workbench --version=0.10.9 +helm upgrade --install my-release rstudio/rstudio-workbench --version=0.10.10 ``` To explore other chart versions, look at: diff --git a/charts/rstudio-workbench/prestart-launcher.bash b/charts/rstudio-workbench/prestart-launcher.bash index ff5d06ada..0802b81e7 100644 --- a/charts/rstudio-workbench/prestart-launcher.bash +++ b/charts/rstudio-workbench/prestart-launcher.bash @@ -7,7 +7,11 @@ main() { local dyn_dir='/mnt/dynamic/rstudio' local cacert='/var/run/secrets/kubernetes.io/serviceaccount/ca.crt' - local k8s_url="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}" + local host="${KUBERNETES_SERVICE_HOST}" + if [[ "${host}" == *:* ]]; then + host="[${host}]" + fi + local k8s_url="https://${host}:${KUBERNETES_SERVICE_PORT}" _logf 'Loading service account token' local sa_token diff --git a/charts/rstudio-workbench/snapshot/complex-values.yaml.lock b/charts/rstudio-workbench/snapshot/complex-values.yaml.lock index deda109b3..13fc6fadd 100644 --- a/charts/rstudio-workbench/snapshot/complex-values.yaml.lock +++ b/charts/rstudio-workbench/snapshot/complex-values.yaml.lock @@ -351,7 +351,11 @@ data: local dyn_dir='/mnt/dynamic/rstudio' local cacert='/var/run/secrets/kubernetes.io/serviceaccount/ca.crt' - local k8s_url="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}" + local host="${KUBERNETES_SERVICE_HOST}" + if [[ "${host}" == *:* ]]; then + host="[${host}]" + fi + local k8s_url="https://${host}:${KUBERNETES_SERVICE_PORT}" _logf 'Loading service account token' local sa_token diff --git a/charts/rstudio-workbench/snapshot/default-sa-values.yaml.lock b/charts/rstudio-workbench/snapshot/default-sa-values.yaml.lock index 28e12ce51..a874a267d 100644 --- a/charts/rstudio-workbench/snapshot/default-sa-values.yaml.lock +++ b/charts/rstudio-workbench/snapshot/default-sa-values.yaml.lock @@ -253,7 +253,11 @@ data: local dyn_dir='/mnt/dynamic/rstudio' local cacert='/var/run/secrets/kubernetes.io/serviceaccount/ca.crt' - local k8s_url="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}" + local host="${KUBERNETES_SERVICE_HOST}" + if [[ "${host}" == *:* ]]; then + host="[${host}]" + fi + local k8s_url="https://${host}:${KUBERNETES_SERVICE_PORT}" _logf 'Loading service account token' local sa_token diff --git a/charts/rstudio-workbench/snapshot/default.yaml.lock b/charts/rstudio-workbench/snapshot/default.yaml.lock index ec9061573..926b923d7 100644 --- a/charts/rstudio-workbench/snapshot/default.yaml.lock +++ b/charts/rstudio-workbench/snapshot/default.yaml.lock @@ -260,7 +260,11 @@ data: local dyn_dir='/mnt/dynamic/rstudio' local cacert='/var/run/secrets/kubernetes.io/serviceaccount/ca.crt' - local k8s_url="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}" + local host="${KUBERNETES_SERVICE_HOST}" + if [[ "${host}" == *:* ]]; then + host="[${host}]" + fi + local k8s_url="https://${host}:${KUBERNETES_SERVICE_PORT}" _logf 'Loading service account token' local sa_token diff --git a/charts/rstudio-workbench/snapshot/empty-values.yaml.lock b/charts/rstudio-workbench/snapshot/empty-values.yaml.lock index ec9061573..926b923d7 100644 --- a/charts/rstudio-workbench/snapshot/empty-values.yaml.lock +++ b/charts/rstudio-workbench/snapshot/empty-values.yaml.lock @@ -260,7 +260,11 @@ data: local dyn_dir='/mnt/dynamic/rstudio' local cacert='/var/run/secrets/kubernetes.io/serviceaccount/ca.crt' - local k8s_url="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}" + local host="${KUBERNETES_SERVICE_HOST}" + if [[ "${host}" == *:* ]]; then + host="[${host}]" + fi + local k8s_url="https://${host}:${KUBERNETES_SERVICE_PORT}" _logf 'Loading service account token' local sa_token diff --git a/charts/rstudio-workbench/snapshot/ingress-values.yaml.lock b/charts/rstudio-workbench/snapshot/ingress-values.yaml.lock index 6cf1d40bf..2e6b0133e 100644 --- a/charts/rstudio-workbench/snapshot/ingress-values.yaml.lock +++ b/charts/rstudio-workbench/snapshot/ingress-values.yaml.lock @@ -260,7 +260,11 @@ data: local dyn_dir='/mnt/dynamic/rstudio' local cacert='/var/run/secrets/kubernetes.io/serviceaccount/ca.crt' - local k8s_url="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}" + local host="${KUBERNETES_SERVICE_HOST}" + if [[ "${host}" == *:* ]]; then + host="[${host}]" + fi + local k8s_url="https://${host}:${KUBERNETES_SERVICE_PORT}" _logf 'Loading service account token' local sa_token diff --git a/charts/rstudio-workbench/snapshot/ingress2-values.yaml.lock b/charts/rstudio-workbench/snapshot/ingress2-values.yaml.lock index 197baa163..72595a560 100644 --- a/charts/rstudio-workbench/snapshot/ingress2-values.yaml.lock +++ b/charts/rstudio-workbench/snapshot/ingress2-values.yaml.lock @@ -260,7 +260,11 @@ data: local dyn_dir='/mnt/dynamic/rstudio' local cacert='/var/run/secrets/kubernetes.io/serviceaccount/ca.crt' - local k8s_url="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}" + local host="${KUBERNETES_SERVICE_HOST}" + if [[ "${host}" == *:* ]]; then + host="[${host}]" + fi + local k8s_url="https://${host}:${KUBERNETES_SERVICE_PORT}" _logf 'Loading service account token' local sa_token diff --git a/charts/rstudio-workbench/snapshot/launcher-template-values.yaml.lock b/charts/rstudio-workbench/snapshot/launcher-template-values.yaml.lock index 84b27b5ba..3ede920c7 100644 --- a/charts/rstudio-workbench/snapshot/launcher-template-values.yaml.lock +++ b/charts/rstudio-workbench/snapshot/launcher-template-values.yaml.lock @@ -595,7 +595,11 @@ data: local dyn_dir='/mnt/dynamic/rstudio' local cacert='/var/run/secrets/kubernetes.io/serviceaccount/ca.crt' - local k8s_url="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}" + local host="${KUBERNETES_SERVICE_HOST}" + if [[ "${host}" == *:* ]]; then + host="[${host}]" + fi + local k8s_url="https://${host}:${KUBERNETES_SERVICE_PORT}" _logf 'Loading service account token' local sa_token diff --git a/charts/rstudio-workbench/snapshot/license-file-secret-values.yaml.lock b/charts/rstudio-workbench/snapshot/license-file-secret-values.yaml.lock index d29a6cd98..1be341058 100644 --- a/charts/rstudio-workbench/snapshot/license-file-secret-values.yaml.lock +++ b/charts/rstudio-workbench/snapshot/license-file-secret-values.yaml.lock @@ -260,7 +260,11 @@ data: local dyn_dir='/mnt/dynamic/rstudio' local cacert='/var/run/secrets/kubernetes.io/serviceaccount/ca.crt' - local k8s_url="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}" + local host="${KUBERNETES_SERVICE_HOST}" + if [[ "${host}" == *:* ]]; then + host="[${host}]" + fi + local k8s_url="https://${host}:${KUBERNETES_SERVICE_PORT}" _logf 'Loading service account token' local sa_token diff --git a/charts/rstudio-workbench/snapshot/license-file-values.yaml.lock b/charts/rstudio-workbench/snapshot/license-file-values.yaml.lock index 94a6a251e..dc15f29c4 100644 --- a/charts/rstudio-workbench/snapshot/license-file-values.yaml.lock +++ b/charts/rstudio-workbench/snapshot/license-file-values.yaml.lock @@ -271,7 +271,11 @@ data: local dyn_dir='/mnt/dynamic/rstudio' local cacert='/var/run/secrets/kubernetes.io/serviceaccount/ca.crt' - local k8s_url="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}" + local host="${KUBERNETES_SERVICE_HOST}" + if [[ "${host}" == *:* ]]; then + host="[${host}]" + fi + local k8s_url="https://${host}:${KUBERNETES_SERVICE_PORT}" _logf 'Loading service account token' local sa_token diff --git a/charts/rstudio-workbench/snapshot/license-server-values.yaml.lock b/charts/rstudio-workbench/snapshot/license-server-values.yaml.lock index 0b9345bf7..4571d21ed 100644 --- a/charts/rstudio-workbench/snapshot/license-server-values.yaml.lock +++ b/charts/rstudio-workbench/snapshot/license-server-values.yaml.lock @@ -261,7 +261,11 @@ data: local dyn_dir='/mnt/dynamic/rstudio' local cacert='/var/run/secrets/kubernetes.io/serviceaccount/ca.crt' - local k8s_url="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}" + local host="${KUBERNETES_SERVICE_HOST}" + if [[ "${host}" == *:* ]]; then + host="[${host}]" + fi + local k8s_url="https://${host}:${KUBERNETES_SERVICE_PORT}" _logf 'Loading service account token' local sa_token diff --git a/charts/rstudio-workbench/snapshot/license-values.yaml.lock b/charts/rstudio-workbench/snapshot/license-values.yaml.lock index 080a61823..e1fc9d71b 100644 --- a/charts/rstudio-workbench/snapshot/license-values.yaml.lock +++ b/charts/rstudio-workbench/snapshot/license-values.yaml.lock @@ -270,7 +270,11 @@ data: local dyn_dir='/mnt/dynamic/rstudio' local cacert='/var/run/secrets/kubernetes.io/serviceaccount/ca.crt' - local k8s_url="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}" + local host="${KUBERNETES_SERVICE_HOST}" + if [[ "${host}" == *:* ]]; then + host="[${host}]" + fi + local k8s_url="https://${host}:${KUBERNETES_SERVICE_PORT}" _logf 'Loading service account token' local sa_token diff --git a/charts/rstudio-workbench/snapshot/other-complex-values.yaml.lock b/charts/rstudio-workbench/snapshot/other-complex-values.yaml.lock index 450834c1e..cc0bc5fd7 100644 --- a/charts/rstudio-workbench/snapshot/other-complex-values.yaml.lock +++ b/charts/rstudio-workbench/snapshot/other-complex-values.yaml.lock @@ -313,7 +313,11 @@ data: local dyn_dir='/mnt/dynamic/rstudio' local cacert='/var/run/secrets/kubernetes.io/serviceaccount/ca.crt' - local k8s_url="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}" + local host="${KUBERNETES_SERVICE_HOST}" + if [[ "${host}" == *:* ]]; then + host="[${host}]" + fi + local k8s_url="https://${host}:${KUBERNETES_SERVICE_PORT}" _logf 'Loading service account token' local sa_token diff --git a/charts/rstudio-workbench/snapshot/overrides-values-new.yaml.lock b/charts/rstudio-workbench/snapshot/overrides-values-new.yaml.lock index 98f8524aa..0bc4c7dc9 100644 --- a/charts/rstudio-workbench/snapshot/overrides-values-new.yaml.lock +++ b/charts/rstudio-workbench/snapshot/overrides-values-new.yaml.lock @@ -296,7 +296,11 @@ data: local dyn_dir='/mnt/dynamic/rstudio' local cacert='/var/run/secrets/kubernetes.io/serviceaccount/ca.crt' - local k8s_url="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}" + local host="${KUBERNETES_SERVICE_HOST}" + if [[ "${host}" == *:* ]]; then + host="[${host}]" + fi + local k8s_url="https://${host}:${KUBERNETES_SERVICE_PORT}" _logf 'Loading service account token' local sa_token diff --git a/charts/rstudio-workbench/snapshot/overrides-values.yaml.lock b/charts/rstudio-workbench/snapshot/overrides-values.yaml.lock index b218a68cd..389bb98e5 100644 --- a/charts/rstudio-workbench/snapshot/overrides-values.yaml.lock +++ b/charts/rstudio-workbench/snapshot/overrides-values.yaml.lock @@ -274,7 +274,11 @@ data: local dyn_dir='/mnt/dynamic/rstudio' local cacert='/var/run/secrets/kubernetes.io/serviceaccount/ca.crt' - local k8s_url="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}" + local host="${KUBERNETES_SERVICE_HOST}" + if [[ "${host}" == *:* ]]; then + host="[${host}]" + fi + local k8s_url="https://${host}:${KUBERNETES_SERVICE_PORT}" _logf 'Loading service account token' local sa_token diff --git a/charts/rstudio-workbench/snapshot/simple-profiles-values.yaml.lock b/charts/rstudio-workbench/snapshot/simple-profiles-values.yaml.lock index a223e65e9..c674f5bbe 100644 --- a/charts/rstudio-workbench/snapshot/simple-profiles-values.yaml.lock +++ b/charts/rstudio-workbench/snapshot/simple-profiles-values.yaml.lock @@ -276,7 +276,11 @@ data: local dyn_dir='/mnt/dynamic/rstudio' local cacert='/var/run/secrets/kubernetes.io/serviceaccount/ca.crt' - local k8s_url="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}" + local host="${KUBERNETES_SERVICE_HOST}" + if [[ "${host}" == *:* ]]; then + host="[${host}]" + fi + local k8s_url="https://${host}:${KUBERNETES_SERVICE_PORT}" _logf 'Loading service account token' local sa_token diff --git a/charts/rstudio-workbench/snapshot/simple-values.yaml.lock b/charts/rstudio-workbench/snapshot/simple-values.yaml.lock index 2c9338a4d..d3f9c6b2e 100644 --- a/charts/rstudio-workbench/snapshot/simple-values.yaml.lock +++ b/charts/rstudio-workbench/snapshot/simple-values.yaml.lock @@ -273,7 +273,11 @@ data: local dyn_dir='/mnt/dynamic/rstudio' local cacert='/var/run/secrets/kubernetes.io/serviceaccount/ca.crt' - local k8s_url="https://${KUBERNETES_SERVICE_HOST}:${KUBERNETES_SERVICE_PORT}" + local host="${KUBERNETES_SERVICE_HOST}" + if [[ "${host}" == *:* ]]; then + host="[${host}]" + fi + local k8s_url="https://${host}:${KUBERNETES_SERVICE_PORT}" _logf 'Loading service account token' local sa_token