Skip to content

feat(GSP1306): Spring Boot Secret Manager Cloud Run lab and Hashnode guide - #57

Draft
hoangsvit wants to merge 2 commits into
mainfrom
feat/gsp1306-spring-secretmanager-scout-20261031
Draft

hoangsvit wants to merge 2 commits into
mainfrom
feat/gsp1306-spring-secretmanager-scout-20261031

Conversation

@hoangsvit

@hoangsvit hoangsvit commented Oct 30, 2026 •

Copy link
Copy Markdown
Member

New Google Skills lab — GSP1306

  • Retrieving Credentials from Secret Manager with Spring Boot; official https://www.skills.google/focuses/121708?parent=catalog, last tested August 27, 2026.
  • Four Tasks and four checkpoints: 30/20/25/25.
  • Duplicate checks: no matching GSP1306 code on main, open/closed PR by ID/title, or indexed eplus.dev article by ID/title/slug. Google Skills Catalog; active Arcade membership unverified.
  • No changes to old lab folders.

Files and coverage

  • labs/GSP1306/lab.sh: standalone Bash, detects temporary lab project/region and existing bucket; generates the official Spring Boot project with Spring Initializr; builds/starts local REST service and checks real responses; creates the lab-only greeting secret; adds Secret Manager dependency and Java controller; uploads required grader artifacts; grants the pre-provisioned Cloud Run service account secret-level accessor role; deploys and checks the public demo Cloud Run response.
  • labs/GSP1306/HASHNODE.md: complete Overview, Setup, Task 1–4 manual commands, checkpoints, Java/XML/TOML/properties snippets, then Solution of Lab. Quick exactly two commands pointing to main (only available after merge). Manual video and image reuse rights unverified.
  • ANSI TTY/FORCE_COLOR/NO_COLOR; ePlus.DEV banner; Copyright (c) 2026 ePlus.DEV | Unlicense; no hardcoded project/region or actual credentials; bounded retries and no destructive cleanup.
  • Uses only the public demo greeting strings from the official lab; never use real credentials because the lab explicitly requires an unauthenticated demo endpoint.

Review blockers and validation

  • The official lab has a Spring Boot version discrepancy: Initializr command requests 4.0.1, explanation mentions 3.3.5. Script follows the command; reviewer must verify current Spring Cloud GCP compatibility in the authorized lab.
  • GitHub CI pending for latest PR commit: bash -n, ShellCheck severity error and unit tests. Local ShellCheck unavailable. Do not assert PASS until CI confirms it.
  • static validated only; runtime/grader unverified after CI; no authorized lab/GCP account used. Verify Maven startup, Secret Manager config, demo service identity and grader.
  • No merge, auto-approve or push to main.

Test latest PR commit

Run only in an authorized Google Skills Cloud Shell. Resolves latest branch SHA (checks nonempty), downloads immutable commit to avoid stale cache, and logs by SHA. NO_COLOR overrides FORCE_COLOR=1.

BRANCH=feat/gsp1306-spring-secretmanager-scout-20261031
SHA="$(git ls-remote https://github.com/ePlus-DEV/storage.git refs/heads/$BRANCH | awk '{print $1}')"
test -n "$SHA" || { echo "Missing latest PR head SHA" >&2; exit 1; }
curl -fL --retry 3 "https://raw.githubusercontent.com/ePlus-DEV/storage/$SHA/labs/GSP1306/lab.sh" -o lab-test.sh
set -o pipefail
FORCE_COLOR=1 bash lab-test.sh 2>&1 | tee "lab-GSP1306-${SHA:0:12}.log"

Use bash lab-test.sh, not source lab.sh, in the PR tee test. No runtime/grader PASS asserted. Review before merge. Tracks #16.

Latest GitHub CI verification

  • Lab Script Health run #41140104042 completed SUCCESS at head 96a7f7302766.
  • Read-only changed-script checks: Bash syntax, ShellCheck severity error, and repository unit tests PASS.
  • static validated only; runtime/grader unverified; Spring Boot dependency compatibility still needs authorized lab review.

@coderabbitai

coderabbitai Bot commented Oct 30, 2026

Copy link
Copy Markdown

Important

Draft PR not reviewed

Draft PRs are not automatically reviewed by default.

  • Trigger a manual review

To automatically review draft PRs, update your CodeRabbit configuration:

reviews:
  auto_review:
    drafts: true
  • Autofix · Keep fixing CodeRabbit findings and required CI, and resolving merge conflicts

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.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

This branch has not been deployed

No deployments
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.

1 participant