feat(deployment): add helm chart and improve docker configuration#747
feat(deployment): add helm chart and improve docker configuration#747ScribblerCoder wants to merge 3 commits intoqoomon:mainfrom
Conversation
|
@qoomon Am I right to assume that the server is stateless? I currently have autoscaling enabled with multiple replicas in my setup (its disabled by default here in this PR) |
There was a problem hiding this comment.
Pull Request Overview
This PR adds Kubernetes deployment support by introducing a comprehensive Helm chart for the GitHub Access Token Server, along with Docker configuration improvements for better standardization and deployment readiness.
- Complete Helm chart implementation with templates for deployment, service, ingress, HPA, and Gateway API support
- Docker improvements including standardized syntax (uppercase
ASin multi-stage builds,=in ENV declarations) - Added missing
GITHUB_ACTIONS_TOKEN_ALLOWED_AUDIENCEenvironment variable in README documentation
Reviewed Changes
Copilot reviewed 16 out of 16 changed files in this pull request and generated 4 comments.
Show a summary per file
| File | Description |
|---|---|
| server/deployments/helm/Chart.yaml | Defines chart metadata and version (v0.1.0) for the Helm package |
| server/deployments/helm/values.yaml | Provides comprehensive configuration options with defaults for all Kubernetes resources |
| server/deployments/helm/templates/_helpers.tpl | Contains Helm template helper functions for naming and labels |
| server/deployments/helm/templates/deployment.yaml | Defines the main application deployment with environment configuration |
| server/deployments/helm/templates/service.yaml | Creates Kubernetes service for pod exposure |
| server/deployments/helm/templates/serviceaccount.yaml | Sets up service account with RBAC support |
| server/deployments/helm/templates/ingress.yaml | Configures ingress controller for external access |
| server/deployments/helm/templates/httproute.yaml | Adds Gateway API HTTPRoute support as alternative to Ingress |
| server/deployments/helm/templates/hpa.yaml | Enables horizontal pod autoscaling based on CPU/memory metrics |
| server/deployments/helm/templates/extra-manifests.yaml | Allows deployment of additional custom Kubernetes objects |
| server/deployments/helm/templates/tests/test-connection.yaml | Provides Helm test for connection verification |
| server/deployments/helm/templates/NOTES.txt | Displays post-installation instructions with ASCII art and access URLs |
| server/deployments/helm/README.md.gotmpl | Template for generating Helm chart documentation |
| server/deployments/helm/README.md | Generated documentation with values table and usage instructions |
| server/Dockerfile | Standardized multi-stage build syntax and environment variable format |
| server/README.md | Added missing environment variable in Docker run example |
Tip: Customize your code reviews with copilot-instructions.md. Create the file or learn how to get started.
Yes completely stateless. It's designed to run in serverless functions or lambdas |
…environment variable and README typos
|
Did a force push to sign my commits and fix author name (forgot to do so) |
|
@qoomon let me know if you need me to add a workflow to lint/release the chart and the docker image. |
|
hey @qoomon any updates or if you have any comments on this PR? |
6b771bf to
b86b6b9
Compare
6815385 to
07c9aba
Compare
229661b to
f216583
Compare
|
hi @ScribblerCoder sorry for the late response. |
Add Kubernetes Deployment Support with Helm Chart
Overview
This PR adds comprehensive Kubernetes deployment capabilities for the GitHub Access Token Server, including a complete Helm chart and Docker improvements.
Changes Made
Docker Improvements
Helm Chart for Kubernetes Deployment
Added a complete Helm chart (
server/deployments/helm/) with:deployment.yaml- Main application deploymentservice.yaml- Service configurationserviceaccount.yaml- Service account with RBACingress.yaml- Ingress controller supporthpa.yaml- Horizontal Pod Autoscalerhttproute.yaml- Gateway API HTTPRoute supportUsage