Add Woodpecker CI pipeline and k8s manifests #3

Closed
opened 2026-03-02 08:27:23 +00:00 by forgejo_admin · 0 comments
Contributor

Plan

plan-2026-02-25-mcp-gateway-migration — Phase 3

Repo

gcal-scheduler — the repo where the code change happens

User Story

As a platform operator
I need Woodpecker CI and k8s manifests for gcal-scheduler
So that the appointment booking service can be deployed via GitOps alongside the other pal-e services

Acceptance Criteria

When I push to main
Then Woodpecker CI runs lint/test/build and pushes a container image to Harbor
When ArgoCD syncs
Then the gcal-scheduler deployment runs in k8s with correct env vars and health probes

Additional Information

Supersedes #1 / PR #2 with a cleaner implementation that follows the proven pattern from notion-mcp-remote (main branch). Key improvements:

  • Uses .woodpecker.yaml (not .yml)
  • Separates service.yaml from deployment.yaml
  • Adds a /metrics endpoint (prometheus_client)
  • Uses correct ruff version constraints
  • Includes all env vars from the codebase
  • Adds strategy: Recreate and proper labels

Checklist

  • PR opened with related notes
  • Tests cover the acceptance criteria
  • Docs updated if needed
  • project-pal-e — which project this affects
### Plan `plan-2026-02-25-mcp-gateway-migration` — Phase 3 ### Repo `gcal-scheduler` — the repo where the code change happens ### User Story As a platform operator I need Woodpecker CI and k8s manifests for gcal-scheduler So that the appointment booking service can be deployed via GitOps alongside the other pal-e services ### Acceptance Criteria When I push to main Then Woodpecker CI runs lint/test/build and pushes a container image to Harbor When ArgoCD syncs Then the gcal-scheduler deployment runs in k8s with correct env vars and health probes ### Additional Information Supersedes #1 / PR #2 with a cleaner implementation that follows the proven pattern from notion-mcp-remote (main branch). Key improvements: - Uses `.woodpecker.yaml` (not `.yml`) - Separates service.yaml from deployment.yaml - Adds a /metrics endpoint (prometheus_client) - Uses correct ruff version constraints - Includes all env vars from the codebase - Adds `strategy: Recreate` and proper labels ### Checklist - [ ] PR opened with related notes - [ ] Tests cover the acceptance criteria - [ ] Docs updated if needed ### Related - `project-pal-e` — which project this affects
Sign in to join this conversation.
No milestone
No project
No assignees
1 participant
Notifications
Due date
The due date is invalid or out of range. Please use the format "yyyy-mm-dd".

No due date set.

Dependencies

No dependencies set.

Reference
ldraney/gcal-scheduler#3
No description provided.