arrakis-admin 0.1.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- arrakis_admin-0.1.0/.claude/settings.local.json +7 -0
- arrakis_admin-0.1.0/.gitignore +10 -0
- arrakis_admin-0.1.0/.gitlab-ci.yml +66 -0
- arrakis_admin-0.1.0/CHANGELOG.md +10 -0
- arrakis_admin-0.1.0/Dockerfile +35 -0
- arrakis_admin-0.1.0/LICENSE +704 -0
- arrakis_admin-0.1.0/Makefile +37 -0
- arrakis_admin-0.1.0/PKG-INFO +170 -0
- arrakis_admin-0.1.0/README.md +129 -0
- arrakis_admin-0.1.0/pyproject.toml +190 -0
- arrakis_admin-0.1.0/src/arrakis_admin/__init__.py +8 -0
- arrakis_admin-0.1.0/src/arrakis_admin/_version.py +24 -0
- arrakis_admin-0.1.0/src/arrakis_admin/cli.py +739 -0
- arrakis_admin-0.1.0/src/arrakis_admin/migrate.py +140 -0
- arrakis_admin-0.1.0/src/arrakis_admin/probe.py +239 -0
- arrakis_admin-0.1.0/src/arrakis_admin/tests/__init__.py +0 -0
- arrakis_admin-0.1.0/src/arrakis_admin/tests/test_cli.py +20 -0
- arrakis_admin-0.1.0/src/arrakis_admin/tests/test_migrate.py +198 -0
- arrakis_admin-0.1.0/src/arrakis_admin/tests/test_probe.py +120 -0
- arrakis_admin-0.1.0/src/arrakis_admin/tests/test_topics.py +114 -0
- arrakis_admin-0.1.0/src/arrakis_admin/topics.py +367 -0
|
@@ -0,0 +1,66 @@
|
|
|
1
|
+
include:
|
|
2
|
+
# -- python
|
|
3
|
+
- component: git.ligo.org/computing/gitlab/components/python/sdist@1
|
|
4
|
+
- component: git.ligo.org/computing/gitlab/components/python/wheel@1
|
|
5
|
+
- component: git.ligo.org/computing/gitlab/components/python/code-quality@1
|
|
6
|
+
inputs:
|
|
7
|
+
analyzer: "ruff"
|
|
8
|
+
requirements: "-r requirements-lint.txt"
|
|
9
|
+
- component: git.ligo.org/computing/gitlab/components/python/dependency-scanning@1
|
|
10
|
+
- component: git.ligo.org/computing/gitlab/components/python/type-checking@1
|
|
11
|
+
inputs:
|
|
12
|
+
project_dir: "src"
|
|
13
|
+
- component: git.ligo.org/computing/gitlab/components/python/test@1
|
|
14
|
+
inputs:
|
|
15
|
+
install_extra: test
|
|
16
|
+
python_versions:
|
|
17
|
+
- "3.11"
|
|
18
|
+
- "3.12"
|
|
19
|
+
- "3.13"
|
|
20
|
+
# -- docker
|
|
21
|
+
- component: git.ligo.org/computing/gitlab/components/docker/build@1
|
|
22
|
+
inputs:
|
|
23
|
+
image_tag: $CI_COMMIT_SHA
|
|
24
|
+
- component: git.ligo.org/computing/gitlab/components/docker/push@1
|
|
25
|
+
inputs:
|
|
26
|
+
pull_image_tag: $CI_COMMIT_SHA
|
|
27
|
+
push_image_tag: $CI_COMMIT_REF_NAME
|
|
28
|
+
push_when: "all"
|
|
29
|
+
tag_latest: false
|
|
30
|
+
rules:
|
|
31
|
+
- if: $CI_COMMIT_BRANCH
|
|
32
|
+
- if: $CI_COMMIT_TAG !~ /^(\d+\.)?(\d+\.)?(\*|\d+)$/
|
|
33
|
+
- component: git.ligo.org/computing/gitlab/components/docker/push@1
|
|
34
|
+
inputs:
|
|
35
|
+
pull_image_tag: $CI_COMMIT_SHA
|
|
36
|
+
push_image_tag: $CI_COMMIT_TAG
|
|
37
|
+
push_when: "tags"
|
|
38
|
+
tag_latest: true
|
|
39
|
+
rules:
|
|
40
|
+
# tag latest only on new versions
|
|
41
|
+
- if: $CI_COMMIT_TAG =~ /^(\d+\.)?(\d+\.)?(\*|\d+)$/
|
|
42
|
+
|
|
43
|
+
# -- customizations
|
|
44
|
+
docker_push_gitlab:
|
|
45
|
+
rules:
|
|
46
|
+
- if: $CI_PIPELINE_SOURCE == "merge_request_event"
|
|
47
|
+
when: never
|
|
48
|
+
- when: always
|
|
49
|
+
|
|
50
|
+
ruff:
|
|
51
|
+
needs:
|
|
52
|
+
- requirements
|
|
53
|
+
|
|
54
|
+
# -- requirements
|
|
55
|
+
requirements:
|
|
56
|
+
stage: build
|
|
57
|
+
image: python:3.12
|
|
58
|
+
script:
|
|
59
|
+
- python -m pip install pipx
|
|
60
|
+
- pipx ensurepath
|
|
61
|
+
- source ~/.bashrc
|
|
62
|
+
- pipx install hatch
|
|
63
|
+
- hatch dep show requirements --feature lint > requirements-lint.txt
|
|
64
|
+
artifacts:
|
|
65
|
+
paths:
|
|
66
|
+
- requirements-*.txt
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
# build stage: build the wheel
|
|
2
|
+
FROM python:3.13 AS build
|
|
3
|
+
|
|
4
|
+
WORKDIR /app
|
|
5
|
+
RUN apt-get update && apt-get install -y --no-install-recommends git && \
|
|
6
|
+
rm -rf /var/lib/apt/lists/*
|
|
7
|
+
|
|
8
|
+
RUN pip install --no-cache-dir build hatchling hatch-vcs
|
|
9
|
+
COPY . .
|
|
10
|
+
RUN python -m build --wheel
|
|
11
|
+
|
|
12
|
+
# install stage: install into virtualenv
|
|
13
|
+
FROM python:3.13 AS install
|
|
14
|
+
|
|
15
|
+
WORKDIR /app
|
|
16
|
+
COPY --from=build /app/dist/*.whl /app
|
|
17
|
+
|
|
18
|
+
RUN python -m venv /opt/venv
|
|
19
|
+
ENV PATH="/opt/venv/bin:$PATH"
|
|
20
|
+
|
|
21
|
+
RUN pip install --no-cache-dir *.whl
|
|
22
|
+
|
|
23
|
+
# final stage: minimal runtime image
|
|
24
|
+
FROM python:3.13-slim
|
|
25
|
+
|
|
26
|
+
COPY --from=install /opt/venv /opt/venv
|
|
27
|
+
|
|
28
|
+
RUN groupadd --gid 1000 arrakis-admin && \
|
|
29
|
+
useradd --uid 1000 --gid 1000 -m arrakis-admin
|
|
30
|
+
|
|
31
|
+
USER arrakis-admin
|
|
32
|
+
|
|
33
|
+
ENV PATH="/opt/venv/bin:$PATH"
|
|
34
|
+
|
|
35
|
+
ENTRYPOINT ["arrakis-admin"]
|