Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
34 commits
Select commit Hold shift + click to select a range
63dc2d0
feat: Add pilot management: create/delete/patch and query
Jun 13, 2025
9cfbb28
fix: Add more security to the pilot creation router
Robin-Van-de-Merghel Aug 5, 2025
ac4d15a
fix: Fixed a micro typo
Robin-Van-de-Merghel Aug 5, 2025
feb866b
chore: regenerate client
fstagni Mar 24, 2026
c0265b3
chore: regenerate client
fstagni Mar 25, 2026
7dd386d
fix: added __all__
fstagni Mar 25, 2026
5154785
fix: added query validation
fstagni Mar 25, 2026
52d3c81
chore: regenerate client
fstagni Mar 25, 2026
cf67f58
fix: broad rework of the pilots stack
aldbr Apr 14, 2026
18a025f
chore: corrected spelling
fstagni Jun 10, 2026
50849d8
chore: from fastapi.status to HTTPStatus
fstagni Jun 10, 2026
ba84dd4
chore: regenerate client
fstagni Jul 9, 2026
ed03ea2
chore: use pixi.lock from upstream/main
fstagni Jul 9, 2026
f2bff81
fix: removed pilots delete route
fstagni Jul 9, 2026
fc1f80a
fix: register_pilot route moved to single pilot registration
fstagni Jul 9, 2026
97140cd
feat: added insert and get pilot output
fstagni Jul 9, 2026
a89b8a1
test: add DB-level pilot tests and remove dead router tests
fstagni Jul 9, 2026
afe2c12
fix: regenerate client
fstagni Jul 9, 2026
31288af
fix: streamline pilot routes/logic/db according to the legacy PilotMa…
aldbr Aug 5, 2026
820c008
Merge remote-tracking branch 'upstream/main' into pr-570-review-fixes
aldbr Aug 5, 2026
241b5f0
fix: make pilot exceptions HTTP-agnostic and translate them in the ro…
aldbr Aug 5, 2026
b443953
refactor: align pilots with latest changes in diracx
aldbr Aug 5, 2026
59f33a3
style: align pilot type hints, imports, and docs with jobs conventions
aldbr Aug 5, 2026
3e85b66
fix: make sure the VO exists when registering a pilot
aldbr Aug 5, 2026
0334775
chore: add gh issue ref to TODO in pilot management
aldbr Aug 5, 2026
77df512
refactor: introduce a PilotRegistrationParams model to register a pilot
aldbr Aug 5, 2026
218ea4b
refactor: update clients
aldbr Aug 5, 2026
da8e0ec
docs: fix copy-pasted docstring in DummyDB.summary
aldbr Aug 5, 2026
e0ca3b6
fix: drop dead foreign-key error branch in assign_jobs_to_pilot
aldbr Aug 5, 2026
e76ac62
fix: align PilotAgents indexes with the legacy DIRAC schema
aldbr Aug 5, 2026
27d0a9d
feat: return 201 Created from job and pilot creation endpoints
aldbr Aug 5, 2026
ee68b75
test: cover pilot VO isolation at the logic level
aldbr Aug 5, 2026
f9d2c30
refactor: drop unused job-ownership branch from the pilot access policy
aldbr Aug 5, 2026
5b4b7ed
feat: validate pilot string lengths at the API boundary
aldbr Aug 5, 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
4 changes: 3 additions & 1 deletion .pre-commit-config.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -69,7 +69,9 @@ repos:
rev: v2.4.3
hooks:
- id: codespell
args: ["-w"]
# Configuration lives in [tool.codespell] in pyproject.toml
additional_dependencies:
- tomli
exclude: pixi\.lock$

- repo: https://github.com/adamchainz/blacken-docs
Expand Down
12 changes: 11 additions & 1 deletion diracx-client/src/diracx/client/_generated/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,14 @@
from . import models as _models
from ._configuration import DiracConfiguration
from ._utils.serialization import Deserializer, Serializer
from .operations import AuthOperations, ConfigOperations, JobsOperations, RssOperations, WellKnownOperations
from .operations import (
AuthOperations,
ConfigOperations,
JobsOperations,
PilotsOperations,
RssOperations,
WellKnownOperations,
)


class Dirac: # pylint: disable=client-accepts-api-version-keyword
Expand All @@ -29,6 +36,8 @@ class Dirac: # pylint: disable=client-accepts-api-version-keyword
:vartype config: _generated.operations.ConfigOperations
:ivar jobs: JobsOperations operations
:vartype jobs: _generated.operations.JobsOperations
:ivar pilots: PilotsOperations operations
:vartype pilots: _generated.operations.PilotsOperations
:ivar rss: RssOperations operations
:vartype rss: _generated.operations.RssOperations
:keyword endpoint: Service URL. Required. Default value is "".
Expand Down Expand Up @@ -67,6 +76,7 @@ def __init__( # pylint: disable=missing-client-constructor-parameter-credential
self.auth = AuthOperations(self._client, self._config, self._serialize, self._deserialize)
self.config = ConfigOperations(self._client, self._config, self._serialize, self._deserialize)
self.jobs = JobsOperations(self._client, self._config, self._serialize, self._deserialize)
self.pilots = PilotsOperations(self._client, self._config, self._serialize, self._deserialize)
self.rss = RssOperations(self._client, self._config, self._serialize, self._deserialize)

def send_request(self, request: HttpRequest, *, stream: bool = False, **kwargs: Any) -> HttpResponse:
Expand Down
12 changes: 11 additions & 1 deletion diracx-client/src/diracx/client/_generated/aio/_client.py
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,14 @@
from .. import models as _models
from .._utils.serialization import Deserializer, Serializer
from ._configuration import DiracConfiguration
from .operations import AuthOperations, ConfigOperations, JobsOperations, RssOperations, WellKnownOperations
from .operations import (
AuthOperations,
ConfigOperations,
JobsOperations,
PilotsOperations,
RssOperations,
WellKnownOperations,
)


class Dirac: # pylint: disable=client-accepts-api-version-keyword
Expand All @@ -29,6 +36,8 @@ class Dirac: # pylint: disable=client-accepts-api-version-keyword
:vartype config: _generated.aio.operations.ConfigOperations
:ivar jobs: JobsOperations operations
:vartype jobs: _generated.aio.operations.JobsOperations
:ivar pilots: PilotsOperations operations
:vartype pilots: _generated.aio.operations.PilotsOperations
:ivar rss: RssOperations operations
:vartype rss: _generated.aio.operations.RssOperations
:keyword endpoint: Service URL. Required. Default value is "".
Expand Down Expand Up @@ -67,6 +76,7 @@ def __init__( # pylint: disable=missing-client-constructor-parameter-credential
self.auth = AuthOperations(self._client, self._config, self._serialize, self._deserialize)
self.config = ConfigOperations(self._client, self._config, self._serialize, self._deserialize)
self.jobs = JobsOperations(self._client, self._config, self._serialize, self._deserialize)
self.pilots = PilotsOperations(self._client, self._config, self._serialize, self._deserialize)
self.rss = RssOperations(self._client, self._config, self._serialize, self._deserialize)

def send_request(
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -14,6 +14,7 @@
from ._operations import AuthOperations # type: ignore
from ._operations import ConfigOperations # type: ignore
from ._operations import JobsOperations # type: ignore
from ._operations import PilotsOperations # type: ignore
from ._operations import RssOperations # type: ignore

from ._patch import __all__ as _patch_all
Expand All @@ -25,6 +26,7 @@
"AuthOperations",
"ConfigOperations",
"JobsOperations",
"PilotsOperations",
"RssOperations",
]
__all__.extend([p for p in _patch_all if p not in __all__]) # pyright: ignore
Expand Down
Loading
Loading