Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
32 commits
Select commit Hold shift + click to select a range
b4d5d35
refactoring: ruff checks
milov-dmitriy Jun 3, 2025
feb5d98
refactor: convert to google task_508
milov-dmitriy Jun 3, 2025
e3660a6
refactor: docstrings task_508
milov-dmitriy Jun 3, 2025
23c6d5f
refactor: docstrings convert to google task_508
milov-dmitriy Jun 4, 2025
b7e6052
refactor: docstings
milov-dmitriy Jun 4, 2025
84c0f62
refactor: docstrings task_508
milov-dmitriy Jun 5, 2025
dc3b996
refactor: fix format ":param" task_508
milov-dmitriy Jun 5, 2025
39bf381
refactor: fix all docstrings by darglint2 short-strictness task_508
milov-dmitriy Jun 5, 2025
52d2969
refactor: fix all docstrings by darglint2 short and long strictness t…
milov-dmitriy Jun 5, 2025
593603b
refactor: docstrings darglint finally task_508
milov-dmitriy Jun 5, 2025
a8c6ad7
refactor: add darglint2 task_508
milov-dmitriy Jun 5, 2025
1a97736
refactor: delete darglint, delete useless docstrings. task_508
milov-dmitriy Jun 9, 2025
4182251
Merge remote-tracking branch 'origin/main' into task_508_ruff
milov-dmitriy Jun 9, 2025
5142fe7
refactor: enable darglint2
milov-dmitriy Jun 9, 2025
626a60e
fix: poetry lock task_508
milov-dmitriy Jun 9, 2025
2d8f8c2
refactor: disable darglint2 task_508
milov-dmitriy Jun 9, 2025
053a92a
fix: ANN001 rule folders task_508
milov-dmitriy Jun 9, 2025
295ccb3
refactor: lint task_508
milov-dmitriy Jun 9, 2025
c581f2a
refactor: update comments into ignore list in ruff configuration task…
milov-dmitriy Jun 10, 2025
af274d2
Merge remote-tracking branch 'origin/main' into task_508_ruff
milov-dmitriy Jun 16, 2025
13a1f6e
refactor: fix entity type dao returns task_508
milov-dmitriy Jun 16, 2025
35a225e
Merge remote-tracking branch 'origin/main' into task_508_ruff
milov-dmitriy Jun 23, 2025
a81c520
delete: not important task_508
milov-dmitriy Jun 23, 2025
2ec3c91
refactor: fix nopa task_508
milov-dmitriy Jun 23, 2025
5f3c9d7
refactor: fix noqa task_508
milov-dmitriy Jun 23, 2025
a9fa9c9
refactor: fix docstrings task_508
milov-dmitriy Jun 23, 2025
d9bb85d
refactor: comma task_508
milov-dmitriy Jun 23, 2025
f6b78ac
Merge remote-tracking branch 'origin/main' into task_508_ruff
milov-dmitriy Jun 23, 2025
c5aeadc
Merge remote-tracking branch 'origin/main' into task_508_ruff
milov-dmitriy Jun 24, 2025
4263a4f
Merge remote-tracking branch 'origin/main' into task_508_ruff
milov-dmitriy Jun 27, 2025
0b67f53
Merge remote-tracking branch 'origin/main' into task_508_ruff
milov-dmitriy Jun 30, 2025
f6f8ca3
refactor: dns docstrings task_508
milov-dmitriy Jun 30, 2025
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
40 changes: 30 additions & 10 deletions .dns/dns_api.py
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@
import logging
import os
import re
import subprocess
import subprocess # noqa: S404
from collections import defaultdict
from dataclasses import dataclass
from enum import StrEnum
Expand Down Expand Up @@ -189,7 +189,7 @@ class BindDNSServerManager:
"""Bind9 DNS server manager."""

