diff --git a/charts/rstudio-pm/Chart.yaml b/charts/rstudio-pm/Chart.yaml index 293b8184f..fe37050a6 100644 --- a/charts/rstudio-pm/Chart.yaml +++ b/charts/rstudio-pm/Chart.yaml @@ -1,6 +1,6 @@ name: rstudio-pm description: Official Helm chart for Posit Package Manager -version: 0.5.44 +version: 0.5.45 apiVersion: v2 appVersion: 2024.11.0 icon: https://rstudio.com/wp-content/uploads/2018/10/RStudio-Logo-Flat.png diff --git a/charts/rstudio-pm/NEWS.md b/charts/rstudio-pm/NEWS.md index 26cdac1f9..9e9083205 100644 --- a/charts/rstudio-pm/NEWS.md +++ b/charts/rstudio-pm/NEWS.md @@ -1,4 +1,8 @@ # Changelog + +## 0.5.45 + +- Allow values for `service.targetPort`, `pod.port`, and `pod.hostAliases` ## 0.5.44 diff --git a/charts/rstudio-pm/README.md b/charts/rstudio-pm/README.md index 292a6821b..e5b9789a6 100644 --- a/charts/rstudio-pm/README.md +++ b/charts/rstudio-pm/README.md @@ -1,6 +1,6 @@ # Posit Package Manager -![Version: 0.5.44](https://img.shields.io/badge/Version-0.5.44-informational?style=flat-square) ![AppVersion: 2024.11.0](https://img.shields.io/badge/AppVersion-2024.11.0-informational?style=flat-square) +![Version: 0.5.45](https://img.shields.io/badge/Version-0.5.45-informational?style=flat-square) ![AppVersion: 2024.11.0](https://img.shields.io/badge/AppVersion-2024.11.0-informational?style=flat-square) #### _Official Helm chart for Posit Package Manager_ @@ -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.5.44: +To install the chart with the release name `my-release` at version 0.5.45: ```{.bash} helm repo add rstudio https://helm.rstudio.com -helm upgrade --install my-release rstudio/rstudio-pm --version=0.5.44 +helm upgrade --install my-release rstudio/rstudio-pm --version=0.5.45 ``` To explore other chart versions, look at: @@ -232,8 +232,10 @@ The Helm `config` values are converted into the `rstudio-pm.gcfg` service config | pod.annotations | object | `{}` | annotations is a map of keys / values that will be added as annotations to the pods | | pod.containerSecurityContext | object | `{"allowPrivilegeEscalation":false,"capabilities":{"drop":["ALL"]},"runAsNonRoot":true,"runAsUser":999,"seccompProfile":{"type":"{{ if .Values.enableSandboxing }}Unconfined{{ else }}RuntimeDefault{{ end }}"}}` | the [securityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) for the main Package Manager container. Evaluated as a template. | | pod.env | list | `[]` | env is an array of maps that is injected as-is into the "env:" component of the pod.container spec | +| pod.hostAliases | list | `[]` | | | pod.labels | object | `{}` | Additional labels to add to the rstudio-pm pods | | pod.lifecycle | object | `{}` | Container [lifecycle hooks](https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/) | +| pod.port | int | `4242` | | | pod.securityContext | object | `{"fsGroup":999,"fsGroupChangePolicy":"OnRootMismatch"}` | the [securityContext](https://kubernetes.io/docs/tasks/configure-pod-container/security-context/) for the pod | | pod.serviceAccountName | string | `""` | Deprecated, use `serviceAccount.name` instead | | pod.terminationGracePeriodSeconds | int | `120` | The termination grace period seconds allowed for the pod before shutdown | @@ -251,6 +253,7 @@ The Helm `config` values are converted into the `rstudio-pm.gcfg` service config | service.loadBalancerIP | string | `""` | The external IP to use with `service.type` LoadBalancer, when supported by the cloud provider | | service.nodePort | bool | `false` | The explicit nodePort to use for `service.type` NodePort. If not provided, Kubernetes will choose one automatically | | service.port | int | `80` | The Service port. This is the port your service will run under. | +| service.targetPort | int | `4242` | The port to forward to on the Package Manager pod. Also see pod.port | | service.type | string | `"ClusterIP"` | The service type, usually ClusterIP (in-cluster only) or LoadBalancer (to expose the service using your cloud provider's load balancer) | | serviceAccount.annotations | object | `{}` | Annotations for the ServiceAccount, if any | | serviceAccount.create | bool | `true` | Whether to create a [Service Account](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/) | diff --git a/charts/rstudio-pm/templates/deployment.yaml b/charts/rstudio-pm/templates/deployment.yaml index 5f4cb479e..e5e38a1ec 100644 --- a/charts/rstudio-pm/templates/deployment.yaml +++ b/charts/rstudio-pm/templates/deployment.yaml @@ -49,6 +49,10 @@ spec: imagePullSecrets: {{- toYaml . | nindent 8 }} {{- end }} + {{- with .Values.pod.hostAliases }} + hostAliases: + {{- toYaml . | nindent 8 }} + {{- end }} {{- with .Values.nodeSelector }} nodeSelector: {{- toYaml . | nindent 8 }} @@ -106,7 +110,7 @@ spec: {{- toYaml .Values.pod.lifecycle | nindent 10 }} {{- end }} ports: - - containerPort: 4242 + - containerPort: {{ .Values.pod.port }} {{- if .Values.config.Metrics.Enabled }} - name: metrics containerPort: 2112 diff --git a/charts/rstudio-pm/templates/svc.yaml b/charts/rstudio-pm/templates/svc.yaml index 4acdac7a6..f23843403 100644 --- a/charts/rstudio-pm/templates/svc.yaml +++ b/charts/rstudio-pm/templates/svc.yaml @@ -27,7 +27,7 @@ spec: {{- if and (eq .Values.service.type "NodePort") .Values.service.nodePort }} nodePort: {{ .Values.service.nodePort }} {{- end }} - targetPort: 4242 + targetPort: {{ .Values.service.targetPort }} {{- if .Values.config.Metrics.Enabled }} - name: metrics port: 2112 diff --git a/charts/rstudio-pm/values.yaml b/charts/rstudio-pm/values.yaml index 5e1d513c0..d1f9a38ca 100644 --- a/charts/rstudio-pm/values.yaml +++ b/charts/rstudio-pm/values.yaml @@ -85,6 +85,8 @@ service: nodePort: false # -- The Service port. This is the port your service will run under. port: 80 + # -- The port to forward to on the Package Manager pod. Also see pod.port + targetPort: 4242 # -- replicas is the number of replica pods to maintain for this service replicas: 1 @@ -137,8 +139,10 @@ pod: drop: ["ALL"] seccompProfile: type: "{{ if .Values.enableSandboxing }}Unconfined{{ else }}RuntimeDefault{{ end }}" + port: 4242 # -- The termination grace period seconds allowed for the pod before shutdown terminationGracePeriodSeconds: 120 + hostAliases: [] # -- Extra objects to deploy (value evaluated as a template) extraObjects: []