-
Notifications
You must be signed in to change notification settings - Fork 5
Add staging environments #219
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
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
- Add PodDisruptionBudget to protect against voluntary node disruptions - Add startup/liveness/readiness probes using /healthcheck endpoint - Add resource requests and limits (256Mi/512Mi memory, 100m/500m CPU) - Replace destructive delete/create secret pattern with atomic kubectl apply - Add rollout status verification with automatic rollback on failure - Update CONTRIBUTING.md with correct workflow paths and new kubectl commands 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Replace 80+ lines of individual secretKeyRef entries with a single envFrom block that injects all keys from modbot-env secret automatically. Adding new secrets no longer requires editing deployment.yaml. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Add preview.yml workflow that deploys on PR open/sync/ready_for_review - Skip deployment for draft PRs and PRs with 'no-preview' label - Clean up resources when PR closes or 'no-preview' label added - Add K8s template for preview Deployment, Service, and Ingress - Document manual setup steps (DNS, TLS, namespace, secrets) Previews will be available at https://<pr-number>.euno-staging.reactiflux.com once manual infrastructure setup is complete. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Use CI environment secrets to create modbot-staging-env K8s secret - Add cert-manager annotation to preview ingress for automatic TLS - Each PR gets its own cert via HTTP-01 (no wildcard/DNS-01 needed) - Add DNS-01 solver to cluster-issuer for future use - Add step to cd.yml to ensure digitalocean-dns-token exists First PR deploy takes ~1-2 min extra for cert issuance; subsequent deploys are fast since cert already exists. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Text changed when I added a free trial; it has a `data-test-id` though so we can use that for more robust selection
This comment was marked as outdated.
This comment was marked as outdated.
Debugging 429 rate limit errors during kubectl setup.
🤖 Generated with [Claude Code](https://claude.com/claude-code)
Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This comment was marked as outdated.
This comment was marked as outdated.
Switch to new scoped token for kubernetes access. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This comment was marked as outdated.
This comment was marked as outdated.
✅ E2E Tests Passed3 passed
|
Replace 4 separate notes with single consolidated infrastructure-state.md. Removed outdated issues that were fixed (Dockerfile scripts, tsx removal, secret naming, hardcoded branch). Kept ci-cd-architecture-review.md as reference for proposed staging/release model. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
- Inline E2E job in cd.yml that runs after preview or production deploy - E2E tests against deployed URL (preview or production) - Updates single PR comment with test results instead of creating new ones - Simplified ci.yml to just lint/typecheck/vitest (E2E moved to CD) - Deploy test reports to GitHub Pages 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
GitHub runners have Playwright deps pre-installed. The --with-deps flag was running apt-get and taking 9 minutes. Should be ~seconds without it. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Member
Author
|
This is messy as heck, but it all works!! Ish. There are still some test isolation issues, i.e. the e2e tests don't reset the test database being used in between runs, but there are enough working changes here that I'd like to get this shipped ✨ |
Ensures preview environments start fresh on every push by deleting the sqlite database before restarting the pod. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
Should allow for some dead time to be removed from the system
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There are some drawbacks to the current devops/CI+CD setup:
To summarize the changes in this PR briefly: