Skip to content
This repository was archived by the owner on Feb 17, 2026. It is now read-only.

Commit 73e1cfe

Browse files
author
Matt Griswold
committed
v1.14.0
1 parent ea24ff4 commit 73e1cfe

File tree

29 files changed

+1515
-375
lines changed

29 files changed

+1515
-375
lines changed

.pre-commit-config.yaml

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,8 @@ repos:
3737
name: flake8
3838
entry: poetry run flake8 .
3939
language: system
40-
pass_filenames: false
40+
pass_filenames: false
41+
- repo: https://github.com/pre-commit/mirrors-eslint
42+
rev: '' # Use the sha / tag you want to point at
43+
hooks:
44+
- id: eslint

CHANGELOG.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,11 @@
44
## Unreleased
55

66

7+
## 1.14.0
8+
### Added
9+
- Metrics support
10+
11+
712
## 1.13.0
813
### Added
914
- task queue health checks and display

CHANGELOG.yaml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ Unreleased:
55
deprecated: []
66
removed: []
77
security: []
8+
1.14.0:
9+
added:
10+
- Metrics support
811
1.13.0:
912
added:
1013
- task queue health checks and display

Ctl/VERSION

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
1.13.0
1+
1.14.0

Ctl/dev/docker-compose.yml

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -16,6 +16,17 @@ services:
1616
- ./initdb.d:/docker-entrypoint-initdb.d
1717
- postgres_data:/var/lib/postgresql/data
1818

19+
victoriametrics:
20+
image: victoriametrics/victoria-metrics
21+
ports:
22+
- "8428:8428"
23+
volumes:
24+
- victoria-metrics-data:/victoria-metrics-data
25+
command:
26+
- '--storageDataPath=/victoria-metrics-data'
27+
- '--httpListenAddr=:8428'
28+
- '--httpAuth.username=fullctl'
29+
- '--httpAuth.password=devPASSWORD'
1930

2031
aaactl_web:
2132
user: "0:0"
@@ -194,6 +205,7 @@ services:
194205
- ../../../ripestat-data-parser/ripestat:/srv/service/venv/lib/python3.11/site-packages/ripestat:Z
195206
- ../../../prefix-meta-sorbs/src/prefix_meta_sorbs:/srv/service/venv/lib/python3.11/site-packages/prefix_meta_sorbs:Z
196207
- ../../../prefix-meta-arin/src/prefix_meta_arin:/srv/service/venv/lib/python3.11/site-packages/prefix_meta_arin:Z
208+
- ../../../prefixctl-reputation/tests:/srv/service/main/tests/prefixctl_reputation_tests
197209

198210
prefixctl_tasks:
199211
user: "0:0"
@@ -285,3 +297,4 @@ services:
285297

286298
volumes:
287299
postgres_data:
300+
victoria-metrics-data:

poetry.lock

Lines changed: 403 additions & 349 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

pyproject.toml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
[tool.poetry]
22
name = "fullctl"
33
repository = "https://github.com/fullctl/fullctl"
4-
version = "1.13.0"
4+
version = "1.14.0"
55
description = "Core classes and functions for service applications"
66
authors = ["FullCtl <code@fullctl.com>"]
77
readme = "README.md"
@@ -40,6 +40,8 @@ django-structlog = ">=2.1.3"
4040
django-filter = ">=23.4"
4141
django-cors-headers = ">=4.3.1"
4242

43+
pydantic = ">=2.6.3"
44+
4345
# can't release to pypi with git reference
4446
# social-auth-app-django = { git = "https://github.com/python-social-auth/social-app-django.git", branch="master" }
4547

src/fullctl/django/context_processors.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -81,7 +81,7 @@ def account_service(request):
8181
# otherwise check if the organization of the request has a branding applied
8282
# to it through aaactl (either on the org directly or through a BRANDING_ORG
8383
# set in aaactl)
84-
elif not branding:
84+
elif not branding and not local_auth:
8585

8686
# AAACTL SELECTS BRANDING
8787

src/fullctl/django/inet/validators.py

Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,16 @@
44
from django.core.exceptions import ValidationError
55
from django.utils.translation import gettext_lazy as _
66

7+
__all__ = [
8+
"validate_ip4",
9+
"validate_ip6",
10+
"validate_prefix",
11+
"validate_masklength_range",
12+
"validate_mac_address",
13+
"validate_mac_addresses",
14+
"validate_as_set",
15+
]
16+
717
# valid IRR source identifiers
818
# reference: http://www.irr.net/docs/list.html
919
IRR_SOURCE = (
@@ -54,6 +64,18 @@ def validate_masklength_range(value):
5464
raise ValidationError("Needs to be [0-9]+..[0-9]+ or 'exact'")
5565

5666

67+
def validate_mac_address(value: str):
68+
if not re.match(r"^([0-9A-Fa-f]{2}[:-]){5}([0-9A-Fa-f]{2})$", value):
69+
raise ValidationError("Invalid MAC address")
70+
71+
def validate_mac_addresses(value: list[str]):
72+
for mac in value:
73+
try:
74+
validate_mac_address(mac)
75+
except ValidationError:
76+
raise ValidationError(f"Invalid MAC address: {mac}")
77+
78+
5779
def validate_as_set(value):
5880
"""
5981
Validates irr as-set string
Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,2 +1,3 @@
11
from fullctl.django.models.abstract.base import * # noqa: F401, F403
22
from fullctl.django.models.abstract.service_bridge import * # noqa: F401, F403
3+
from fullctl.django.models.abstract.metric import * # noqa: F401, F403

0 commit comments

Comments
 (0)