Rename Plane EE images to dockerhub image repositories#83
Rename Plane EE images to dockerhub image repositories#83
Conversation
WalkthroughThis update applies version and image reference changes across the Plane Enterprise Helm chart. The chart and application versions are incremented, and all container image references are switched from a private registry to public or alternative registries. Official Docker Hub images are used for dependencies like Redis, Postgres, and Minio, while Plane service images are updated to use the "artifacts.plane.so/makeplane/*-commercial" path. Documentation and configuration files are updated to reflect these changes. Additionally, a new secret environment variable for the live server is introduced in the configuration and manifests. Changes
Sequence Diagram(s)sequenceDiagram
participant User
participant HelmChart
participant Kubernetes
participant PlaneService
participant DockerRegistry
User->>HelmChart: Install/Upgrade chart (v1.1.9 / v1.9.0)
HelmChart->>Kubernetes: Apply manifests with updated images and env vars
Kubernetes->>DockerRegistry: Pull images from public/artifacts registry
Kubernetes->>PlaneService: Inject LIVE_SERVER_SECRET_KEY and new config vars
PlaneService-->>Kubernetes: Start with updated configuration
Possibly related PRs
Suggested reviewers
Poem
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. 🪧 TipsChatThere are 3 ways to chat with CodeRabbit:
Note: Be mindful of the bot's finite context window. It's strongly recommended to break down tasks such as reading entire modules into smaller chunks. For a focused discussion, use review comments to chat about specific files and their changes, instead of using the PR comments. CodeRabbit Commands (Invoked using PR comments)
Other keywords and placeholders
Documentation and Community
|
…to plane-ee-image-rename
…to plane-ee-image-rename
There was a problem hiding this comment.
Actionable comments posted: 4
🧹 Nitpick comments (4)
charts/plane-enterprise/templates/config-secrets/live-env.yaml (1)
9-9: Consider enforcing an explicitlive_server_secret_keyinstead of using a hardcoded default
Usingdefault "htbqvBJAgpm9bzvf3r4urJer0ENReatceh"may inadvertently expose a static secret in production. Consider replacingdefaultwith Helm’srequiredfunction to force users to supply their own secret.charts/plane-enterprise/README.md (1)
111-111: Refine grammar and hyphenation in documentation
- Change verb usage
setup→set upwhere appropriate (lines 111, 126, 153).- Adjust “fully-qualified” to “fully qualified” since the adverb ends in “-ly”.
Also applies to: 126-126, 153-153
🧰 Tools
🪛 LanguageTool
[grammar] ~111-~111: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...r must provide the docker image name to setup the stateful deployment ofpostgres. ...(NOUN_VERB_CONFUSION)
charts/plane-enterprise/questions.yml (2)
707-713: Nit: aligngroupkey for TLS secret
Thegroup: "Ingress"field forssl.tls_secret_namewas moved. Please verify its indentation and grouping match the style of other Ingress-scoped variables to maintain readability.
424-428: Validate Redis image source
You’ve switched Redis tovalkey/valkey:7.2.5-alpine. Unless you depend on custom patches in this image, consider using the officialredis:7.2.5-alpinefor better alignment with upstream security updates.
📜 Review details
Configuration used: .coderabbit.yaml
Review profile: CHILL
Plan: Pro
📒 Files selected for processing (16)
charts/plane-enterprise/Chart.yaml(1 hunks)charts/plane-enterprise/README.md(12 hunks)charts/plane-enterprise/questions.yml(6 hunks)charts/plane-enterprise/templates/config-secrets/app-env.yaml(2 hunks)charts/plane-enterprise/templates/config-secrets/live-env.yaml(1 hunks)charts/plane-enterprise/templates/workloads/admin.deployment.yaml(1 hunks)charts/plane-enterprise/templates/workloads/api.deployment.yaml(1 hunks)charts/plane-enterprise/templates/workloads/beat-worker.deployment.yaml(1 hunks)charts/plane-enterprise/templates/workloads/live.deployment.yaml(2 hunks)charts/plane-enterprise/templates/workloads/migrator.job.yaml(1 hunks)charts/plane-enterprise/templates/workloads/monitor.stateful.yaml(1 hunks)charts/plane-enterprise/templates/workloads/silo.deployment.yaml(1 hunks)charts/plane-enterprise/templates/workloads/space.deployment.yaml(1 hunks)charts/plane-enterprise/templates/workloads/web.deployment.yaml(1 hunks)charts/plane-enterprise/templates/workloads/worker.deployment.yaml(1 hunks)charts/plane-enterprise/values.yaml(7 hunks)
🧰 Additional context used
🪛 LanguageTool
charts/plane-enterprise/README.md
[uncategorized] ~104-~104: Although a hyphen is possible, it is not necessary in a compound modifier in which the first word is an adverb that ends in ‘ly’.
Context: ...eDomain | plane.example.com | Yes | The fully-qualified domain name (FQDN) in the format `sudom...
(HYPHENATED_LY_ADVERB_ADJECTIVE)
[uncategorized] ~110-~110: Possible missing article found.
Context: ...helm chart deployment or can be used as hosted service remotely (e.g. aws rds or simil...
(AI_HYDRA_LEO_MISSING_A)
[grammar] ~111-~111: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...r must provide the docker image name to setup the stateful deployment of postgres. ...
(NOUN_VERB_CONFUSION)
[grammar] ~126-~126: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...r must provide the docker image name to setup the stateful deployment of redis. (mu...
(NOUN_VERB_CONFUSION)
[grammar] ~153-~153: The word “setup” is a noun. The verb is spelled with a white space.
Context: ...r must provide the docker image name to setup the stateful deployment of minio. (mu...
(NOUN_VERB_CONFUSION)
[uncategorized] ~175-~175: You might be missing the article “the” here.
Context: ...preconfigured docker image to function. Docker image name is provided by the owner and...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~208-~208: You might be missing the article “the” here.
Context: ...preconfigured docker image to function. Docker image name is provided by the owner and...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
[uncategorized] ~222-~222: You might be missing the article “the” here.
Context: ...preconfigured docker image to function. Docker image name is provided by the owner and...
(AI_EN_LECTOR_MISSING_DETERMINER_THE)
🔇 Additional comments (30)
charts/plane-enterprise/templates/workloads/migrator.job.yaml (1)
18-18: Rename image reference to new commercial registry
The default image for the migrator job has been correctly updated toartifacts.plane.so/makeplane/backend-commercialvia.Values.services.api.image.charts/plane-enterprise/Chart.yaml (1)
8-9: Bump chart and appVersion for v1.9.0 release
Theversionhas been updated to1.1.9andappVersionto"1.9.0", aligning the Helm chart with the Plane v1.9.0 release.charts/plane-enterprise/templates/workloads/silo.deployment.yaml (1)
65-65: Update silo image to commercial registry
The silo container image default has been correctly switched toartifacts.plane.so/makeplane/silo-commercialusing.Values.services.silo.image.charts/plane-enterprise/templates/workloads/api.deployment.yaml (1)
44-44: Update API image to commercial registry
The API deployment image now points toartifacts.plane.so/makeplane/backend-commercialby default via.Values.services.api.image.charts/plane-enterprise/templates/workloads/space.deployment.yaml (1)
44-44: Image registry updated correctly to public repository.The default image reference has been switched to
artifacts.plane.so/makeplane/space-commercial:{{ .Values.planeVersion }}, aligning with the PR objective. No functional changes detected.charts/plane-enterprise/templates/workloads/monitor.stateful.yaml (1)
39-39: Consistent migration of monitor image registry.The monitor container image default has been updated to
artifacts.plane.so/makeplane/monitor-commercial:{{ .Values.planeVersion }}in line with other service updates. Approving as is.charts/plane-enterprise/templates/workloads/admin.deployment.yaml (1)
44-44: Admin image reference correctly updated.The admin deployment now defaults to using
artifacts.plane.so/makeplane/admin-commercial:{{ .Values.planeVersion }}, matching the chart-wide convention.charts/plane-enterprise/templates/workloads/web.deployment.yaml (1)
44-44: Web image registry updated as expected.The web service image now points to
artifacts.plane.so/makeplane/web-commercial:{{ .Values.planeVersion }}. All other settings remain unchanged.charts/plane-enterprise/templates/workloads/live.deployment.yaml (2)
44-44: Container image updated to the public commercial repository
The default was changed frommakeplane/live-enterprisetoartifacts.plane.so/makeplane/live-commercial. This aligns with the PR objective to switch to Docker Hub–hosted images.
57-57: Verify the updated startup script path
Theargsnow referencelive/dist/start.jsinstead oflive/dist/server.js. Please confirm that the new entrypoint exists in the container and works as expected.charts/plane-enterprise/templates/config-secrets/app-env.yaml (2)
10-10: AddLIVE_SERVER_SECRET_KEYto the application secret
The new key mirrors the live-env secret. Ensure that any deployment consuming the app secret references this variable correctly.
60-61: Include base URL and path for the live service
AddingLIVE_BASE_URLandLIVE_BASE_PATHprovides the application with its external endpoints for live traffic. This complements the new live deployment configuration.charts/plane-enterprise/values.yaml (5)
1-1: Ensure Helm chart metadata aligns with the version bump
planeVersionwas updated tov1.9.0. Verify thatChart.yamlandappVersionin the chart metadata have been bumped to match.
5-5: Validate the default Docker registry setting
dockerRegistry.enabledisfalse, yetregistryis set toindex.docker.io/v1/. Confirm whether this registry value is needed or if the field can be removed since all images now default to public repos.
33-33: Update dependency images to official Docker Hub repositories
- Redis:
valkey/valkey:7.2.5-alpine- Postgres:
postgres:15.7-alpine- Minio:
minio/minio:latest
These changes move away from the private registry. Please confirm version compatibility and vet for any known CVEs.Also applies to: 41-41, 61-61
75-75: Approve core Plane service image repository updates
Service images have been switched fromregistry.plane.tools/plane/*-enterprisetoartifacts.plane.so/makeplane/*-commercial. This fully addresses the PR’s objective to rename and rehost images.Also applies to: 82-82, 91-91, 99-99, 107-107, 134-134
115-115: Confirm API service image naming convention
The API service defaults toartifacts.plane.so/makeplane/backend-commercial. Ensure this aligns with your internal naming conventions (e.g.,api-commercialvs.backend-commercial).charts/plane-enterprise/README.md (3)
14-14: Update installation example to v1.9.0
The step now setsPLANE_VERSION=v1.9.0. This matches the latest release and should be verified before publishing.
68-68: Document defaultplaneVersionin custom values
The docs now recommendplaneVersion: v1.9.0in thevalues.yamlsnippet. This is consistent with the chart version bump.
213-213: Document theenv.live_server_secret_keysetting
The newenv.live_server_secret_keyis listed with its default. Consider clarifying that users must provide a secure value for production.charts/plane-enterprise/questions.yml (10)
20-26: Ensure version consistency across chart metadata
TheplaneVersiondefault is updated tov1.9.0, which matches the intended image tag bump. Please verify that yourChart.yaml(in bothversionand/orappVersion) andvalues.yamlhave been updated accordingly—especially regarding whether you include the leadingvor not—to avoid mismatches at deploy time.
27-31: Switch web service image to public DockerHub repository
Updatingservices.web.imagetoartifacts.plane.so/makeplane/web-commercialaligns with the new DockerHub paths. Double-check that in your deployment templates you append the:{{ .Values.planeVersion }}tag to form the full image reference.
32-36: Switch space service image to public DockerHub repository
Theservices.space.imagedefault is nowartifacts.plane.so/makeplane/space-commercial. Ensure your Helm templates concatenate this with{{ .Values.planeVersion }}so the chart pulls the correct version.
37-41: Switch admin service image to public DockerHub repository
The default forservices.admin.imagehas been updated toartifacts.plane.so/makeplane/admin-commercial. Verify your manifests use theplaneVersiontag in combination with this image.
42-46: Switch live service image to public DockerHub repository
Settingservices.live.imagetoartifacts.plane.so/makeplane/live-commercialis correct. Confirm that live deployments reference the new image plus theplaneVersionsuffix.
47-51: Switch monitor service image to public DockerHub repository
Theservices.monitor.imagedefault now points atartifacts.plane.so/makeplane/monitor-commercial. Double-check your StatefulSet or Deployment templates for correct tag interpolation.
52-56: Switch silo service image to public DockerHub repository
Theservices.silo.imagedefault has been updated toartifacts.plane.so/makeplane/silo-commercial. Make sure your silo helm templates reference:{{ .Values.planeVersion }}to pull the intended release.
57-61: Switch backend (API) service image to public DockerHub repository
Updatingservices.api.imagetoartifacts.plane.so/makeplane/backend-commercialis consistent. Ensure your API, worker, and beat-worker manifests all derive their image from this variable plus theplaneVersiontag.
465-469: Switch to official Postgres image
Usingpostgres:15.7-alpineis appropriate for hitting the official Postgres repo on DockerHub and benefits from upstream updates.
575-579: Switch to official Minio image
The defaultminio/minio:latestis the upstream Minio image on DockerHub. This is the recommended public source.
| imagePullPolicy: {{ .Values.services.api.pullPolicy | default "Always" }} | ||
| image: {{ .Values.services.api.image | default "registry.plane.tools/plane/backend-enterprise" }}:{{ .Values.planeVersion }} | ||
| image: {{ .Values.services.api.image | default "artifacts.plane.so/makeplane/backend-commercial" }}:{{ .Values.planeVersion }} | ||
| stdin: true |
There was a problem hiding this comment.
Fix service-specific image and pullPolicy values
The beat-worker deployment currently references the API service’s values (.Values.services.api.*) instead of its own. This will break overrides for the beat-worker.
Apply this diff:
- imagePullPolicy: {{ .Values.services.api.pullPolicy | default "Always" }}
+ imagePullPolicy: {{ .Values.services.beatworker.pullPolicy | default "Always" }}
- image: {{ .Values.services.api.image | default "artifacts.plane.so/makeplane/backend-commercial" }}:{{ .Values.planeVersion }}
+ image: {{ .Values.services.beatworker.image | default "artifacts.plane.so/makeplane/backend-commercial" }}:{{ .Values.planeVersion }}📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| imagePullPolicy: {{ .Values.services.api.pullPolicy | default "Always" }} | |
| image: {{ .Values.services.api.image | default "registry.plane.tools/plane/backend-enterprise" }}:{{ .Values.planeVersion }} | |
| image: {{ .Values.services.api.image | default "artifacts.plane.so/makeplane/backend-commercial" }}:{{ .Values.planeVersion }} | |
| stdin: true | |
| imagePullPolicy: {{ .Values.services.beatworker.pullPolicy | default "Always" }} | |
| image: {{ .Values.services.beatworker.image | default "artifacts.plane.so/makeplane/backend-commercial" }}:{{ .Values.planeVersion }} | |
| stdin: true |
🧰 Tools
🪛 YAMLlint (1.35.1)
[warning] 21-21: too many spaces after colon
(colons)
| imagePullPolicy: {{ .Values.services.api.pullPolicy | default "Always" }} | ||
| image: {{ .Values.services.api.image | default "registry.plane.tools/plane/backend-enterprise" }}:{{ .Values.planeVersion }} | ||
| image: {{ .Values.services.api.image | default "artifacts.plane.so/makeplane/backend-commercial" }}:{{ .Values.planeVersion }} |
There was a problem hiding this comment.
Fix service variable references for worker container.
It appears the worker deployment mistakenly references .Values.services.api for pullPolicy and image. These should point to .Values.services.worker to correctly use the worker service settings.
Apply the following diff:
- imagePullPolicy: {{ .Values.services.api.pullPolicy | default "Always" }}
- image: {{ .Values.services.api.image | default "artifacts.plane.so/makeplane/backend-commercial" }}:{{ .Values.planeVersion }}
+ imagePullPolicy: {{ .Values.services.worker.pullPolicy | default "Always" }}
+ image: {{ .Values.services.worker.image | default "artifacts.plane.so/makeplane/backend-commercial" }}:{{ .Values.planeVersion }}📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| imagePullPolicy: {{ .Values.services.api.pullPolicy | default "Always" }} | |
| image: {{ .Values.services.api.image | default "registry.plane.tools/plane/backend-enterprise" }}:{{ .Values.planeVersion }} | |
| image: {{ .Values.services.api.image | default "artifacts.plane.so/makeplane/backend-commercial" }}:{{ .Values.planeVersion }} | |
| imagePullPolicy: {{ .Values.services.worker.pullPolicy | default "Always" }} | |
| image: {{ .Values.services.worker.image | default "artifacts.plane.so/makeplane/backend-commercial" }}:{{ .Values.planeVersion }} |
| - variable: env.live_server_secret_key | ||
| label: "Live Server Secret Key" | ||
| type: string | ||
| default: "htbqvBJAgpm9bzvf3r4urJer0ENReatceh" | ||
|
|
There was a problem hiding this comment.
Security risk: avoid hardcoded default secret
Hardcoding env.live_server_secret_key to a fixed value exposes every installation to the same secret. It’s safer to default this to an empty string and mark it as required, forcing users to supply their own unique key. For example:
- default: "htbqvBJAgpm9bzvf3r4urJer0ENReatceh"
+ required: true
+ default: ""📝 Committable suggestion
‼️ IMPORTANT
Carefully review the code before committing. Ensure that it accurately replaces the highlighted code, contains no missing lines, and has no issues with indentation. Thoroughly test & benchmark the code to ensure it meets the requirements.
| - variable: env.live_server_secret_key | |
| label: "Live Server Secret Key" | |
| type: string | |
| default: "htbqvBJAgpm9bzvf3r4urJer0ENReatceh" | |
| - variable: env.live_server_secret_key | |
| label: "Live Server Secret Key" | |
| type: string | |
| required: true | |
| default: "" |
Summary by CodeRabbit
New Features
Chores