Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
90 commits
Select commit Hold shift + click to select a range
7b7a688
Implement request API
Thanhphan1147 Mar 17, 2026
00a3ea7
update model validation before save and add unit tests
Thanhphan1147 Mar 17, 2026
77622dd
Merge branch 'main' into haprox-route-policy-requests-api
Thanhphan1147 Mar 17, 2026
bc11a1f
use environment variables for secret key
Thanhphan1147 Mar 17, 2026
6f1499d
Merge branch 'haprox-route-policy-requests-api' of github.com:canonic…
Thanhphan1147 Mar 17, 2026
6e98d08
ruff format
Thanhphan1147 Mar 17, 2026
f073454
add secret key for testing
Thanhphan1147 Mar 17, 2026
4842e4a
remove port attribute from test
Thanhphan1147 Mar 17, 2026
5b667c0
add requirements.txt for testing
Thanhphan1147 Mar 17, 2026
e719d33
reintroduce port field
Thanhphan1147 Mar 17, 2026
597eb66
Add change artifact
Thanhphan1147 Mar 17, 2026
6f51301
run lint with uv
Thanhphan1147 Mar 17, 2026
7f245ea
add unit testing
Thanhphan1147 Mar 17, 2026
6254485
remove custom test
Thanhphan1147 Mar 17, 2026
ad50aa3
update migration
Thanhphan1147 Mar 17, 2026
3640143
Wrap creation under `transaction.atomic`
Thanhphan1147 Mar 18, 2026
adbf18f
Potential fix for pull request finding
Thanhphan1147 Mar 18, 2026
daef5d3
remove unused code
Thanhphan1147 Mar 18, 2026
78e5dc0
minor fixes to settings
Thanhphan1147 Mar 18, 2026
cd93076
Potential fix for pull request finding
Thanhphan1147 Mar 18, 2026
f93e9cb
use django serializer
Thanhphan1147 Mar 18, 2026
4a92e21
update gitignore
Thanhphan1147 Mar 18, 2026
7b1c9ca
Merge branch 'haprox-route-policy-requests-api' of github.com:canonic…
Thanhphan1147 Mar 18, 2026
22e4aef
update view to use django rest
Thanhphan1147 Mar 19, 2026
266e20e
remove python-version
Thanhphan1147 Mar 19, 2026
d5db748
update gitignore
Thanhphan1147 Mar 19, 2026
34ca372
add missing license headers
Thanhphan1147 Mar 19, 2026
3ea5d0e
Add rules engine
Thanhphan1147 Mar 17, 2026
16833e4
update migration
Thanhphan1147 Mar 17, 2026
efe9beb
update view
Thanhphan1147 Mar 17, 2026
593518e
fix lint
Thanhphan1147 Mar 17, 2026
f23afe1
remove extra tests
Thanhphan1147 Mar 17, 2026
6955b92
add validation and update tests
Thanhphan1147 Mar 18, 2026
ff23fa0
update view
Thanhphan1147 Mar 18, 2026
314a687
remove to_dict
Thanhphan1147 Mar 19, 2026
a10a032
use serializer for get
Thanhphan1147 Mar 19, 2026
c4b297f
use serializer
Thanhphan1147 Mar 19, 2026
4f09fbc
remove unused tests
Thanhphan1147 Mar 19, 2026
ad1c42c
use filter for delete query
Thanhphan1147 Mar 19, 2026
fb9e143
update tests and move validation to serializer class
Thanhphan1147 Mar 19, 2026
b05c12a
Apply suggestion from @github-actions[bot]
Thanhphan1147 Mar 19, 2026
10a2708
Update haproxy-route-policy/policy/migrations/0001_initial.py
Thanhphan1147 Mar 19, 2026
571e469
Revert "Update haproxy-route-policy/policy/migrations/0001_initial.py"
Thanhphan1147 Mar 19, 2026
a22bedd
ignore migration files for license header
Thanhphan1147 Mar 19, 2026
7d3d20b
remove license header from generated files
Thanhphan1147 Mar 19, 2026
e41031c
Merge branch 'haprox-route-policy-requests-api' into haproxy-route-po…
Thanhphan1147 Mar 19, 2026
00c094e
add change artifact
Thanhphan1147 Mar 19, 2026
cd7c49a
add envlist to tox commands
Thanhphan1147 Mar 19, 2026
503a313
update envlist
Thanhphan1147 Mar 19, 2026
fc25b19
Merge branch 'haprox-route-policy-requests-api' into haproxy-route-po…
Thanhphan1147 Mar 19, 2026
a2d1ea2
convert pk to uuid for requests
Thanhphan1147 Mar 19, 2026
a9ceb87
Merge branch 'haprox-route-policy-requests-api' into haproxy-route-po…
Thanhphan1147 Mar 19, 2026
988ba70
Add guard against mal-formed uuid and parameter. Add logging configs,…
Thanhphan1147 Mar 19, 2026
9a246aa
add validators for port and paths
Thanhphan1147 Mar 19, 2026
35a286f
add tests for validators
Thanhphan1147 Mar 19, 2026
a42d4c3
add note for migration
Thanhphan1147 Mar 19, 2026
324114e
Merge remote-tracking branch 'origin/haprox-route-policy-requests-api…
Thanhphan1147 Mar 19, 2026
ee86d7d
ruff format
Thanhphan1147 Mar 19, 2026
9101175
remove unused imports
Thanhphan1147 Mar 19, 2026
69872ec
add static tests
Thanhphan1147 Mar 20, 2026
fee2543
Merge remote-tracking branch 'origin/main' into haproxy-route-policy-…
Thanhphan1147 Mar 20, 2026
b700245
guard rules API against pk
Thanhphan1147 Mar 20, 2026
931b5b1
Merge branch 'main' into haproxy-route-policy-rules-api
alithethird Mar 23, 2026
e3d7215
update view, middle wares and tests
Thanhphan1147 Mar 23, 2026
04f29ca
Merge branch 'haproxy-route-policy-rules-api' of github.com:canonical…
Thanhphan1147 Mar 23, 2026
b4717a4
Merge branch 'main' into haproxy-route-policy-rules-api
Thanhphan1147 Mar 23, 2026
6c1db27
refactor tests by parametrizing
Thanhphan1147 Mar 23, 2026
92fddb4
Merge branch 'haproxy-route-policy-rules-api' of github.com:canonical…
Thanhphan1147 Mar 23, 2026
ea6afe4
group tests by parameterizing
Thanhphan1147 Mar 23, 2026
7ec072c
refactor Rule model to rename attribute from "value" to "parameters"
Thanhphan1147 Mar 23, 2026
9a3d61a
update test name
Thanhphan1147 Mar 23, 2026
6b75a0a
update naming
Thanhphan1147 Mar 23, 2026
5e94907
Add coverage-report as part of unit test suite
Thanhphan1147 Mar 25, 2026
1910db5
update env list
Thanhphan1147 Mar 25, 2026
6a3b4b7
implement rule evaluation
Thanhphan1147 Mar 19, 2026
c564054
add change artifact
Thanhphan1147 Mar 19, 2026
92e6810
update imports
Thanhphan1147 Mar 19, 2026
ed16de9
update naming
Thanhphan1147 Mar 23, 2026
d3b5e6d
update rules matching logic
Thanhphan1147 Mar 25, 2026
ec6d312
update tests
Thanhphan1147 Mar 25, 2026
93ce0f4
save request using serializer with the correct instace
Thanhphan1147 Mar 26, 2026
7172da3
Merge remote-tracking branch 'origin/main' into haproxy-route-policy-…
Thanhphan1147 Mar 26, 2026
3e3a0a9
group tests
Thanhphan1147 Mar 26, 2026
60cc53f
update formatting
Thanhphan1147 Mar 26, 2026
195fa28
Add authentication configuration for django-restframework and adapt t…
Thanhphan1147 Mar 26, 2026
75663fa
add change artifact
Thanhphan1147 Mar 26, 2026
3e6bee2
Add token urls
Thanhphan1147 Mar 26, 2026
7eb5cb8
switch DB engine to postgres
Thanhphan1147 Mar 26, 2026
2b15ad8
add change artifact
Thanhphan1147 Mar 26, 2026
73de689
Merge remote-tracking branch 'origin/main' into haproxy-route-policy-…
Thanhphan1147 Mar 30, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions docs/release-notes/artifacts/pr0413.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
version_schema: 2

changes:
- title: Switched haproxy-route-policy database backend to PostgreSQL
author: tphan025
type: minor
description: >
Changed the default database backend from SQLite to PostgreSQL with
environment-variable-based configuration for host, port, user, password,
and database name. Added psycopg2-binary as a project dependency.
urls:
pr:
- https://github.com/canonical/haproxy-operator/pull/413
related_doc:
related_issue:
visibility: public
highlight: false
14 changes: 11 additions & 3 deletions haproxy-route-policy/haproxy_route_policy/settings.py
Original file line number Diff line number Diff line change
Expand Up @@ -16,6 +16,7 @@
from pathlib import Path
import os
import json
import psycopg2.extensions

# Build paths inside the project like this: BASE_DIR / 'subdir'.
BASE_DIR = Path(__file__).resolve().parent.parent
Expand Down Expand Up @@ -76,9 +77,16 @@

DATABASES = {
"default": {
"ENGINE": "django.db.backends.sqlite3",
"NAME": BASE_DIR / "db.sqlite3",
}
"ENGINE": "django.db.backends.postgresql",
"PASSWORD": os.getenv("DJANGO_DATABASE_PASSWORD", ""),
Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Shouldn't it refuste to start without a password? What are the consequences of having PASSWORD as an empty string?

"HOST": os.getenv("DJANGO_DATABASE_HOST", "localhost"),
"PORT": os.getenv("DJANGO_DATABASE_PORT", 5432),
"USER": os.getenv("DJANGO_DATABASE_USER", "postgres"),
"NAME": os.getenv("DJANGO_DATABASE_NAME", "postgres"),
"OPTIONS": {
"isolation_level": psycopg2.extensions.ISOLATION_LEVEL_SERIALIZABLE,
},
},
}


Expand Down
1 change: 1 addition & 0 deletions haproxy-route-policy/pyproject.toml
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ dependencies = [
"django>=6.0.3",
"djangorestframework>=3.16.1",
"djangorestframework-simplejwt>=5.5.1",
"psycopg2-binary>=2.9.11",
"validators>=0.35.0",
"whitenoise>=6.12.0",
]
Expand Down
43 changes: 43 additions & 0 deletions haproxy-route-policy/uv.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading