-
Notifications
You must be signed in to change notification settings - Fork 31
[INFRA-317] Update Plane-EE Helm Chart to version v2.3.0
#212
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
base: master
Are you sure you want to change the base?
Changes from 1 commit
c7becb8
77349ef
c39e66f
53bf94f
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,51 @@ | ||
| {{- if .Values.podIdentity.enabled }} | ||
| EKS Pod Identity (out-of-band) configuration | ||
|
|
||
| This chart configures the Kubernetes `ServiceAccount` name as: | ||
| {{ printf "%s-srv-account" .Release.Name }} | ||
|
|
||
| 1. Ensure the Pod Identity agent addon is installed: | ||
| eksctl create addon --cluster {{ default "<CLUSTER_NAME>" .Values.podIdentity.clusterName }} --name eks-pod-identity-agent | ||
|
|
||
| 2. Create the Pod Identity association: | ||
| eksctl create podidentityassociation \ | ||
| --cluster {{ default "<CLUSTER_NAME>" .Values.podIdentity.clusterName }} \ | ||
| --namespace {{ default .Release.Namespace .Values.podIdentity.namespace }} \ | ||
| --service-account-name {{ default (printf "%s-srv-account" .Release.Name) .Values.podIdentity.serviceAccountName }} \ | ||
| --role-arn {{ default "<ROLE_ARN>" .Values.podIdentity.roleArn }} | ||
|
|
||
| Alternative (AWS CLI): | ||
| aws eks create-pod-identity-association \ | ||
| --cluster-name {{ default "<CLUSTER_NAME>" .Values.podIdentity.clusterName }} \ | ||
| --namespace {{ default .Release.Namespace .Values.podIdentity.namespace }} \ | ||
| --service-account {{ default (printf "%s-srv-account" .Release.Name) .Values.podIdentity.serviceAccountName }} \ | ||
| --role-arn {{ default "<ROLE_ARN>" .Values.podIdentity.roleArn }} | ||
|
|
||
| Important: | ||
| - Pod Identity associations are managed outside of Helm/Kubernetes manifests (for example via `eksctl` / AWS APIs). | ||
| - Pod Identity is not configured purely by ServiceAccount annotations in this setup. | ||
| {{- else }} | ||
| IRSA configuration (IAM Roles for Service Accounts) | ||
|
|
||
| To enable AWS permissions for this chart's ServiceAccount: | ||
| - set `irsa.roleArn`, or | ||
| - set `serviceAccount.annotations` / `irsa.annotations` with `eks.amazonaws.com/role-arn`. | ||
|
|
||
| This chart's ServiceAccount name is: | ||
| {{ printf "%s-srv-account" .Release.Name }} | ||
| {{- end }} | ||
|
|
||
| --- | ||
| ## Secret ARN driven env wiring | ||
|
|
||
| This chart conditionally renders AWS Secrets Manager ARN-related env vars (for example `AMAZONMQ_SECRET_ARN`, `ELASTICACHE_SECRET_ARN`, `RDS_SECRET_ARN`) and the corresponding `*_KEY` mappings only when the ARN values (and the required key-name values) are provided. | ||
|
|
||
| To verify what will be rendered for your current values, run: | ||
|
|
||
| ```sh | ||
| helm template <RELEASE_NAME> ./charts/plane-enterprise \ | ||
| --namespace <NAMESPACE> \ | ||
| -f <YOUR_VALUES_YAML> | \ | ||
| rg -n "AMAZONMQ_SECRET_ARN|ELASTICACHE_SECRET_ARN|RDS_SECRET_ARN|RABBITMQ_(USER_KEY|PASSWORD_KEY)|RDS_DB_(HOST_KEY|NAME_KEY|PASSWORD_KEY|PORT_KEY|USERNAME_KEY)|FOLLOWER_RDS_DB_(HOST_KEY|NAME_KEY|PASSWORD_KEY|PORT_KEY|USERNAME_KEY)|MODEL_CUSTOM_LLM_API_KEY" | ||
| ``` | ||
|
|
| Original file line number | Diff line number | Diff line change | ||||||||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| @@ -1,3 +1,5 @@ | ||||||||||||||||||
| {{ $resolvedFollowerRdsArn := default .Values.env.apiSecrets.rds_secret_arn .Values.services.pi.apiSecrets.follower_rds_secret_arn }} | ||||||||||||||||||
|
|
||||||||||||||||||
| {{- if and .Values.services.pi.enabled (empty .Values.external_secrets.pi_api_env_existingSecret)}} | ||||||||||||||||||
|
|
||||||||||||||||||
| apiVersion: v1 | ||||||||||||||||||
|
|
@@ -56,12 +58,22 @@ stringData: | |||||||||||||||||
| CUSTOM_LLM_API_KEY: "" | ||||||||||||||||||
| {{- end }} | ||||||||||||||||||
|
|
||||||||||||||||||
| {{- if .Values.services.pi.ai_providers.embedding_model.enabled }} | ||||||||||||||||||
| BR_AWS_SECRET_ACCESS_KEY: {{ .Values.services.pi.ai_providers.embedding_model.aws_secret_access_key | default "" | quote }} | ||||||||||||||||||
| BR_AWS_SESSION_TOKEN: {{ .Values.services.pi.ai_providers.embedding_model.aws_session_token | default "" | quote }} | ||||||||||||||||||
| {{- end }} | ||||||||||||||||||
|
|
||||||||||||||||||
| AES_SECRET_KEY: {{ .Values.env.silo_envs.aes_secret_key | default "dsOdt7YrvxsTIFJ37pOaEVvLxN8KGBCr" | quote }} | ||||||||||||||||||
| {{- if and (not (empty $resolvedFollowerRdsArn)) (not (empty .Values.env.pi_envs.follower_rds_db_host_key)) (not (empty .Values.env.pi_envs.follower_rds_db_name_key)) (not (empty .Values.env.pi_envs.follower_rds_db_password_key)) (not (empty .Values.env.pi_envs.follower_rds_db_port_key)) (not (empty .Values.env.pi_envs.follower_rds_db_username_key)) }} | ||||||||||||||||||
| FOLLOWER_RDS_SECRET_ARN: {{ $resolvedFollowerRdsArn | quote }} | ||||||||||||||||||
| {{- end }} | ||||||||||||||||||
| {{- if and (not (empty .Values.env.apiSecrets.amazonmq_secret_arn)) (not (empty .Values.env.pi_envs.rabbitmq_user_key)) (not (empty .Values.env.pi_envs.rabbitmq_password_key)) }} | ||||||||||||||||||
| AMAZONMQ_SECRET_ARN: {{ .Values.env.apiSecrets.amazonmq_secret_arn | quote }} | ||||||||||||||||||
| {{- end }} | ||||||||||||||||||
| {{- if and (not (empty .Values.services.pi.apiSecrets.rds_secret_arn)) (not (empty .Values.env.pi_envs.rds_db_host_key)) (not (empty .Values.env.pi_envs.rds_db_name_key)) (not (empty .Values.env.pi_envs.rds_db_password_key)) (not (empty .Values.env.pi_envs.rds_db_port_key)) (not (empty .Values.env.pi_envs.rds_db_username_key)) }} | ||||||||||||||||||
| RDS_SECRET_ARN: {{ .Values.services.pi.apiSecrets.rds_secret_arn | quote }} | ||||||||||||||||||
| {{- end }} | ||||||||||||||||||
| {{- if and (not (empty .Values.services.pi.apiSecrets.model_secret_arn)) (not (empty .Values.services.pi.ai_providers.custom_llm.api_key)) }} | ||||||||||||||||||
| MODEL_SECRET_ARN: {{ .Values.services.pi.apiSecrets.model_secret_arn | quote }} | ||||||||||||||||||
| {{- end }} | ||||||||||||||||||
| {{- end }} | ||||||||||||||||||
| --- | ||||||||||||||||||
|
|
||||||||||||||||||
|
|
@@ -91,11 +103,33 @@ data: | |||||||||||||||||
| {{- end }} | ||||||||||||||||||
|
|
||||||||||||||||||
| PI_INTERNAL_SECRET: {{ .Values.env.pi_envs.internal_secret | default "tyfvfqvBJAgpm9bzvf3r4urJer0Ehfdubk" | quote }} | ||||||||||||||||||
| AWS_SECRET_CACHE_TTL: {{ .Values.env.aws_secret_cache_ttl | default "300" | quote }} | ||||||||||||||||||
|
|
||||||||||||||||||
| FEATURE_FLAG_SERVER_BASE_URL: "http://{{ .Release.Name }}-monitor.{{ .Release.Namespace }}.svc.cluster.local:8080" | ||||||||||||||||||
| PI_BASE_PATH: "/pi" | ||||||||||||||||||
|
|
||||||||||||||||||
|
|
||||||||||||||||||
| {{- if and (not (empty .Values.env.apiSecrets.amazonmq_secret_arn)) (not (empty .Values.env.pi_envs.rabbitmq_password_key)) (not (empty .Values.env.pi_envs.rabbitmq_user_key)) }} | ||||||||||||||||||
| RABBITMQ_PASSWORD_KEY: {{ .Values.env.pi_envs.rabbitmq_password_key | quote }} | ||||||||||||||||||
| RABBITMQ_USER_KEY: {{ .Values.env.pi_envs.rabbitmq_user_key | quote }} | ||||||||||||||||||
| {{- end }} | ||||||||||||||||||
|
Comment on lines
+119
to
+122
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Inconsistent condition: ConfigMap uses direct value while Secret uses resolved variable. Line 76 uses Proposed fix to use the resolved variable consistently- {{- if and (not (empty .Values.env.apiSecrets.amazonmq_secret_arn)) (not (empty .Values.env.pi_envs.rabbitmq_password_key)) (not (empty .Values.env.pi_envs.rabbitmq_user_key)) }}
+ {{- if and (not (empty $resolvedAmazonmqSecretArn)) (not (empty .Values.env.pi_envs.rabbitmq_password_key)) (not (empty .Values.env.pi_envs.rabbitmq_user_key)) }}
RABBITMQ_PASSWORD_KEY: {{ .Values.env.pi_envs.rabbitmq_password_key | quote }}
RABBITMQ_USER_KEY: {{ .Values.env.pi_envs.rabbitmq_user_key | quote }}
{{- end }}📝 Committable suggestion
Suggested change
🤖 Prompt for AI Agents |
||||||||||||||||||
|
|
||||||||||||||||||
| {{- if and (not (empty .Values.services.pi.apiSecrets.rds_secret_arn)) (not (empty .Values.env.pi_envs.rds_db_host_key)) (not (empty .Values.env.pi_envs.rds_db_name_key)) (not (empty .Values.env.pi_envs.rds_db_password_key)) (not (empty .Values.env.pi_envs.rds_db_port_key)) (not (empty .Values.env.pi_envs.rds_db_username_key)) }} | ||||||||||||||||||
| RDS_DB_HOST_KEY: {{ .Values.env.pi_envs.rds_db_host_key | quote }} | ||||||||||||||||||
| RDS_DB_NAME_KEY: {{ .Values.env.pi_envs.rds_db_name_key | quote }} | ||||||||||||||||||
| RDS_DB_PASSWORD_KEY: {{ .Values.env.pi_envs.rds_db_password_key | quote }} | ||||||||||||||||||
| RDS_DB_PORT_KEY: {{ .Values.env.pi_envs.rds_db_port_key | quote }} | ||||||||||||||||||
| RDS_DB_USERNAME_KEY: {{ .Values.env.pi_envs.rds_db_username_key | quote }} | ||||||||||||||||||
| {{ end }} | ||||||||||||||||||
|
|
||||||||||||||||||
| {{- if and (not (empty $resolvedFollowerRdsArn)) (not (empty .Values.env.pi_envs.follower_rds_db_host_key)) (not (empty .Values.env.pi_envs.follower_rds_db_name_key)) (not (empty .Values.env.pi_envs.follower_rds_db_password_key)) (not (empty .Values.env.pi_envs.follower_rds_db_port_key)) (not (empty .Values.env.pi_envs.follower_rds_db_username_key)) }} | ||||||||||||||||||
| {{- /* Render follower DB key names only when resolved follower secret ARN exists. */ -}} | ||||||||||||||||||
| FOLLOWER_RDS_DB_HOST_KEY: {{ .Values.env.pi_envs.follower_rds_db_host_key | quote }} | ||||||||||||||||||
| FOLLOWER_RDS_DB_NAME_KEY: {{ .Values.env.pi_envs.follower_rds_db_name_key | quote }} | ||||||||||||||||||
| FOLLOWER_RDS_DB_PASSWORD_KEY: {{ .Values.env.pi_envs.follower_rds_db_password_key | quote }} | ||||||||||||||||||
| FOLLOWER_RDS_DB_PORT_KEY: {{ .Values.env.pi_envs.follower_rds_db_port_key | quote }} | ||||||||||||||||||
| FOLLOWER_RDS_DB_USERNAME_KEY: {{ .Values.env.pi_envs.follower_rds_db_username_key | quote }} | ||||||||||||||||||
| {{- end }} | ||||||||||||||||||
|
|
||||||||||||||||||
| {{- if eq .Values.env.pi_envs.cors_allowed_origins "*"}} | ||||||||||||||||||
| CORS_ALLOWED_ORIGINS: "*" | ||||||||||||||||||
| {{- else if .Values.env.pi_envs.cors_allowed_origins }} | ||||||||||||||||||
|
|
@@ -134,12 +168,14 @@ data: | |||||||||||||||||
| CUSTOM_LLM_AWS_REGION: "" | ||||||||||||||||||
| {{- end }} | ||||||||||||||||||
|
|
||||||||||||||||||
| {{- if .Values.services.pi.ai_providers.embedding_model.enabled }} | ||||||||||||||||||
| {{- if and (not (empty .Values.services.pi.apiSecrets.model_secret_arn)) (not (empty .Values.services.pi.ai_providers.custom_llm.api_key)) }} | ||||||||||||||||||
| MODEL_CUSTOM_LLM_API_KEY: {{ .Values.services.pi.ai_providers.custom_llm.api_key | quote }} | ||||||||||||||||||
| {{- end }} | ||||||||||||||||||
|
|
||||||||||||||||||
| EMBEDDING_MODEL: {{ .Values.services.pi.ai_providers.embedding_model.name | default "" | quote }} | ||||||||||||||||||
| OPENSEARCH_ML_MODEL_ID: {{ .Values.services.pi.ai_providers.embedding_model.model_id | default "" | quote }} | ||||||||||||||||||
| BR_AWS_ACCESS_KEY_ID: {{ .Values.services.pi.ai_providers.embedding_model.aws_access_key | default "" | quote }} | ||||||||||||||||||
| BR_AWS_REGION: {{ .Values.services.pi.ai_providers.embedding_model.aws_region | default "us-east-1" | quote }} | ||||||||||||||||||
| {{- end }} | ||||||||||||||||||
|
|
||||||||||||||||||
| CELERY_VECTOR_SYNC_ENABLED: {{ .Values.env.pi_envs.celery.vector_sync_enabled | ternary "1" "0" | quote }} | ||||||||||||||||||
| CELERY_VECTOR_SYNC_INTERVAL: {{ .Values.env.pi_envs.celery.vector_sync_interval | default 3 | quote }} | ||||||||||||||||||
|
|
||||||||||||||||||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -1,9 +1,22 @@ | ||
| {{- $annotations := dict -}} | ||
| {{- with .Values.serviceAccount.annotations -}} | ||
| {{- $annotations = merge $annotations . -}} | ||
| {{- end -}} | ||
| {{- with .Values.irsa.annotations -}} | ||
| {{- $annotations = merge $annotations . -}} | ||
| {{- end -}} | ||
| {{- if .Values.irsa.roleArn -}} | ||
| {{- $annotations = merge $annotations (dict "eks.amazonaws.com/role-arn" .Values.irsa.roleArn) -}} | ||
| {{- end -}} | ||
|
Comment on lines
+1
to
+10
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Merge precedence may surprise users expecting Helm's
This contradicts the comment in ♻️ Option: Reverse merge order so irsa.roleArn wins {{- $annotations := dict -}}
-{{- with .Values.serviceAccount.annotations -}}
-{{- $annotations = merge $annotations . -}}
-{{- end -}}
-{{- with .Values.irsa.annotations -}}
-{{- $annotations = merge $annotations . -}}
-{{- end -}}
{{- if .Values.irsa.roleArn -}}
-{{- $annotations = merge $annotations (dict "eks.amazonaws.com/role-arn" .Values.irsa.roleArn) -}}
+{{- $annotations = merge $annotations (dict "eks.amazonaws.com/role-arn" .Values.irsa.roleArn) -}}
+{{- end -}}
+{{- with .Values.irsa.annotations -}}
+{{- $annotations = merge $annotations . -}}
+{{- end -}}
+{{- with .Values.serviceAccount.annotations -}}
+{{- $annotations = merge $annotations . -}}
{{- end -}}This makes 🧰 Tools🪛 YAMLlint (1.38.0)[error] 1-1: syntax error: expected the node content, but found '-' (syntax) 🤖 Prompt for AI Agents |
||
|
|
||
| apiVersion: v1 | ||
| automountServiceAccountToken: true | ||
| kind: ServiceAccount | ||
| metadata: | ||
| namespace: {{ .Release.Namespace }} | ||
| name: {{ .Release.Name }}-srv-account | ||
| annotations: | ||
| {{ toYaml $annotations | nindent 4 }} | ||
| {{- if .Values.dockerRegistry.enabled }} | ||
| imagePullSecrets: | ||
| {{- if .Values.dockerRegistry.existingSecret }} | ||
|
|
||
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -388,6 +388,14 @@ services: | |
| aws_region: 'us-east-1' | ||
| aws_session_token: '' | ||
|
|
||
| apiSecrets: | ||
| # Used by PI API to look up external secrets/credentials. | ||
| # Values are expected to be base64-encoded strings (as provided by the user). | ||
| follower_rds_secret_arn: '' | ||
| model_secret_arn: '' | ||
| amazonmq_secret_arn: '' | ||
| rds_secret_arn: '' | ||
|
Comment on lines
+400
to
+406
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Misleading comment: ARNs are not base64-encoded. The comment states "Values are expected to be base64-encoded strings" but AWS Secrets Manager ARNs are plain text identifiers (e.g., 📝 Proposed fix apiSecrets:
- # Used by PI API to look up external secrets/credentials.
- # Values are expected to be base64-encoded strings (as provided by the user).
+ # Used by PI API to look up external secrets/credentials.
+ # Provide the full AWS Secrets Manager ARN.
follower_rds_secret_arn: ''Apply the same fix at line 467-468. 🤖 Prompt for AI Agents |
||
|
|
||
| pi_beat_worker: | ||
| replicas: 1 | ||
| memoryLimit: 1000Mi | ||
|
|
@@ -412,6 +420,32 @@ services: | |
| labels: {} | ||
| annotations: {} | ||
|
|
||
| serviceAccount: | ||
| # ServiceAccount annotations to apply to the chart's ServiceAccount. | ||
| # Common use-case: IRSA (IAM Roles for Service Accounts). | ||
| annotations: {} | ||
|
|
||
| irsa: | ||
| # When set, the chart automatically sets: | ||
| # eks.amazonaws.com/role-arn: <roleArn> | ||
| roleArn: '' | ||
| # Additional/override IRSA annotations to apply to the ServiceAccount. | ||
| annotations: {} | ||
|
|
||
| podIdentity: | ||
| # EKS Pod Identity is configured out-of-band (for example with `eksctl`). | ||
| # This chart only renders install-time guidance; it does not create the | ||
| # PodIdentityAssociation resource. | ||
| enabled: false | ||
| # Cluster name for the `eksctl create podidentityassociation` command. | ||
| clusterName: '' | ||
| # Namespace for the ServiceAccount (defaults to the Helm release namespace). | ||
| namespace: '' | ||
| # ServiceAccount name (defaults to `<releaseName>-srv-account`). | ||
| serviceAccountName: '' | ||
| # IAM role ARN to associate for Pod Identity. | ||
| roleArn: '' | ||
|
|
||
| external_secrets: | ||
| # Name of the existing Kubernetes Secret resource; see README for more details | ||
| rabbitmq_existingSecret: '' | ||
|
|
@@ -426,6 +460,33 @@ external_secrets: | |
| env: | ||
| storageClass: '' | ||
|
|
||
| # Secrets Manager credential cache TTL (seconds) | ||
| aws_secret_cache_ttl: "300" | ||
|
|
||
| apiSecrets: | ||
| # Shared AWS Secrets Manager ARNs used by api/live/pi workloads. | ||
| # Values are expected to be base64-encoded strings (as provided by the user). | ||
| amazonmq_secret_arn: "arn:aws:secretsmanager:us-east-1:426043895157:secret:gp/api/mq/secrets-GMMWoG" | ||
| elasticache_secret_arn: "arn:aws:secretsmanager:us-east-1:426043895157:secret:gp/api/redis/secrets-K0zoig" | ||
| rds_secret_arn: "arn:aws:secretsmanager:us-east-1:426043895157:secret:gp/api/secrets-oFsQ2M" | ||
|
coderabbitai[bot] marked this conversation as resolved.
Outdated
|
||
|
|
||
| # AWS Secrets Manager key mappings used by the main app (plane-app-vars). | ||
| # The templates render: | ||
| # - `REDIS_AUTH_TOKEN_KEY` only when `env.apiSecrets.elasticache_secret_arn` is set | ||
| # - `RABBITMQ_*_KEY` only when `env.apiSecrets.amazonmq_secret_arn` is set | ||
| # - `RDS_DB_*_KEY` only when `env.apiSecrets.rds_secret_arn` is set | ||
| redis_auth_token_key: authToken | ||
| rabbitmq_user_key: username | ||
| rabbitmq_password_key: password | ||
| rds_db_host_key: host | ||
| rds_db_name_key: dbname | ||
| rds_db_password_key: password | ||
| rds_db_port_key: port | ||
| rds_db_username_key: username | ||
|
|
||
| # Base URL for the automation runner (defaults via template). | ||
| runner_base_url: '' | ||
|
|
||
| # REDIS | ||
| remote_redis_url: '' #INCASE OF REMOTE REDIS ONLY | ||
|
|
||
|
|
@@ -519,6 +580,25 @@ env: | |
| internal_secret: 'tyfvfqvBJAgpm9bzvf3r4urJer0Ehfdubk' | ||
| log_level: 'DEBUG' | ||
|
|
||
| # Names/keys that PI API uses to retrieve credentials from external secret managers. | ||
| # The templates render: | ||
| # - `RABBITMQ_*_KEY` only when `env.apiSecrets.amazonmq_secret_arn` is set | ||
| # - `RDS_DB_*_KEY` only when `env.apiSecrets.rds_secret_arn` is set | ||
| # - `FOLLOWER_RDS_DB_*_KEY` only when `services.pi.apiSecrets.follower_rds_secret_arn` is set | ||
| # - `MODEL_CUSTOM_LLM_API_KEY` only when `services.pi.apiSecrets.model_secret_arn` is set | ||
| rabbitmq_password_key: password | ||
| rabbitmq_user_key: username | ||
| rds_db_host_key: host | ||
| rds_db_name_key: dbname | ||
| rds_db_password_key: password | ||
| rds_db_port_key: port | ||
| rds_db_username_key: username | ||
| follower_rds_db_host_key: host | ||
| follower_rds_db_name_key: dbname | ||
| follower_rds_db_password_key: password | ||
| follower_rds_db_port_key: port | ||
| follower_rds_db_username_key: username | ||
|
|
||
| celery: | ||
| vector_sync_enabled: false | ||
| vector_sync_interval: 3 | ||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
🧩 Analysis chain
🏁 Script executed:
Repository: makeplane/helm-charts
Length of output: 224
🏁 Script executed:
Repository: makeplane/helm-charts
Length of output: 235
🏁 Script executed:
Repository: makeplane/helm-charts
Length of output: 1917
🏁 Script executed:
Repository: makeplane/helm-charts
Length of output: 235
🏁 Script executed:
Repository: makeplane/helm-charts
Length of output: 47
🏁 Script executed:
Repository: makeplane/helm-charts
Length of output: 47
🏁 Script executed:
Repository: makeplane/helm-charts
Length of output: 47
🏁 Script executed:
Repository: makeplane/helm-charts
Length of output: 47
🏁 Script executed:
Repository: makeplane/helm-charts
Length of output: 158
🏁 Script executed:
Repository: makeplane/helm-charts
Length of output: 1126
🏁 Script executed:
Repository: makeplane/helm-charts
Length of output: 220
🏁 Script executed:
Repository: makeplane/helm-charts
Length of output: 49
🏁 Script executed:
Repository: makeplane/helm-charts
Length of output: 108
🏁 Script executed:
Repository: makeplane/helm-charts
Length of output: 850
Hardcoded service name doesn't follow release-name convention.
The default
RUNNER_BASE_URLusesplane-node-runnerinstead of{{ .Release.Name }}-node-runner, which is inconsistent with every other internal service URL in this template (redis, pgdb, rabbitmq, monitor, live). If the node-runner service is deployed as part of this chart, this will cause connection failures when users deploy with a custom release name.🤖 Prompt for AI Agents