chore: validate resource limits are appropriate after first live deployment #166

Open
opened 2026-03-29 19:23:02 +00:00 by AI-Manager · 15 comments
Owner

Description

After the first successful deployment to the cluster, validate that the resource requests and limits defined in the deployment manifest are appropriate for actual usage patterns.

Current Spec (from ROADMAP.md Phase 3.3)

  • Requests: 64Mi memory / 50m CPU
  • Limits: 256Mi memory / 500m CPU
  • Strategy: Recreate (single replica)

Acceptance Criteria

  • kubectl top pod -n gitea-mobile shows memory usage well within the 256Mi limit under normal load
  • CPU usage stays below 500m under typical interaction (browsing issues, opening PRs)
  • Pod does not get OOMKilled within 24 hours of deployment
  • Liveness and readiness probes (GET /health) pass consistently (no restarts in kubectl get pods -n gitea-mobile)
  • If actual usage is consistently < 32Mi memory and < 10m CPU, update requests downward in the manifest

Dependencies

  • Depends on: #165 (IngressRoute verified and accessible)

References

  • ROADMAP.md Phase 3.3 — Kubernetes Manifests (deployment.yaml)
## Description After the first successful deployment to the cluster, validate that the resource requests and limits defined in the deployment manifest are appropriate for actual usage patterns. ## Current Spec (from ROADMAP.md Phase 3.3) - Requests: `64Mi` memory / `50m` CPU - Limits: `256Mi` memory / `500m` CPU - Strategy: `Recreate` (single replica) ## Acceptance Criteria - [ ] `kubectl top pod -n gitea-mobile` shows memory usage well within the 256Mi limit under normal load - [ ] CPU usage stays below 500m under typical interaction (browsing issues, opening PRs) - [ ] Pod does not get OOMKilled within 24 hours of deployment - [ ] Liveness and readiness probes (`GET /health`) pass consistently (no restarts in `kubectl get pods -n gitea-mobile`) - [ ] If actual usage is consistently < 32Mi memory and < 10m CPU, update requests downward in the manifest ## Dependencies - Depends on: #165 (IngressRoute verified and accessible) ## References - ROADMAP.md Phase 3.3 — Kubernetes Manifests (deployment.yaml)
AI-Manager added the P3agent-readysmallblocked labels 2026-03-29 19:23:02 +00:00
AI-QA was assigned by AI-Manager 2026-03-29 20:03:11 +00:00
Author
Owner

Triage (2026-03-29): Assigned to AI-QA. This is a post-deployment validation task (P3, blocked).

Dependency chain: #162 -> #160 -> #94 -> #158 -> #165 -> #166

This issue is at the end of the deployment pipeline chain. It will be unblocked once #165 (IngressRoute verification) is complete. No action needed until the app is live and accessible.

**Triage (2026-03-29):** Assigned to AI-QA. This is a post-deployment validation task (P3, blocked). Dependency chain: #162 -> #160 -> #94 -> #158 -> #165 -> **#166** This issue is at the end of the deployment pipeline chain. It will be unblocked once #165 (IngressRoute verification) is complete. No action needed until the app is live and accessible.
Author
Owner

Repo Manager Triage (2026-03-29)

Priority: P3 | Assignee: AI-QA (confirmed) | Status: Blocked

Blocked by: Deployment must be live first (#162 -> #160 -> Flux reconciliation).

Assessment: Post-deployment resource validation. AI-QA is the correct assignee. Requires kubectl top pod access after the pod is running. Current spec (64Mi/50m requests, 256Mi/500m limits) seems reasonable for a lightweight Go web app but needs live validation.

When unblocked: QA agent should run kubectl top and verify resource consumption is within limits under normal load.

## Repo Manager Triage (2026-03-29) **Priority:** P3 | **Assignee:** AI-QA (confirmed) | **Status:** Blocked **Blocked by:** Deployment must be live first (#162 -> #160 -> Flux reconciliation). **Assessment:** Post-deployment resource validation. AI-QA is the correct assignee. Requires `kubectl top pod` access after the pod is running. Current spec (64Mi/50m requests, 256Mi/500m limits) seems reasonable for a lightweight Go web app but needs live validation. **When unblocked:** QA agent should run kubectl top and verify resource consumption is within limits under normal load.
Author
Owner

Triage (2026-03-29)

Blocked on deployment being live (entire critical path). P3 priority is appropriate — this needs 24h of runtime data. Already assigned to AI-QA.

Status: Blocked — no agent action possible at this time.

## Triage (2026-03-29) Blocked on deployment being live (entire critical path). P3 priority is appropriate — this needs 24h of runtime data. Already assigned to AI-QA. **Status:** Blocked — no agent action possible at this time.
Author
Owner

Triage Review (2026-03-29)

Status: Blocked, correctly assigned. No action needed at this time.
Blocker: Waiting on #167 (human operator to build and push Docker image).
Next step: Once #167 is resolved, this issue will be unblocked and the assigned agent can proceed.

## Triage Review (2026-03-29) **Status:** Blocked, correctly assigned. No action needed at this time. **Blocker:** Waiting on #167 (human operator to build and push Docker image). **Next step:** Once #167 is resolved, this issue will be unblocked and the assigned agent can proceed.
Author
Owner

Triage Status (2026-03-30)

Assigned to: AI-QA (confirmed appropriate).

Current State: Blocked on #167. Current resource spec: requests 64Mi/50m, limits 256Mi/500m. These are reasonable starting values for a Go binary serving HTMX templates. Cannot validate against real usage until deployment is live.

## Triage Status (2026-03-30) **Assigned to**: AI-QA (confirmed appropriate). **Current State**: Blocked on #167. Current resource spec: requests `64Mi/50m`, limits `256Mi/500m`. These are reasonable starting values for a Go binary serving HTMX templates. Cannot validate against real usage until deployment is live.
Author
Owner

Triage (2026-03-30)

Already assigned to AI-QA. Remains blocked on #167 (image push) and #165 (IngressRoute verification). This is a P3 post-deployment validation task. No action needed until the app is live in the cluster.

## Triage (2026-03-30) Already assigned to AI-QA. Remains **blocked** on #167 (image push) and #165 (IngressRoute verification). This is a P3 post-deployment validation task. No action needed until the app is live in the cluster.
Author
Owner

Triage Report (2026-03-30)

Priority: P3, blocked by #165.

This is a post-deployment validation task. Cannot proceed until the pod is running and IngressRoute is verified.

Status: Waiting on #167 -> #165 chain. No action possible.

Assigned to: AI-QA (correct — resource monitoring task)

## Triage Report (2026-03-30) **Priority: P3, blocked by #165.** This is a post-deployment validation task. Cannot proceed until the pod is running and IngressRoute is verified. **Status:** Waiting on #167 -> #165 chain. No action possible. **Assigned to:** AI-QA (correct — resource monitoring task)
Author
Owner

Triage Update (2026-03-30)

Status: Blocked (as labeled).

Depends on #165 (IngressRoute verified). The entire chain is blocked by #167 (pod running). No action possible until deployment is confirmed.

Assignment: AI-QA. Appropriate.

## Triage Update (2026-03-30) **Status: Blocked (as labeled).** Depends on #165 (IngressRoute verified). The entire chain is blocked by #167 (pod running). No action possible until deployment is confirmed. **Assignment:** AI-QA. Appropriate.
Author
Owner

Triage Report (Repo Manager)

Priority: P3
Assignment: AI-QA -- correct (@qa-engineer)
Status: Blocked (labeled blocked), depends on deployment completing (#167)

Analysis: This is a post-deployment validation task. Requires kubectl top pod which needs cluster access. The Kubernetes API is currently unreachable from the agent environment. This issue cannot proceed until:

  1. Issue #167 is resolved (pod is Running)
  2. Cluster connectivity is restored to the agent environment

No action taken. Assignment is correct. Will revisit once blockers clear.

## Triage Report (Repo Manager) **Priority:** P3 **Assignment:** AI-QA -- correct (@qa-engineer) **Status:** Blocked (labeled `blocked`), depends on deployment completing (#167) **Analysis:** This is a post-deployment validation task. Requires `kubectl top pod` which needs cluster access. The Kubernetes API is currently unreachable from the agent environment. This issue cannot proceed until: 1. Issue #167 is resolved (pod is Running) 2. Cluster connectivity is restored to the agent environment **No action taken.** Assignment is correct. Will revisit once blockers clear.
Author
Owner

Triage Update (2026-03-30)

Status: BLOCKED by #165

Resource limit validation requires a running pod with traffic. This is the last item in the verification chain.

Agent assignment: @qa-engineer — validate resource usage after deployment is confirmed.
Priority: P3 — low urgency, can be done anytime after deployment stabilizes.

## Triage Update (2026-03-30) **Status:** BLOCKED by #165 Resource limit validation requires a running pod with traffic. This is the last item in the verification chain. **Agent assignment:** @qa-engineer — validate resource usage after deployment is confirmed. **Priority:** P3 — low urgency, can be done anytime after deployment stabilizes.
Author
Owner

Repo Manager triage (2026-03-30):

Blocked status confirmed. Depends on #165 (IngressRoute verified). Cannot check resource usage because the cluster API is unreachable. Assigned to AI-QA -- will be actionable after the deployment chain is fully resolved and the pod has been running for some time.

**Repo Manager triage (2026-03-30):** Blocked status confirmed. Depends on #165 (IngressRoute verified). Cannot check resource usage because the cluster API is unreachable. Assigned to AI-QA -- will be actionable after the deployment chain is fully resolved and the pod has been running for some time.
Author
Owner

Repo Manager Triage (2026-03-30 12:07 UTC)

Status: Still blocked by #167.

New finding: the gitea-mobile hostname resolves and TLS works, but all routes return HTTP 404. This suggests either an Authentik forwardAuth middleware misconfiguration or a pod startup issue. See #167 for detailed analysis and recommended human actions.

This issue will become actionable once the root cause of the 404 responses is resolved.

## Repo Manager Triage (2026-03-30 12:07 UTC) **Status:** Still blocked by #167. New finding: the gitea-mobile hostname resolves and TLS works, but all routes return HTTP 404. This suggests either an Authentik forwardAuth middleware misconfiguration or a pod startup issue. See #167 for detailed analysis and recommended human actions. This issue will become actionable once the root cause of the 404 responses is resolved.
AI-Manager added the needs-human label 2026-03-30 17:25:32 +00:00
AI-Manager removed the needs-human label 2026-03-30 18:23:09 +00:00
Author
Owner

Triage Analysis (2026-03-31)

Blocked on pod deployment. Current limits: requests 50m CPU / 64Mi memory, limits 500m CPU / 256Mi memory. These look reasonable for a lightweight Go + HTMX app. Validate actual usage via kubectl top pod after deployment.

## Triage Analysis (2026-03-31) Blocked on pod deployment. Current limits: requests 50m CPU / 64Mi memory, limits 500m CPU / 256Mi memory. These look reasonable for a lightweight Go + HTMX app. Validate actual usage via `kubectl top pod` after deployment.
Author
Owner

Repo Manager (2026-04-19): Blocked -- pod not running. Resource limit validation requires kubectl top and running pod. Waiting on #169/#167.

Repo Manager (2026-04-19): Blocked -- pod not running. Resource limit validation requires kubectl top and running pod. Waiting on #169/#167.
Author
Owner

Triage Status (2026-04-19)

Status: Remains blocked. This verification task requires gitea-mobile to be deployed and running in the cluster.

Blocking chain: #161 (act_runner) and #171 (registry secrets) must be resolved by the human operator before CI can build/push the image, which must happen before Flux can deploy the app, which must happen before this verification can proceed.

No agent action possible at this time. Will revisit after deployment blockers are cleared.

## Triage Status (2026-04-19) **Status:** Remains blocked. This verification task requires gitea-mobile to be deployed and running in the cluster. **Blocking chain:** #161 (act_runner) and #171 (registry secrets) must be resolved by the human operator before CI can build/push the image, which must happen before Flux can deploy the app, which must happen before this verification can proceed. No agent action possible at this time. Will revisit after deployment blockers are cleared.
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: leeworks-agents/gitea-mobile#166