added proxmox power button plugin 0.1

This commit is contained in:
2026-08-05 04:46:26 +02:00
parent 28fa9afa28
commit c8f5baedde
15 changed files with 817 additions and 1 deletions

58
pyproject.toml Normal file
View File

@@ -0,0 +1,58 @@
# SPDX-License-Identifier: GPL-2.0-or-later
# Copyright (C) 2026 Bryan Joshua Pedini
[build-system]
# >=77 for PEP 639 SPDX `license` / `license-files` support.
requires = ["setuptools>=77"]
build-backend = "setuptools.build_meta"
[project]
# Distribution name (what you `pip install`). The importable package — and the
# name that goes into NetBox's PLUGINS list — stays `proxmox_power_button`,
# matching the ecosystem convention (cf. netbox-plugin-dns / netbox_dns).
name = "netbox-proxmox-power-button"
version = "0.1.0"
description = "NetBox plugin adding Start/Stop/Reboot buttons that drive Proxmox VE VMs"
readme = "README.md"
license = "GPL-2.0-or-later"
license-files = ["LICENSE"]
authors = [{ name = "Bryan Joshua Pedini" }]
# NetBox 4.5 itself refuses to start on anything older than 3.12.
requires-python = ">=3.12"
keywords = ["netbox", "netbox-plugin", "proxmox", "virtualization"]
classifiers = [
"Development Status :: 4 - Beta",
"Environment :: Web Environment",
"Framework :: Django",
"Intended Audience :: System Administrators",
"Natural Language :: English",
"Operating System :: OS Independent",
"Programming Language :: Python :: 3 :: Only",
"Programming Language :: Python :: 3.12",
"Programming Language :: Python :: 3.13",
"Programming Language :: Python :: 3.14",
"Topic :: System :: Systems Administration",
]
# NetBox itself is deliberately NOT a dependency: it is the host application,
# already present at install time. Compatibility is declared via
# PluginConfig.min_version instead. `requests` is needed explicitly —
# proxmoxer does not pull it in.
dependencies = [
"proxmoxer>=2.0",
"requests",
]
[project.urls]
Homepage = "https://git.bjphoster.com/source/netbox-proxmox-power-button"
Repository = "https://git.bjphoster.com/source/netbox-proxmox-power-button"
Issues = "https://git.bjphoster.com/source/netbox-proxmox-power-button/issues"
[tool.setuptools.packages.find]
include = ["proxmox_power_button*"]
[tool.setuptools.package-data]
# templates/ has no __init__.py, so packages.find never sees it — the button
# HTML must be listed explicitly or the wheel ships without it and every VM
# page raises TemplateDoesNotExist. Widen this glob if static/ or further
# template subdirectories are ever added.
proxmox_power_button = ["templates/proxmox_power_button/*.html"]