Skip to content

Haproxy route policy rules api#400

Merged
Thanhphan1147 merged 74 commits intomainfrom
haproxy-route-policy-rules-api
Mar 25, 2026
Merged

Haproxy route policy rules api#400
Thanhphan1147 merged 74 commits intomainfrom
haproxy-route-policy-rules-api

Conversation

@Thanhphan1147
Copy link
Copy Markdown
Collaborator

@Thanhphan1147 Thanhphan1147 commented Mar 17, 2026

Implement the API to manage rules for the haproxy-route-policy charm

Checklist

@Thanhphan1147 Thanhphan1147 requested a review from a team as a code owner March 17, 2026 20:29
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

license-eye has checked 383 files.

Valid Invalid Ignored Fixed
135 4 244 0
Click to see the invalid file list
  • haproxy-route-policy/.python-version
  • haproxy-route-policy/policy/migrations/init.py
  • haproxy-route-policy/policy/migrations/0002_rule_alter_backendrequest_hostname_acls_and_more.py
  • haproxy-route-policy/policy/migrations/0001_initial.py
Use this command to fix any missing license headers
```bash

docker run -it --rm -v $(pwd):/github/workspace apache/skywalking-eyes header fix

</details>

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

license-eye has checked 383 files.

Valid Invalid Ignored Fixed
135 4 244 0
Click to see the invalid file list
  • haproxy-route-policy/.python-version
  • haproxy-route-policy/policy/migrations/init.py
  • haproxy-route-policy/policy/migrations/0001_initial.py
  • haproxy-route-policy/policy/migrations/0002_rule_alter_backendrequest_hostname_acls_and_more.py
Use this command to fix any missing license headers
```bash

docker run -it --rm -v $(pwd):/github/workspace apache/skywalking-eyes header fix

</details>

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

license-eye has checked 383 files.

Valid Invalid Ignored Fixed
135 4 244 0
Click to see the invalid file list
  • haproxy-route-policy/.python-version
  • haproxy-route-policy/policy/migrations/init.py
  • haproxy-route-policy/policy/migrations/0002_rule_alter_backendrequest_hostname_acls_and_more.py
  • haproxy-route-policy/policy/migrations/0001_initial.py
Use this command to fix any missing license headers
```bash

docker run -it --rm -v $(pwd):/github/workspace apache/skywalking-eyes header fix

</details>

Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

license-eye has checked 383 files.

Valid Invalid Ignored Fixed
135 4 244 0
Click to see the invalid file list
  • haproxy-route-policy/.python-version
  • haproxy-route-policy/policy/migrations/init.py
  • haproxy-route-policy/policy/migrations/0002_rule_alter_backendrequest_hostname_acls_and_more.py
  • haproxy-route-policy/policy/migrations/0001_initial.py
Use this command to fix any missing license headers
```bash

docker run -it --rm -v $(pwd):/github/workspace apache/skywalking-eyes header fix

</details>

Thanhphan1147 and others added 5 commits March 18, 2026 09:33
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com>
@Thanhphan1147 Thanhphan1147 force-pushed the haproxy-route-policy-rules-api branch from c26b2ea to fe9edfd Compare March 18, 2026 08:58
Copy link
Copy Markdown
Contributor

@github-actions github-actions bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

license-eye has checked 383 files.

Valid Invalid Ignored Fixed
135 4 244 0
Click to see the invalid file list
  • haproxy-route-policy/.python-version
  • haproxy-route-policy/policy/migrations/init.py
  • haproxy-route-policy/policy/migrations/0001_initial.py
  • haproxy-route-policy/policy/migrations/0002_rule_alter_backendrequest_hostname_acls_and_more.py
