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.
This pull request introduces significant improvements to the build, packaging, and deployment process for the Python Template Server. The main changes include restructuring the Docker and Compose setup for better monitoring integration, adding a dedicated build and verification workflow, and enhancing package management and CI/CD practices. Additionally, there are updates to dependencies and project documentation for clarity and maintainability.
Build and Packaging Improvements:
build.ymlworkflow for building and verifying the Python package wheel, including steps to inspect and validate the installed package structure insite-packages.Dockerfileto includegrafanaandprometheusdirectories in the build artifact, improved the startup script to handle monitoring config setup, and simplified user management for container execution..dockerignoreto no longer excludegrafana/,prometheus/, andpostman/directories, ensuring monitoring configs are included in the build.Docker Compose and Monitoring Integration:
docker-compose.ymlto use named volumes for certificates, logs, and monitoring configs, and to mount monitoring configs for Prometheus and Grafana from a shared volume, enabling runtime configuration sharing and persistence. [1] [2] [3]/api/metricsand correct service label, improving integration with the backend.CI/CD and Workflow Enhancements:
ci.ymlfromtesttopytestand clarified artifact naming for backend coverage.buildjob, removed redundant setup steps, and ensured full cleanup after tests. [1] [2]uv venvfor creating virtual environments instead of syncing dependencies directly. [1] [2]Dependency and Documentation Updates:
pyproject.tomlfor improved compatibility and security, and includedgrafana/andprometheus/in the package manifest. [1] [2] [3]README.mdto reflect the new build workflow.docs/WORKFLOWS.mdto document the new build and Docker workflows, including job breakdowns and verification steps. [1] [2]Summary of Most Important Changes:
Build and Packaging:
build.ymlworkflow for building and verifying the Python package wheel, with detailed structure checks.Dockerfileto include monitoring configs and improved startup/init logic for better deployment and monitoring support..dockerignore.Docker Compose & Monitoring:
docker-compose.ymlto use named volumes and mount monitoring configs for Prometheus and Grafana, improving runtime flexibility and persistence. [1] [2] [3]CI/CD Improvements:
Dependency and Documentation: