Commit 7291469
authored
Devops (#35)
* Adds initial Docker Compose setup
Sets up Docker Compose for local development.
Defines services for the API and database (PostgreSQL with pgvector).
Configures environment variables, volumes, and health checks for both services.
Also includes a Dockerfile that uses uv to manage the python environment and dependencies.
* Add initial database setup with tables for documents, document chunks, and chat sessions
* Refactor Docker setup: replace pgvector with new Dockerfiles for DocsManager and RAGManager, update docker-compose.yml for service configuration, and adjust Python version in RAGManager.
* Adds CI/CD workflows for deployment and validation
Sets up GitHub Actions workflows for continuous integration and continuous deployment.
- Introduces a deployment workflow that builds and pushes Docker images to ACR, configures kubectl, and restarts deployments in a Kubernetes namespace.
- Implements a pull request validation workflow that performs secret scanning with Gitleaks, builds Docker images for validation (without pushing), runs Trivy vulnerability scans, and uploads the results to GitHub Security.
- Adds a PR summary workflow that posts a comment on the pull request with the results of the Gitleaks and build validation jobs, including a notice to check the security tab for any found vulnerabilities.
* Refactors PR validation workflow for clarity
Streamlines the PR validation workflow by removing the Gitleaks job and improving the presentation of Trivy results.
The workflow now focuses on build validation and vulnerability scanning with clearer output in the PR summary. Trivy results are now displayed in a table format within the PR comment, and a direct link to the detailed results in the Actions tab is included. The Gitleaks check is removed.
* Enhances deployment workflow with summaries
Adds deployment summary to the workflow, providing detailed information about the deployed service, image, and pod status in the job summary.
Also, it includes a success notification with links to deployed services and sets fail-fast to false to ensure all services are deployed.
* Enhances deployment workflow with rollback
Improves the deployment process by adding rollback capabilities on failure, enhanced logging, and deployment summaries in GitHub.
The changes also include updating the deployment strategy from rolling restarts to image updates.
It adds timeout configurations for deployments.
Also adds live URL information to success summary.
* Add GitHub Actions workflows for deployment and PR validation
* Refactor Dockerfiles to streamline installation and add healthcheck
* Refactor Dockerfiles to simplify file copying and improve build process
* Fix CMD syntax in Dockerfiles for consistency
* Fix CMD syntax in Dockerfiles for consistency
* Update Python version to 3.13 and fix CMD syntax in Dockerfiles for consistency
* Updates project dependencies
Updates the project's dependencies in pyproject.toml
to align with the current versions and includes
'langchain-text-splitters' to resolve the name change of
'langchain.text_splitter'.
Adds a start script to `pyproject.toml`.
Updates the poetry lock file.
* Refactor import statement for clarity and add pdfplumber and minio dependencies
* Remove rollback step from deployment workflow and adjust script section in pyproject.toml for clarity
* Replace rollout status with wait for new pods to be ready in deployment workflow
* Increase deployment timeout to 8 minutes and update rollout status check in deployment workflow
* Remove redundant wait command from deployment rollout step in workflow
* Refactor deployment workflow to improve rollout checks and update timeout settings
* Add Discord notifications for successful and failed deployments, and new pull requests
* Enhance Discord notifications with detailed deployment information for success and failure events
* Update PR validation trigger to include opened event and adjust Python version requirement in uv.lock
* Reduce rollout timeout to 30s and add debug steps for deployment status before and after rollout
* Update rollout timeout to 60s and remove debug steps from deployment workflow
* Add SonarQube scan step to PR validation workflow
* Refactor configuration settings to use Pydantic Field for environment variables
* Add env_map for PostgreSQL configuration in Settings
* Refactor PostgreSQL and RabbitMQ configuration to remove env_map and use Field for environment variables
* Update Dockerfile to include Python in CMD and improve uv sync command1 parent 8f603e5 commit 7291469
File tree
9 files changed
+168
-54
lines changed- .github/workflows
- DocsManager
- app/core
- RAGManager
9 files changed
+168
-54
lines changed| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
9 | 9 | | |
10 | 10 | | |
11 | 11 | | |
| 12 | + | |
| 13 | + | |
| 14 | + | |
12 | 15 | | |
13 | 16 | | |
14 | 17 | | |
15 | 18 | | |
| 19 | + | |
16 | 20 | | |
17 | 21 | | |
18 | 22 | | |
| |||
25 | 29 | | |
26 | 30 | | |
27 | 31 | | |
28 | | - | |
| 32 | + | |
29 | 33 | | |
30 | 34 | | |
31 | 35 | | |
| |||
51 | 55 | | |
52 | 56 | | |
53 | 57 | | |
| 58 | + | |
54 | 59 | | |
55 | 60 | | |
56 | 61 | | |
| |||
63 | 68 | | |
64 | 69 | | |
65 | 70 | | |
66 | | - | |
| 71 | + | |
67 | 72 | | |
68 | | - | |
69 | | - | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
70 | 76 | | |
71 | | - | |
| 77 | + | |
72 | 78 | | |
73 | | - | |
74 | | - | |
| 79 | + | |
| 80 | + | |
| 81 | + | |
| 82 | + | |
| 83 | + | |
| 84 | + | |
| 85 | + | |
| 86 | + | |
| 87 | + | |
| 88 | + | |
| 89 | + | |
| 90 | + | |
| 91 | + | |
| 92 | + | |
| 93 | + | |
| 94 | + | |
| 95 | + | |
| 96 | + | |
| 97 | + | |
| 98 | + | |
| 99 | + | |
| 100 | + | |
| 101 | + | |
| 102 | + | |
| 103 | + | |
| 104 | + | |
| 105 | + | |
| 106 | + | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| 120 | + | |
| 121 | + | |
| 122 | + | |
| 123 | + | |
| 124 | + | |
| 125 | + | |
75 | 126 | | |
76 | 127 | | |
77 | 128 | | |
78 | 129 | | |
79 | | - | |
| 130 | + | |
| 131 | + | |
| 132 | + | |
80 | 133 | | |
81 | | - | |
82 | | - | |
83 | | - | |
| 134 | + | |
| 135 | + | |
| 136 | + | |
| 137 | + | |
84 | 138 | | |
| 139 | + | |
85 | 140 | | |
86 | 141 | | |
87 | | - | |
| 142 | + | |
88 | 143 | | |
89 | 144 | | |
90 | 145 | | |
| |||
95 | 150 | | |
96 | 151 | | |
97 | 152 | | |
98 | | - | |
| 153 | + | |
99 | 154 | | |
100 | | - | |
101 | | - | |
102 | | - | |
| 155 | + | |
| 156 | + | |
| 157 | + | |
| 158 | + | |
| 159 | + | |
| 160 | + | |
| 161 | + | |
| 162 | + | |
| 163 | + | |
| 164 | + | |
| 165 | + | |
| 166 | + | |
| 167 | + | |
| 168 | + | |
| 169 | + | |
| 170 | + | |
| 171 | + | |
| 172 | + | |
| 173 | + | |
| 174 | + | |
| 175 | + | |
| 176 | + | |
| 177 | + | |
| 178 | + | |
| 179 | + | |
| 180 | + | |
| 181 | + | |
| 182 | + | |
| 183 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
| 5 | + | |
5 | 6 | | |
6 | 7 | | |
7 | 8 | | |
| |||
66 | 67 | | |
67 | 68 | | |
68 | 69 | | |
| 70 | + | |
| 71 | + | |
| 72 | + | |
| 73 | + | |
| 74 | + | |
| 75 | + | |
| 76 | + | |
69 | 77 | | |
70 | 78 | | |
71 | 79 | | |
| |||
96 | 104 | | |
97 | 105 | | |
98 | 106 | | |
99 | | - | |
| 107 | + | |
| 108 | + | |
| 109 | + | |
| 110 | + | |
| 111 | + | |
| 112 | + | |
| 113 | + | |
| 114 | + | |
| 115 | + | |
| 116 | + | |
| 117 | + | |
| 118 | + | |
| 119 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
| 8 | + | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
6 | 13 | | |
7 | | - | |
8 | 14 | | |
9 | 15 | | |
10 | 16 | | |
| 17 | + | |
| 18 | + | |
| 19 | + | |
| 20 | + | |
11 | 21 | | |
12 | 22 | | |
13 | | - | |
| 23 | + | |
| 24 | + | |
| 25 | + | |
| 26 | + | |
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | 1 | | |
2 | | - | |
| 2 | + | |
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
| |||
29 | 29 | | |
30 | 30 | | |
31 | 31 | | |
32 | | - | |
33 | 32 | | |
34 | 33 | | |
35 | 34 | | |
| |||
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
3 | 3 | | |
4 | 4 | | |
5 | 5 | | |
6 | | - | |
| 6 | + | |
| 7 | + | |
7 | 8 | | |
8 | 9 | | |
9 | | - | |
| 10 | + | |
| 11 | + | |
| 12 | + | |
| 13 | + | |
10 | 14 | | |
11 | 15 | | |
12 | 16 | | |
| |||
18 | 22 | | |
19 | 23 | | |
20 | 24 | | |
| 25 | + | |
| 26 | + | |
| 27 | + | |
21 | 28 | | |
22 | 29 | | |
23 | 30 | | |
24 | 31 | | |
25 | 32 | | |
26 | 33 | | |
27 | 34 | | |
28 | | - | |
| 35 | + | |
29 | 36 | | |
30 | 37 | | |
31 | 38 | | |
| |||
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.
| Original file line number | Diff line number | Diff line change | |
|---|---|---|---|
| |||
1 | | - | |
| 1 | + | |
2 | 2 | | |
3 | 3 | | |
4 | 4 | | |
5 | | - | |
| 5 | + | |
| 6 | + | |
| 7 | + | |
6 | 8 | | |
7 | | - | |
| 9 | + | |
| 10 | + | |
| 11 | + | |
8 | 12 | | |
9 | 13 | | |
10 | 14 | | |
| 15 | + | |
| 16 | + | |
11 | 17 | | |
12 | 18 | | |
13 | | - | |
| 19 | + | |
| 20 | + | |
| 21 | + | |
| 22 | + | |
0 commit comments