Use this command to fix any missing license headers
```bash

docker run -it --rm -v $(pwd):/github/workspace apache/skywalking-eyes header fix

</details>

@github-actions
Copy link
Copy Markdown
Contributor

Test results for commit 1910db5

Test coverage for 1910db5

Name                                       Stmts   Miss Branch BrPart  Cover   Missing
--------------------------------------------------------------------------------------
lib/charms/haproxy/v0/ddos_protection.py     154     51     34      8    64%   157-174, 183-187, 288, 316-318, 323, 326-330, 342-344, 381, 387, 393, 396, 424, 495-498, 510-529
src/charm.py                                  21      0      0      0   100%
src/state.py                                  43      0      0      0   100%
--------------------------------------------------------------------------------------
TOTAL                                        218     51     34      8    73%

Static code analysis report

Run started:2026-03-25 13:50:10.862373+00:00

Test results:
  No issues identified.

Code scanned:
  Total lines of code: 333
  Total lines skipped (#nosec): 0
  Total potential issues skipped due to specifically being disabled (e.g., #nosec BXXX): 0

Run metrics:
  Total issues (by severity):
  	Undefined: 0
  	Low: 0
  	Medium: 0
  	High: 0
  Total issues (by confidence):
  	Undefined: 0
  	Low: 0
  	Medium: 0
  	High: 0
Files skipped (0):

@github-actions
Copy link
Copy Markdown
Contributor

Test results for commit 1910db5

Test coverage for 1910db5

Name                                         Stmts   Miss Branch BrPart  Cover   Missing
----------------------------------------------------------------------------------------
lib/charms/haproxy/v0/ddos_protection.py       154     42     34      3    72%   157-174, 183-187, 265, 284, 415-418, 422-424, 459-478, 514-529
lib/charms/haproxy/v0/spoe_auth.py             158     55     32      2    59%   203, 304-306, 315, 354-381, 392-402, 441-442, 459-472, 484-501, 522-525, 529-531
lib/charms/haproxy/v1/haproxy_route_tcp.py     385    153     78      8    56%   209, 212, 281, 290-293, 297-300, 318-321, 336, 342-347, 447, 452, 829-832, 836, 863-874, 897-900, 904-906, 926-928, 1042-1083, 1087-1093, 1097, 1166-1195, 1266-1305, 1335-1337, 1362-1364, 1386-1390, 1409-1411, 1429-1431, 1438-1444, 1452-1454, 1462-1463, 1474-1481, 1494-1505, 1513-1534, 1546-1547, 1558-1559, 1570-1573, 1584-1585, 1614-1623, 1639-1642, 1658-1669, 1685-1688, 1706-1717, 1728-1729, 1737-1738, 1746-1747, 1758-1761
lib/charms/haproxy/v2/haproxy_route.py         385     53     98     26    82%   181, 257, 266-269, 294-297, 318-323, 673-674, 860->exit, 867, 893-904, 927-930, 934-936, 955-957, 1129-1135, 1139, 1336->1338, 1340->1342, 1342->1344, 1344->1346, 1346->1348, 1348->1351, 1386, 1394, 1399, 1402, 1427, 1455, 1459, 1463, 1486, 1506, 1515-1516, 1518->exit, 1554-1556, 1576, 1590, 1595-1597
src/charm.py                                   286     69     78     11    71%   100, 228, 236-252, 257, 262, 279, 290, 296-297, 331-351, 455-463, 491-504, 517-522, 531, 544-545, 552, 562, 572, 578-584, 600, 650-653, 659->658, 672-675
src/haproxy.py                                 127     31      6      2    75%   110-116, 136-158, 268-269, 272, 280-286, 314, 344-355, 367-369, 379-380
src/http_interface.py                           73     25      4      0    62%   74, 83, 92, 106-108, 126, 138, 150, 162, 170-175, 187, 194, 202, 217-227
src/state/charm_state.py                        77     15     14      4    79%   93-95, 100-101, 104, 145-150, 159, 208-210, 222-223
src/state/ddos_protection.py                    39      0      2      0   100%
src/state/exception.py                           1      0      0      0   100%
src/state/ha.py                                 30      1      2      1    94%   50
src/state/haproxy_route.py                     197     14     60      5    90%   132, 161-170, 194, 227, 297, 346-348, 365
src/state/haproxy_route_tcp.py                 120     17     42      1    80%   92-94, 109->112, 147-160
src/state/ingress.py                            38      0      4      0   100%
src/state/ingress_per_unit.py                   32      0      4      0   100%
src/state/spoe_auth.py                          26      2      2      0    93%   63-64
src/state/tls.py                                39      7     12      4    78%   74, 77-78, 127-135, 141-142
src/state/validation.py                         46     23      8      1    44%   66-67, 71-98
src/tls_relation.py                             61      3     14      3    92%   86->85, 118-128, 140->142
----------------------------------------------------------------------------------------
TOTAL                                         2274    510    494     71    74%

Static code analysis report

Working... ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ 100% 0:00:00
Run started:2026-03-25 14:56:15.262693+00:00

Test results:
  No issues identified.

Code scanned:
  Total lines of code: 10203
  Total lines skipped (#nosec): 13
  Total potential issues skipped due to specifically being disabled (e.g., #nosec BXXX): 10

Run metrics:
  Total issues (by severity):
  	Undefined: 0
  	Low: 0
  	Medium: 0
  	High: 0
  Total issues (by confidence):
  	Undefined: 0
  	Low: 0
  	Medium: 0
  	High: 0
Files skipped (0):

@github-actions
Copy link
Copy Markdown
Contributor

Test results for commit 1910db5

Test coverage for 1910db5

Name                                                                 Stmts   Miss  Cover
----------------------------------------------------------------------------------------
haproxy_route_policy/__init__.py                                         0      0   100%
haproxy_route_policy/settings.py                                        27      1    96%
haproxy_route_policy/test_settings.py                                    3      0   100%
haproxy_route_policy/urls.py                                             4      0   100%
manage.py                                                               11      2    82%
policy/__init__.py                                                       0      0   100%
policy/apps.py                                                           3      0   100%
policy/db_models.py                                                     49      2    96%
policy/middleware.py                                                    16      4    75%
policy/migrations/0001_initial.py                                        7      0   100%
policy/migrations/0002_rule_alter_backendrequest_paths_and_more.py       6      0   100%
policy/migrations/__init__.py                                            0      0   100%
policy/serializers.py                                                   25      0   100%
policy/tests/__init__.py                                                 0      0   100%
policy/tests/test_models.py                                             85      0   100%
policy/tests/test_views.py                                             189      0   100%
policy/urls.py                                                           3      0   100%
policy/views.py                                                         77      6    92%
----------------------------------------------------------------------------------------
TOTAL                                                                  505     15    97%

Static code analysis report

Run started:2026-03-25 14:20:06.432649+00:00

Test results:
  No issues identified.

Code scanned:
  Total lines of code: 1046
  Total lines skipped (#nosec): 0
  Total potential issues skipped due to specifically being disabled (e.g., #nosec BXXX): 0

Run metrics:
  Total issues (by severity):
  	Undefined: 0
  	Low: 0
  	Medium: 0
  	High: 0
  Total issues (by confidence):
  	Undefined: 0
  	Low: 0
  	Medium: 0
  	High: 0
Files skipped (0):

@github-actions
Copy link
Copy Markdown
Contributor

Test results for commit 1910db5

Test coverage for 1910db5

Name                               Stmts   Miss Branch BrPart  Cover   Missing
------------------------------------------------------------------------------
src/charm.py                          45      9      2      0    77%   65-91, 96-98
src/haproxy_spoe_auth_service.py      44     16      2      0    61%   56-64, 76-82, 93-117
src/state.py                          55     15      6      1    67%   64-66, 79, 125-146
------------------------------------------------------------------------------
TOTAL                                144     40     10      1    68%

Static code analysis report

Run started:2026-03-25 13:30:51.377695

Test results:
  No issues identified.

Code scanned:
  Total lines of code: 409
  Total lines skipped (#nosec): 1
  Total potential issues skipped due to specifically being disabled (e.g., #nosec BXXX): 1

Run metrics:
  Total issues (by severity):
  	Undefined: 0
  	Low: 0
  	Medium: 0
  	High: 0
  Total issues (by confidence):
  	Undefined: 0
  	Low: 0
  	Medium: 0
  	High: 0
Files skipped (0):

@Thanhphan1147 Thanhphan1147 merged commit a3f5bea into main Mar 25, 2026
89 checks passed
@Thanhphan1147 Thanhphan1147 deleted the haproxy-route-policy-rules-api branch March 25, 2026 17:41
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants