git: 8cdd68d5c12b - 2023Q2 - security/py-netbox-secrets: New port

From: Kai Knoblich <kai_at_FreeBSD.org>
Date: Sun, 04 Jun 2023 07:07:52 UTC
The branch 2023Q2 has been updated by kai:

URL: https://cgit.FreeBSD.org/ports/commit/?id=8cdd68d5c12ba9c784ce156555e9a1ea9b8a52eb

commit 8cdd68d5c12ba9c784ce156555e9a1ea9b8a52eb
Author:     Kai Knoblich <kai@FreeBSD.org>
AuthorDate: 2023-05-11 03:37:30 +0000
Commit:     Kai Knoblich <kai@FreeBSD.org>
CommitDate: 2023-06-04 06:54:18 +0000

    security/py-netbox-secrets: New port
    
    This is the continuation of the NetBox Secretstore app. The original
    plugin is minimally maintained and has a lot of issues.
    
    This plugin is a complete rewrite of the original plugin.  It is more
    generic and flexible than the original plugin.  It is also regularly
    tested with the latest NetBox releases to ensure compatibility and
    stability.
    
    Features:
    
    * Store secrets in the database encrypted with a public key (RSA)
    * More generic and flexible than the original plugin (e.g. secrets
      can be assigned to any object in NetBox)
    * Secrets can be assigned to contacts to associate them with
      a secret (e.g. SSH key)
    * Updated user interface to make it easier to use and more intuitive
      to navigate
    * Regularly tested with the latest NetBox releases to ensure
      compatibility and stability
    
    MFH:            2023Q2 (in 3 weeks, to provide a migration path for
                    security/py-netbox-secretstore, which is deprecated)
    (cherry picked from commit 1976bf9626a5ac43973706c34900e2de9eb82933)
---
 security/Makefile                               |  1 +
 security/py-netbox-secrets/Makefile             | 24 ++++++++++++++++++++++++
 security/py-netbox-secrets/distinfo             |  3 +++
 security/py-netbox-secrets/files/pkg-message.in | 20 ++++++++++++++++++++
 security/py-netbox-secrets/pkg-descr            | 18 ++++++++++++++++++
 5 files changed, 66 insertions(+)

diff --git a/security/Makefile b/security/Makefile
index 9836f85fd2b3..01f22cee215d 100644
--- a/security/Makefile
+++ b/security/Makefile
@@ -924,6 +924,7 @@
     SUBDIR += py-msoffcrypto-tool
     SUBDIR += py-muacrypt
     SUBDIR += py-nassl
+    SUBDIR += py-netbox-secrets
     SUBDIR += py-netbox-secretstore
     SUBDIR += py-netmiko
     SUBDIR += py-noiseprotocol
diff --git a/security/py-netbox-secrets/Makefile b/security/py-netbox-secrets/Makefile
new file mode 100644
index 000000000000..54ac5d81c0c3
--- /dev/null
+++ b/security/py-netbox-secrets/Makefile
@@ -0,0 +1,24 @@
+PORTNAME=	netbox-secrets
+DISTVERSION=	1.7.6
+CATEGORIES=	security python
+MASTER_SITES=	PYPI
+PKGNAMEPREFIX=	${PYTHON_PKGNAMEPREFIX}
+
+MAINTAINER=	kai@FreeBSD.org
+COMMENT=	Secret store for NetBox
+WWW=		https://github.com/Onemind-Services-LLC/netbox-secrets
+
+LICENSE=	APACHE20
+LICENSE_FILE=	${WRKSRC}/LICENSE.md
+
+RUN_DEPENDS=	${PYTHON_PKGNAMEPREFIX}pycryptodome>0:security/py-pycryptodome@${PY_FLAVOR}
+
+USES=		python:3.8+
+USE_PYTHON=	autoplist distutils
+
+NO_ARCH=	yes
+
+SUB_FILES=	pkg-message
+SUB_LIST=	PYTHON_VER=${PYTHON_VER}
+
+.include <bsd.port.mk>
diff --git a/security/py-netbox-secrets/distinfo b/security/py-netbox-secrets/distinfo
new file mode 100644
index 000000000000..18ac05653aea
--- /dev/null
+++ b/security/py-netbox-secrets/distinfo
@@ -0,0 +1,3 @@
+TIMESTAMP = 1683570449
+SHA256 (netbox-secrets-1.7.6.tar.gz) = 66282c010f6493b565279bd37749d3b13d6ff6458257d879c2530de054e617f1
+SIZE (netbox-secrets-1.7.6.tar.gz) = 47711
diff --git a/security/py-netbox-secrets/files/pkg-message.in b/security/py-netbox-secrets/files/pkg-message.in
new file mode 100644
index 000000000000..eb2da1827a37
--- /dev/null
+++ b/security/py-netbox-secrets/files/pkg-message.in
@@ -0,0 +1,20 @@
+[
+{ type: install
+  message: <<EOD
+To enable the plugin please do the following steps:
+
+1. Add/update the following line in the netbox configuration (usually
+   %%LOCALBASE%%/share/netbox/netbox/configuration.py):
+
+   PLUGINS = ['netbox_secrets']
+
+2. Run NetBox migrations and collect static files:
+
+   # cd %%LOCALBASE%%/share/netbox
+   # python%%PYTHON_VER%% manage.py migrate
+   # python%%PYTHON_VER%% manage.py collectstatic --no-input
+
+3. Restart WSGI/httpd environment (supervisord/apache/nginx/etc.)
+EOD
+}
+]
diff --git a/security/py-netbox-secrets/pkg-descr b/security/py-netbox-secrets/pkg-descr
new file mode 100644
index 000000000000..ec01ea04efc3
--- /dev/null
+++ b/security/py-netbox-secrets/pkg-descr
@@ -0,0 +1,18 @@
+This is the continuation of the NetBox Secretstore app. The original plugin is
+minimally maintained and has a lot of issues.
+
+This plugin is a complete rewrite of the original plugin.  It is more generic
+and flexible than the original plugin.  It is also regularly tested with the
+latest NetBox releases to ensure compatibility and stability.
+
+Features:
+
+* Store secrets in the database encrypted with a public key (RSA)
+* More generic and flexible than the original plugin (e.g. secrets
+  can be assigned to any object in NetBox)
+* Secrets can be assigned to contacts to associate them with
+  a secret (e.g. SSH key)
+* Updated user interface to make it easier to use and more intuitive
+  to navigate
+* Regularly tested with the latest NetBox releases to ensure
+  compatibility and stability