@staticmethod
def _get_zone_obj_by_zone_name(zone_name) -> dns.zone.Zone:
def _get_zone_obj_by_zone_name(zone_name: str) -> dns.zone.Zone:
"""Get DNS zone object by zone name.

Algorithm:
Expand Down Expand Up @@ -582,7 +582,7 @@ def restart(self) -> None:
Algorithm:
1. Call rndc reconfig.
"""
subprocess.run( # noqa: S603
subprocess.run(
[
"/usr/sbin/rndc",
"reconfig",
Expand Down Expand Up @@ -846,8 +846,8 @@ def update_record(
self,
old_record: DNSRecord,
new_record: DNSRecord,
record_type,
zone_name,
record_type: DNSRecordType,
zone_name: str,
) -> None:
"""Update a record in a zone (value or TTL).

Expand Down Expand Up @@ -998,7 +998,11 @@ def get_server_settings() -> list[DNSServerParam]:


async def get_dns_manager() -> type[BindDNSServerManager]:
"""Get DNS server manager client."""
"""Get DNS server manager client.

Returns:
BindDNSServerManager: dns manager.
"""
return BindDNSServerManager()


Expand Down Expand Up @@ -1043,15 +1047,23 @@ def delete_zone(
async def get_all_records_by_zone(
dns_manager: Annotated[BindDNSServerManager, Depends(get_dns_manager)],
) -> list[DNSZone]:
"""Get all DNS records grouped by zone."""
"""Get all DNS records grouped by zone.

Returns:
list[DNSZone]: List of DNSZone objects with records.
"""
return dns_manager.get_all_records()


@zone_router.get("/forward")
async def get_forward_zones(
dns_manager: Annotated[BindDNSServerManager, Depends(get_dns_manager)],
) -> list[DNSForwardZone]:
"""Get all forward DNS zones."""
"""Get all forward DNS zones.

Returns:
list[DNSForwardZone]: List of DNSForwardZone objects.
"""
return await dns_manager.get_forward_zones()


Expand Down Expand Up @@ -1141,7 +1153,11 @@ def update_dns_server_settings(
async def get_server_settings(
dns_manager: Annotated[BindDNSServerManager, Depends(get_dns_manager)],
) -> list[DNSServerParam]:
"""Get list of modifiable server settings."""
"""Get list of modifiable server settings.

Returns:
list[DNSServerParam]: List of server parameters.
"""
return dns_manager.get_server_settings()


Expand All @@ -1155,7 +1171,11 @@ def setup_server(


def create_app() -> FastAPI:
"""Create FastAPI app."""
"""Create FastAPI app.

Returns:
FastAPI: FastAPI application instance.
"""
app = FastAPI(
name="DNSServerManager",
title="DNSServerManager",
Expand Down
8 changes: 5 additions & 3 deletions .docker/lint.Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -21,7 +21,7 @@ RUN --mount=type=cache,target=$POETRY_CACHE_DIR poetry install --with linters --
# The runtime image, used to just run the code provided its virtual environment
FROM python:3.12.6-slim-bookworm AS runtime

WORKDIR /app
WORKDIR /md
RUN set -eux;

ENV VIRTUAL_ENV=/venvs/.venv \
Expand All @@ -31,5 +31,7 @@ ENV VIRTUAL_ENV=/venvs/.venv \

COPY --from=builder ${VIRTUAL_ENV} ${VIRTUAL_ENV}

COPY app /app
COPY pyproject.toml ./
COPY app ./app
COPY tests ./tests
COPY .kerberos ./.kerberos
COPY pyproject.toml ./
6 changes: 3 additions & 3 deletions .github/workflows/checks.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ jobs:
- name: Run linters
env:
NEW_TAG: linter
run: docker run $NEW_TAG ruff check --output-format=github .
run: docker run $NEW_TAG ruff check --output-format=github . --preview

ruff_format:
runs-on: ubuntu-latest
Expand All @@ -46,7 +46,7 @@ jobs:
- name: Run linters
env:
NEW_TAG: linter
run: docker run $NEW_TAG ruff format --check
run: docker run $NEW_TAG ruff format --check --preview

mypy:
runs-on: ubuntu-latest
Expand Down Expand Up @@ -86,4 +86,4 @@ jobs:
- name: Run tests
env:
TAG: tests
run: docker compose -f docker-compose.remote.test.yml up --no-log-prefix --attach md-test --exit-code-from md-test
run: docker compose -f docker-compose.remote.test.yml up --no-log-prefix --attach md-test --exit-code-from md-test
Loading