Skip to content

Default shared_project to project_id for Kubernetes kubeconfig lookup - #14

Merged
andypotanin merged 1 commit into
productionfrom
fix/shared-project-default
Sep 1, 2026
Merged

Default shared_project to project_id for Kubernetes kubeconfig lookup#14
andypotanin merged 1 commit into
productionfrom
fix/shared-project-default

Conversation

@andypotanin

@andypotanin andypotanin commented Aug 29, 2026

Copy link
Copy Markdown
Member

Problem

k8s-* modules fetch the cluster kubeconfig from a Secret Manager secret k8s-config-<cluster>-<namespace> in shared_project. When a caller does not set shared_project, the action passes an empty value and the engine falls back to a UDX-internal GCP project. External callers therefore fail with PERMISSION_DENIED on a project they have never heard of, and the README does not describe the secret contract.

Fix

  • shared_project now defaults to project_id in the action, so the engine fallback never triggers for external callers.
  • README documents the kubeconfig secret name, required IAM, and when to set shared_project.
  • Version bump to v1.0.6 with CHANGELOG entry.

Compatibility

Only callers that use k8s-* modules and rely on the implicit fallback are affected. The two current callers were checked: udx/www.wpcloud.io now sets shared_project explicitly (c0d11023, green run 33255548656); udx/demo-rabbit-example uses no k8s modules. make test: 41 passed.


Devin Review

Without an explicit shared_project the engine fell back to a UDX-internal
GCP project, so external callers deploying k8s-* modules failed with
PERMISSION_DENIED and no explanation. Default to the caller's own
project_id and document the kubeconfig secret contract.
@andypotanin
andypotanin requested a review from a team as a code owner August 29, 2026 13:43
Copilot AI lite review requested due to automatic review settings August 29, 2026 13:43

@devin-ai-integration devin-ai-integration Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🔍 Devin Review: 1 flag

Not posted on this PR by your GitHub settings — view it in Devin Review. (Configure)

Devin Review

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Pull request overview

This PR prevents external callers of the k8s-* modules from accidentally falling back to an internal GCP project during kubeconfig secret lookup by defaulting shared_project to the caller’s project_id, and documents the kubeconfig secret contract as part of a patch release.

Changes:

  • Default SHARED_PROJECT to inputs.project_id when inputs.shared_project is unset, preventing unintended Secret Manager lookups in a fallback project.
  • Document the k8s-config-<cluster>-<namespace> Secret Manager naming/IAM contract and when to set shared_project.
  • Bump the action version to 1.0.6 and add a matching CHANGELOG.md entry.

Reviewed changes

Copilot reviewed 4 out of 4 changed files in this pull request and generated no comments.

File Description
README.md Adds Kubernetes kubeconfig secret contract docs and updates shared_project input description/default.
action.yml Defaults SHARED_PROJECT to project_id when shared_project is not provided.
package.json Bumps version to 1.0.6.
CHANGELOG.md Adds v1.0.6 entry describing the behavioral default + documentation update.

💡 Add a code-review agent skill or configure MCP servers for context-aware, tailored reviews. Learn more in the docs.

@andypotanin
andypotanin merged commit 570c25d into production Sep 1, 2026
6 checks passed
@andypotanin
andypotanin deleted the fix/shared-project-default branch September 1, 2026 13:32
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants