67 Commits

Author SHA1 Message Date
6fa6bb53ad Merge pull request 'fix: use system Python to fix venv symlink issue' (#4) from fix/netbox-mcp-python-venv into main
All checks were successful
Build and Push Docker Images / build (push) Successful in 21s
Reviewed-on: #4
2026-01-11 10:30:01 +00:00
a0078d331e fix: use system Python to fix venv symlink issue
- Add UV_PYTHON_PREFERENCE=only-system to prevent uv from downloading its own Python
- Use python:3.13-alpine3.21 (stable) instead of 3.14 (RC)

Fixes: exec /app/.venv/bin/netbox-mcp-server: no such file or directory
2026-01-11 10:25:32 +00:00
c3bef1afe0 Merge pull request 'feat: add netbox-mcp-server Docker image' (#3) from feature/netbox-mcp-server into main
All checks were successful
Build and Push Docker Images / build (push) Successful in 23s
Reviewed-on: #3
2026-01-11 10:12:37 +00:00
9e6ac27484 fix: use multi-stage build based on official Dockerfile 2026-01-10 20:22:51 +00:00
b577369cdd docs: add netbox-mcp-server README 2026-01-10 20:19:25 +00:00
9b7264bf56 feat: add netbox-mcp-server version file 2026-01-10 20:19:11 +00:00
3c2a4886e6 feat: add netbox-mcp-server image 2026-01-10 20:19:05 +00:00
f76d4cab71 fix: add --no-cache to docker build to avoid stale layers 2026-01-07 17:56:19 +00:00
9cff273a6a chore: remove plugins.py (now mounted at runtime from netbox-deployment)
All checks were successful
Build and Push Docker Images / build (push) Successful in 39s
2026-01-07 15:43:05 +00:00
faf1ca0404 refactor: remove plugins.py from image (mount at runtime)
All checks were successful
Build and Push Docker Images / build (push) Successful in 6s
2026-01-07 15:42:49 +00:00
5212600c8d chore: remove local_settings.py (now mounted at runtime from netbox-deployment)
All checks were successful
Build and Push Docker Images / build (push) Successful in 5s
2026-01-07 15:36:03 +00:00
6375641926 refactor: remove local_settings.py from image (mount at runtime)
All checks were successful
Build and Push Docker Images / build (push) Successful in 6s
2026-01-07 15:23:44 +00:00
93575f8569 fix: delete DATABASE after wrapping to avoid conflict
All checks were successful
Build and Push Docker Images / build (push) Successful in 6s
2026-01-07 15:19:25 +00:00
3ff6ace420 fix: build DATABASE from env vars instead of importing
All checks were successful
Build and Push Docker Images / build (push) Successful in 6s
2026-01-07 15:15:53 +00:00
b05a59213a fix: use relative import for configuration
All checks were successful
Build and Push Docker Images / build (push) Successful in 6s
2026-01-07 15:10:44 +00:00
876abcf8d0 fix: move local_settings.py to /etc/netbox/config/
All checks were successful
Build and Push Docker Images / build (push) Successful in 7s
2026-01-07 15:10:29 +00:00
71e980fd8c fix: import DATABASE from configuration instead of env vars
All checks were successful
Build and Push Docker Images / build (push) Successful in 7s
2026-01-07 15:02:55 +00:00
b60a3f0b1e fix: move netbox_branching to end of PLUGINS list (required)
All checks were successful
Build and Push Docker Images / build (push) Successful in 6s
2026-01-07 14:56:35 +00:00
2eef404f14 feat: add local_settings.py for netbox-branching support
All checks were successful
Build and Push Docker Images / build (push) Successful in 6s
2026-01-07 14:56:12 +00:00
425b618a3a feat: add local_settings.py for netbox-branching DynamicSchemaDict
All checks were successful
Build and Push Docker Images / build (push) Successful in 5s
2026-01-07 14:55:50 +00:00
277761107d docs(netbox): add branching configuration and version compatibility matrix
All checks were successful
Build and Push Docker Images / build (push) Successful in 5s
2026-01-07 13:43:43 +00:00
ef3dd25957 fix(netbox): pin plugin versions for NetBox 4.4.x compatibility
All checks were successful
Build and Push Docker Images / build (push) Successful in 8s
- netbox-branching: >=0.7.0,<0.8.0 (0.7.x for NetBox 4.4)
- netbox-bgp: >=0.17.0,<0.18.0 (0.17.x for NetBox 4.4, 0.18+ requires 4.5)
2026-01-07 13:43:03 +00:00
afcb1b2e60 fix(netbox): skip collectstatic at build time for complex plugins
All checks were successful
Build and Push Docker Images / build (push) Successful in 30s
netbox_branching requires DynamicSchemaDict for DATABASES which cannot
be configured at build time. Static assets will be collected at container
startup instead.
2026-01-07 13:41:26 +00:00
dce74cddfd Update images/netbox/Dockerfile
Some checks failed
Build and Push Docker Images / build (push) Failing after 5s
2026-01-07 13:39:13 +00:00
f0dc1fe699 Update images/netbox/plugins.py
Some checks failed
Build and Push Docker Images / build (push) Failing after 4s
2026-01-07 13:38:19 +00:00
daa9afdb5f Merge pull request 'Update images/netbox/plugin_requirements.txt' (#2) from feature/netbox-plugins into main
Some checks failed
Build and Push Docker Images / build (push) Failing after 5s
Reviewed-on: #2
2026-01-07 13:36:50 +00:00
8f194987c8 Update images/netbox/plugin_requirements.txt 2026-01-07 13:36:32 +00:00
1fb4a3ea3f Merge pull request 'feat(netbox): Add NetBox Docker image with plugins support' (#1) from feature/netbox-plugins into main
Some checks failed
Build and Push Docker Images / build (push) Failing after 19s
Reviewed-on: #1
2026-01-07 13:34:31 +00:00
167a3f1d0e Update images/netbox/README.md 2026-01-07 13:33:57 +00:00
14b4da71d1 Update images/netbox/NETBOX_VERSION 2026-01-07 13:31:48 +00:00
ee9b74ebe4 docs(netbox): document NETBOX_VERSION file and version tagging 2026-01-07 13:28:50 +00:00
75c68f57ef feat(ci): support version files for image tagging and build-args 2026-01-07 13:28:19 +00:00
526a488aba feat(netbox): add NETBOX_VERSION file for version tracking 2026-01-07 13:27:47 +00:00
6809982d3d docs(netbox): update README with branching and bgp plugins 2026-01-07 13:26:12 +00:00
c591816148 feat(netbox): configure netbox-branching and netbox-bgp 2026-01-07 13:25:45 +00:00
b05aada942 feat(netbox): add netbox-branching and netbox-bgp plugins 2026-01-07 13:25:33 +00:00
8ab22a1e66 docs(netbox): add README with usage instructions 2026-01-07 12:39:51 +00:00
3d048c0d99 feat(netbox): add plugins configuration file 2026-01-07 12:39:31 +00:00
b31055f944 feat(netbox): add plugin requirements file 2026-01-07 12:39:18 +00:00
b05905590a feat(netbox): add Dockerfile for NetBox with plugins 2026-01-07 12:39:09 +00:00
7555c25a58 feat: add input to select specific image for manual trigger 2025-12-08 08:05:28 +00:00
6af9ff9ab2 refactor: remove matrix strategy, use simple loop instead 2025-12-08 08:00:17 +00:00
b6c84481f2 fix: improve JSON format with awk and add matrix debug output 2025-12-08 07:51:21 +00:00
38f2020e44 fix: simplify image detection with for loop and add debug output 2025-12-08 07:40:19 +00:00
79be3d2f9a fix: use gitea.event_name instead of github.event_name, simplify detection logic 2025-12-08 07:36:21 +00:00
darnodo
9e9006439b ci: refine image build matrix generation logic and tools
Updates the build-images workflow to improve reliability and reduce dependency on external tools like `jq`.

- Replaced `jq` with `python3` for generating the JSON matrix, removing the need to install a separate binary and allowing for more standard standard library usage.
- Switched from a shell glob loop (`for DIR in images/*`) to `find` for more robust directory discovery when detecting manual triggers.
- Added explanatory comments regarding fallback behavior for push events.
- Added debug logging for the generated JSON output.
2025-12-07 21:20:07 +01:00
darnodo
a6f7c9799f ci(workflow): build all images on manual trigger instead of specific input
Refactor the image detection strategy in the build-images workflow.

- Remove the `image` input parameter from `workflow_dispatch`.
- Update detection logic to handle events differently:
  - On manual triggers (`workflow_dispatch`), the script now scans the `images/` directory and builds ALL valid images found.
  - On push events, the script retains the `git diff` logic to only build images that have explicitly changed.
2025-12-07 21:10:57 +01:00
darnodo
95e251f2f2 ci(workflows): rename output variable matrix to image_list
The variable name `matrix` in the `detect-changes` job output was ambiguous and potentially confusing, as `matrix` is a reserved keyword in Gitea/GitHub Actions syntax for defining job strategies.

This change renames the output variable to `image_list` to better reflect its content (a JSON array of image names) and avoid naming conflicts or confusion with the actual `strategy.matrix` configuration.

Changes:
- Renamed output `matrix` to `image_list` in `detect-changes` job.
- Updated all shell script references in the change detection logic.
- Updated the consumer job `build-push-images` to use `needs.detect-changes.outputs.image_list`.
2025-12-07 21:06:39 +01:00
darnodo
44d9527c95 ci(workflows): enhance debug logging and safety in image detection
Refactor the 'Detect changed images' step in the build-images workflow to improve robustness and debuggability.

Changes include:
- Pass `inputs.image` via an environment variable (`INPUT_IMAGE`) to avoid potential injection issues or syntax errors in shell scripts.
- Add comprehensive `DEBUG` echo statements to trace the logic flow for both manual and automatic detection paths.
- Use `printf` instead of `echo` for writing to `$GITHUB_OUTPUT` to ensure safer handling of string outputs.
- Remove redundant comments to clean up the script block.
2025-12-07 21:02:52 +01:00
darnodo
3458b1c8a0 ci: refine image detection logic in build workflow
Updated the image detection step in the `.gitea/workflows/build-images.yml` workflow to better handle manual inputs and automatic change detection.

Changes:
- Reorganized the logic to handle manual inputs first; if a manual input is present, it validates the image, sets the output matrix immediately, and exits, bypassing git diff checks.
- Added explicit error handling and output setting for invalid or empty manual inputs to prevent workflow failure confusion.
- Grouped the Git diff detection logic into a distinct block that runs only if no manual input is provided.
- Added a debug echo statement to the build job to verify the current matrix image being built.
2025-12-07 20:58:54 +01:00