Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
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
4 changes: 2 additions & 2 deletions .github/workflows/tests.yml
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ jobs:
strategy:
matrix:
python:
- "3.9"
- "3.13"
- "3.11" # Debian Bookworm
- "3.13" # Debian Trixie

services:
db:
Expand Down
5 changes: 5 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -80,3 +80,8 @@ __pycache__/

# Pipenv
/requirements.txt

# Static files (runtime)
serveradmin/_static
serveradmin/_media

8 changes: 4 additions & 4 deletions Pipfile
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ name = "pypi"
# Like ipaddress but for MACs
netaddr = ">=0.8.0,<1.4.0"
# Debian stretch version
Django = "~=4.2"
Django = "~=5.2"
# postgres lib used by django
psycopg2-binary = "~=2.9"
# Django support for network address fields on PostgreSQL
Expand All @@ -21,7 +21,7 @@ Pillow = "~=10.0"
dateparser = "~=1.1"
# Use Twelve-factor methodology to configure environment variables
django-environ = "<1.0.0"
django_compressor = "~=4.4"
django_compressor = "~=4.6"
# Serveradmin extras:
paramiko = ">=2.7,<4"
pexpect = "<5.0.0"
Expand All @@ -33,7 +33,7 @@ typing-extensions = "*"
sphinx = "~=7.0"
sphinx-rtd-theme = "~=2.0"
# Provides runserver_plus and other gadgets
django-extensions = "<4.0.0"
django-extensions = "<5.0.0"
# Required for runserver_plus to work
Werkzeug = "<4.0.0"
# Used to package a single executable according to PEP 441
Expand All @@ -46,7 +46,7 @@ faker = "<14.0.0"
tblib = "*"

[requires]
python_version = "3.13"
python_version = ">=3.11,<3.14"

[production]
sentry-sdk = {version = "*", extras = ["django"]}
142 changes: 71 additions & 71 deletions Pipfile.lock

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

4 changes: 2 additions & 2 deletions serveradmin/api/decorators.py
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
Copyright (c) 2019 InnoGames GmbH
"""

from datetime import datetime, timedelta
from datetime import datetime, timedelta, timezone as dt_timezone
from functools import update_wrapper
from logging import getLogger
from base64 import b64decode
Expand Down Expand Up @@ -55,7 +55,7 @@ def _wrapper(request):
token = request.META.get('HTTP_X_SECURITYTOKEN')
then = datetime.utcfromtimestamp(
int(request.META['HTTP_X_TIMESTAMP'])
).replace(tzinfo=timezone.utc)
).replace(tzinfo=dt_timezone.utc)
body_json = json.loads(body) if body else None
status_code = 200

Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
# Generated by Django 4.2.30 on 2026-06-12 14:08

from django.db import migrations, models
import serveradmin.graphite.validators


class Migration(migrations.Migration):

dependencies = [
('graphite', '0002_template_and_variation_name_validation'),
]

operations = [
migrations.AlterField(
model_name='collection',
name='params',
field=models.TextField(blank=True, help_text='\n Part of the URL after "?" to GET the graph or the value from\n the Graphite. It will be concatenated with the params for\n the template and the variation. Make sure it doesn\'t include\n any character that doesn\'t allowed on URL\'s. Also do not include "?"\n and do not put "&" at the end.\n\n The params can include variables inside curly brackets like\n "{hostname}".\n Variables can be any string attribute except multiple ones related to\n the servers. See Python String Formatting documentation [1] for other\n formatting options. The dots inside the values are replaced with\n underscores in advance. If you need to include a brace character in\n the parameters, it can be escaped by doubling: \'{{ and }}\'.\n\n Example params:\n\n width=500&height=500\n\n [1] https://docs.python.org/2/library/string.html#formatstrings\n ', validators=[serveradmin.graphite.validators.validate_unique_uri_parameters]),
),
migrations.AlterField(
model_name='numeric',
name='params',
field=models.TextField(blank=True, help_text='Same as the params of the collections', validators=[serveradmin.graphite.validators.validate_unique_uri_parameters]),
),
migrations.AlterField(
model_name='template',
name='params',
field=models.TextField(blank=True, help_text='\n Same as the params of the collections.\n ', validators=[serveradmin.graphite.validators.validate_unique_uri_parameters]),
),
migrations.AlterField(
model_name='variation',
name='params',
field=models.TextField(blank=True, help_text='\n Same as the params of the collections.\n ', validators=[serveradmin.graphite.validators.validate_unique_uri_parameters]),
),
]
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
# Generated by Django 5.2.15 on 2026-06-12 14:00

from django.db import migrations


class Migration(migrations.Migration):

dependencies = [
('serverdb', '0023_attribute_multi_target_servertype'),
]

operations = [
migrations.RenameIndex(
model_name='serverbooleanattribute',
new_name='server_bool_attribu_25fb6c_idx',
old_fields=('attribute',),
),
migrations.RenameIndex(
model_name='serverdateattribute',
new_name='server_date_attribu_12cbb2_idx',
old_fields=('attribute', 'value'),
),
migrations.RenameIndex(
model_name='serverdatetimeattribute',
new_name='server_date_attribu_f35d26_idx',
old_fields=('attribute', 'value'),
),
migrations.RenameIndex(
model_name='serverinetattribute',
new_name='server_inet_attribu_8feba2_idx',
old_fields=('attribute', 'value'),
),
migrations.RenameIndex(
model_name='servermacaddressattribute',
new_name='server_maca_attribu_1bcfb5_idx',
old_fields=('attribute', 'value'),
),
migrations.RenameIndex(
model_name='servernumberattribute',
new_name='server_numb_attribu_6223e1_idx',
old_fields=('attribute', 'value'),
),
migrations.RenameIndex(
model_name='serverrelationattribute',
new_name='server_rela_attribu_ecf9db_idx',
old_fields=('attribute', 'value'),
),
migrations.RenameIndex(
model_name='serverstringattribute',
new_name='server_stri_attribu_59edc4_idx',
old_fields=('attribute', 'value'),
),
]
Loading
Loading