diff --git a/.cookiecutter.json b/.cookiecutter.json index 3fa6a8e..99a6cf3 100644 --- a/.cookiecutter.json +++ b/.cookiecutter.json @@ -4,16 +4,16 @@ "full_name": "Network to Code, LLC", "email": "info@networktocode.com", "github_org": "nautobot", - "plugin_name": "nautobot_secrets_providers", - "verbose_name": "Nautobot's Secrets Providers Plugin", - "plugin_slug": "nautobot-secrets-providers", - "project_slug": "nautobot-plugin-secrets-providers", - "repo_url": "https://github.com/nautobot/nautobot-plugin-secrets-providers", + "app_name": "nautobot_secrets_providers", + "verbose_name": "Nautobot's Secrets Providers App", + "app_slug": "nautobot-secrets-providers", + "project_slug": "nautobot-app-secrets-providers", + "repo_url": "https://github.com/nautobot/nautobot-app-secrets-providers", "base_url": "secrets-providers", "min_nautobot_version": "2.0.0", "max_nautobot_version": "2.9999", "camel_name": "NautobotSecretsProviders", - "project_short_description": "Nautobot's Secrets Providers Plugin", + "project_short_description": "Nautobot's Secrets Providers App", "model_class_name": "None", "open_source_license": "Apache-2.0", "docs_base_url": "https://docs.nautobot.com", @@ -33,3 +33,4 @@ } } } + diff --git a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md index 3950227..b1eba07 100644 --- a/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md +++ b/.github/PULL_REQUEST_TEMPLATE/pull_request_template.md @@ -31,5 +31,5 @@ - [ ] Attached Screenshots, Payload Example - [ ] Unit, Integration Tests - [ ] Documentation Updates (when adding/changing features) -- [ ] Example Plugin Updates (when adding/changing features) +- [ ] Example App Updates (when adding/changing features) - [ ] Outline Remaining Work, Constraints from Design diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 55f7b13..d6ce8f7 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -14,7 +14,7 @@ on: # yamllint disable-line rule:truthy rule:comments pull_request: ~ env: - PLUGIN_NAME: "nautobot-plugin-secrets-providers" + APP_NAME: "nautobot-app-secrets-providers" jobs: black: @@ -116,7 +116,7 @@ jobs: context: "./" push: false load: true - tags: "${{ env.PLUGIN_NAME }}/nautobot:${{ matrix.nautobot-version }}-py${{ matrix.python-version }}" + tags: "${{ env.APP_NAME }}/nautobot:${{ matrix.nautobot-version }}-py${{ matrix.python-version }}" file: "./development/Dockerfile" cache-from: "type=gha,scope=${{ matrix.nautobot-version }}-py${{ matrix.python-version }}" cache-to: "type=gha,scope=${{ matrix.nautobot-version }}-py${{ matrix.python-version }}" @@ -159,7 +159,7 @@ jobs: context: "./" push: false load: true - tags: "${{ env.PLUGIN_NAME }}/nautobot:${{ matrix.nautobot-version }}-py${{ matrix.python-version }}" + tags: "${{ env.APP_NAME }}/nautobot:${{ matrix.nautobot-version }}-py${{ matrix.python-version }}" file: "./development/Dockerfile" cache-from: "type=gha,scope=${{ matrix.nautobot-version }}-py${{ matrix.python-version }}" cache-to: "type=gha,scope=${{ matrix.nautobot-version }}-py${{ matrix.python-version }}" @@ -206,7 +206,7 @@ jobs: context: "./" push: false load: true - tags: "${{ env.PLUGIN_NAME }}/nautobot:${{ matrix.nautobot-version }}-py${{ matrix.python-version }}" + tags: "${{ env.APP_NAME }}/nautobot:${{ matrix.nautobot-version }}-py${{ matrix.python-version }}" file: "./development/Dockerfile" cache-from: "type=gha,scope=${{ matrix.nautobot-version }}-py${{ matrix.python-version }}" cache-to: "type=gha,scope=${{ matrix.nautobot-version }}-py${{ matrix.python-version }}" diff --git a/.github/workflows/upstream_testing.yml b/.github/workflows/upstream_testing.yml index e1835ae..d8875bf 100644 --- a/.github/workflows/upstream_testing.yml +++ b/.github/workflows/upstream_testing.yml @@ -10,4 +10,4 @@ jobs: uses: "nautobot/nautobot/.github/workflows/plugin_upstream_testing_base.yml@develop" with: # Below could potentially be collapsed into a single argument if a concrete relationship between both is enforced invoke_context_name: "NAUTOBOT_SECRETS_PROVIDERS" - plugin_name: "nautobot-plugin-secrets-providers" + plugin_name: "nautobot-app-secrets-providers" diff --git a/CHANGELOG.md b/CHANGELOG.md index 2930ebb..5a994d1 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,81 +4,81 @@ ### Added -- [#113](https://github.com/nautobot/nautobot-plugin-secrets-providers/pull/113) Added the missing fix for [issue](https://github.com/nautobot/nautobot-plugin-secrets-providers/issues/91) that was not included for v2.0.0 +- [#113](https://github.com/nautobot/nautobot-app-secrets-providers/pull/113) Added the missing fix for [issue](https://github.com/nautobot/nautobot-app-secrets-providers/issues/91) that was not included for v2.0.0 ## v2.0.0 (2023-09-23) ### Changed -- [#105](https://github.com/nautobot/nautobot-plugin-secrets-providers/pull/106) Updated `nautobot` to `2.0`. +- [#105](https://github.com/nautobot/nautobot-app-secrets-providers/pull/106) Updated `nautobot` to `2.0`. ### Removed -- [#105](https://github.com/nautobot/nautobot-plugin-secrets-providers/pull/106) Removed `slug` field from `Secret` model. Can be replaced with `name` field or [natural keys](https://docs.nautobot.com/projects/core/en/next/development/apps/migration/model-updates/global/#replace-the-usage-of-slugs-with-composite-keys). +- [#105](https://github.com/nautobot/nautobot-app-secrets-providers/pull/106) Removed `slug` field from `Secret` model. Can be replaced with `name` field or [natural keys](https://docs.nautobot.com/projects/core/en/next/development/apps/migration/model-updates/global/#replace-the-usage-of-slugs-with-composite-keys). ## v1.4.1 (2023-06-07) ### Fixed -- [#91](https://github.com/nautobot/nautobot-plugin-secrets-providers/issues/91) Fixed Hashicorp Vault Authentication with AWS Credentials when region is not set. +- [#91](https://github.com/nautobot/nautobot-app-secrets-providers/issues/91) Fixed Hashicorp Vault Authentication with AWS Credentials when region is not set. ## v1.4.0 (2023-04-19) ### Added -- [#48](https://github.com/nautobot/nautobot-plugin-secrets-providers/issues/48) Add token as secret type choice for Delinea/Thycotic -- [#51](https://github.com/nautobot/nautobot-plugin-secrets-providers/issues/51) Add support for AWS Systems Manager Parameter Store -- [#53](https://github.com/nautobot/nautobot-plugin-secrets-providers/pull/53) Add support for Hashicorp Key/Value v1 response -- [#66](https://github.com/nautobot/nautobot-plugin-secrets-providers/pull/66) Add support for Vault Enterprise Namespace parameter +- [#48](https://github.com/nautobot/nautobot-app-secrets-providers/issues/48) Add token as secret type choice for Delinea/Thycotic +- [#51](https://github.com/nautobot/nautobot-app-secrets-providers/issues/51) Add support for AWS Systems Manager Parameter Store +- [#53](https://github.com/nautobot/nautobot-app-secrets-providers/pull/53) Add support for Hashicorp Key/Value v1 response +- [#66](https://github.com/nautobot/nautobot-app-secrets-providers/pull/66) Add support for Vault Enterprise Namespace parameter ### Changed -- [#45](https://github.com/nautobot/nautobot-plugin-secrets-providers/pull/45) Change references of Thycotic to Delinea -- [#47](https://github.com/nautobot/nautobot-plugin-secrets-providers/pull/47) Change version constraint of HVAC module to allow non-major upgrades -- [#56](https://github.com/nautobot/nautobot-plugin-secrets-providers/pull/56) Change minimum supported Nautobot version to `1.4.0` -- [#63](https://github.com/nautobot/nautobot-plugin-secrets-providers/pull/63) Update plugin description when installed in Nautobot +- [#45](https://github.com/nautobot/nautobot-app-secrets-providers/pull/45) Change references of Thycotic to Delinea +- [#47](https://github.com/nautobot/nautobot-app-secrets-providers/pull/47) Change version constraint of HVAC module to allow non-major upgrades +- [#56](https://github.com/nautobot/nautobot-app-secrets-providers/pull/56) Change minimum supported Nautobot version to `1.4.0` +- [#63](https://github.com/nautobot/nautobot-app-secrets-providers/pull/63) Update app description when installed in Nautobot ## v1.3.0 (2022-08-29) ### Added -- [#32](https://github.com/nautobot/nautobot-plugin-secrets-providers/issues/32) Add support for skipping certificate validation when connecting to HashiCorp Vault. -- [#34](https://github.com/nautobot/nautobot-plugin-secrets-providers/issues/34) Add support for alternate authentication to HashiCorp Vault via AWS and Kubernetes authentication methods. -- [#38](https://github.com/nautobot/nautobot-plugin-secrets-providers/pull/38) Add support for Python 3.10. -- [#40](https://github.com/nautobot/nautobot-plugin-secrets-providers/issues/40) Add `default_mount_point` config option for HashiCorp Vault. +- [#32](https://github.com/nautobot/nautobot-app-secrets-providers/issues/32) Add support for skipping certificate validation when connecting to HashiCorp Vault. +- [#34](https://github.com/nautobot/nautobot-app-secrets-providers/issues/34) Add support for alternate authentication to HashiCorp Vault via AWS and Kubernetes authentication methods. +- [#38](https://github.com/nautobot/nautobot-app-secrets-providers/pull/38) Add support for Python 3.10. +- [#40](https://github.com/nautobot/nautobot-app-secrets-providers/issues/40) Add `default_mount_point` config option for HashiCorp Vault. ### Changed -- [#42](https://github.com/nautobot/nautobot-plugin-secrets-providers/issues/42) Now requires python-tss-sdk version v1.2 or later +- [#42](https://github.com/nautobot/nautobot-app-secrets-providers/issues/42) Now requires python-tss-sdk version v1.2 or later ### Fixed -- [#31](https://github.com/nautobot/nautobot-plugin-secrets-providers/issues/31) Fixed NameError at startup when installed as `nautobot_secrets_providers[thycotic]`, i.e. without HashiCorp Vault support. -- [#37](https://github.com/nautobot/nautobot-plugin-secrets-providers/pull/37) Various fixes and improvements to the development environment. +- [#31](https://github.com/nautobot/nautobot-app-secrets-providers/issues/31) Fixed NameError at startup when installed as `nautobot_secrets_providers[thycotic]`, i.e. without HashiCorp Vault support. +- [#37](https://github.com/nautobot/nautobot-app-secrets-providers/pull/37) Various fixes and improvements to the development environment. ### Removed -- [#38](https://github.com/nautobot/nautobot-plugin-secrets-providers/pull/38) - Dropped support for end-of-life Python 3.6 +- [#38](https://github.com/nautobot/nautobot-app-secrets-providers/pull/38) - Dropped support for end-of-life Python 3.6 ## v1.2.0 (2022-05-25) ### Added -- [#8](https://github.com/nautobot/nautobot-plugin-secrets-providers/issues/8) Add support for authentication to HashiCorp Vault via AppRole as an alternative to token authentication -- [#23](https://github.com/nautobot/nautobot-plugin-secrets-providers/issues/23) Add support for non-default HashiCorp Vault mountpoints +- [#8](https://github.com/nautobot/nautobot-app-secrets-providers/issues/8) Add support for authentication to HashiCorp Vault via AppRole as an alternative to token authentication +- [#23](https://github.com/nautobot/nautobot-app-secrets-providers/issues/23) Add support for non-default HashiCorp Vault mountpoints ## v1.1.0 (2022-03-10) ### Added -- [#21](https://github.com/nautobot/nautobot-plugin-secrets-providers/issues/21) Add Thycotic Secret Server plugin +- [#21](https://github.com/nautobot/nautobot-app-secrets-providers/issues/21) Add Thycotic Secret Server plugin **Requires Python 3.7 or greater** ## v1.0.1 (2022-01-06) ### Fixed -- [#17](https://github.com/nautobot/nautobot-plugin-secrets-providers/issues/17) Fixed `ModuleNotFoundError` when not installing AWS dependencies +- [#17](https://github.com/nautobot/nautobot-app-secrets-providers/issues/17) Fixed `ModuleNotFoundError` when not installing AWS dependencies ## v1.0.0 (2021-12-22) diff --git a/GETTING_STARTED.md b/GETTING_STARTED.md index b53a27e..13b21d8 100644 --- a/GETTING_STARTED.md +++ b/GETTING_STARTED.md @@ -15,7 +15,7 @@ - [To Rebuild or Not to Rebuild](#to-rebuild-or-not-to-rebuild) - [Updating Environment Variables](#updating-environment-variables) - [Installing Additional Python Packages](#installing-additional-python-packages) - - [Installing Additional Nautobot Plugins](#installing-additional-nautobot-plugins) + - [Installing Additional Nautobot Apps](#installing-additional-nautobot-apps) - [Updating Python Version](#updating-python-version) - [Updating Nautobot Version](#updating-nautobot-version) - [Local Development Environment](#local-development-environment) @@ -169,11 +169,11 @@ This will safely shut down all of your running Docker containers for this projec Your environment should now be fully setup, all necessary Docker containers are created and running, and you're logged into Nautobot in your web browser. Now what? -Now you can start developing your plugin in the folder generated for you by Cookiecutter. +Now you can start developing your app in the folder generated for you by Cookiecutter. ## Docker Magic -The magic here is the root directory is mounted inside your Docker containers when built and ran, so **any** changes made to the files in here are directly updated to the Nautobot plugin code running in Docker. This means that as you modify the code in your `nautobot-plugin` folder (or whatever you named your plugin when generating it via Cookiecutter), the changes will be instantly updated in Nautobot. +The magic here is the root directory is mounted inside your Docker containers when built and ran, so **any** changes made to the files in here are directly updated to the Nautobot app code running in Docker. This means that as you modify the code in your `nautobot-app` folder (or whatever you named your app when generating it via Cookiecutter), the changes will be instantly updated in Nautobot. > NOTE: There are a few exceptions to this, as outlined in the section [To Rebuild or Not To Rebuild](#to-rebuild-or-not-to-rebuild). @@ -191,7 +191,7 @@ When trying to debug an issue, one helpful thing you can look at are the logs wi > NOTE: The `-f` tag will keep the logs open, and output them in realtime as they are generated. -So for example, our plugin is named `secrets`, the command would most likely be `docker logs nautobot_secrets_providers_nautobot_1 -f`. You can find the name of all running containers via `docker ps`. +So for example, our app is named `secrets`, the command would most likely be `docker logs nautobot_secrets_providers_nautobot_1 -f`. You can find the name of all running containers via `docker ps`. If you want to view the logs specific to the worker container, simply use the name of that container instead. @@ -217,7 +217,7 @@ Once completed, the new/updated environment variables should now be live. ### Installing Additional Python Packages -If you want your plugin to leverage another available Nautobot plugin or another Python package, you can easily add them into your Docker environment. +If you want your app to leverage another available Nautobot app or another Python package, you can easily add them into your Docker environment. ```bash ➜ poetry shell @@ -232,18 +232,18 @@ Once the dependencies are resolved, stop the existing containers, rebuild the Do ➜ invoke start ``` -### Installing Additional Nautobot Plugins +### Installing Additional Nautobot Apps -Let's say for example you want the new plugin you're creating to integrate into Slack. To do this, you will want to integrate into the existing Nautobot ChatOps Plugin. +Let's say for example you want the new app you're creating to integrate into Slack. To do this, you will want to integrate into the existing Nautobot ChatOps app. ```bash ➜ poetry shell -➜ poetry add nautobot-chatops-plugin +➜ poetry add nautobot-chatops-app ``` -Once you activate the virtual environment via Poetry, you then tell Poetry to install the new plugin. +Once you activate the virtual environment via Poetry, you then tell Poetry to install the new app. -Before you continue, you'll need to update the file `development/nautobot_config.py` accordingly with the name of the new plugin under `PLUGINS` and any relevant settings as necessary for the plugin under `PLUGINS_CONFIG`. Since you're modifying the underlying OS (not just Django files), you need to rebuild the image. This is a similar process to updating environment variables, which was explained earlier. +Before you continue, you'll need to update the file `development/nautobot_config.py` accordingly with the name of the new app under `PLUGINS` and any relevant settings as necessary for the app under `PLUGINS_CONFIG`. Since you're modifying the underlying OS (not just Django files), you need to rebuild the image. This is a similar process to updating environment variables, which was explained earlier. ```bash ➜ invoke stop @@ -251,7 +251,7 @@ Before you continue, you'll need to update the file `development/nautobot_config ➜ invoke start ``` -Once the containers are up and running, you should now see the new plugin installed in your Nautobot instance. +Once the containers are up and running, you should now see the new app installed in your Nautobot instance. You can even launch an `ngrok` service locally on your laptop, pointing to port 8080 (such as for chatops development), and it will point traffic directly to your Docker images. How cool! diff --git a/README.md b/README.md index 971eac4..8e414bb 100644 --- a/README.md +++ b/README.md @@ -1,12 +1,12 @@ # Nautobot Secrets Providers -Nautobot Secrets Providers is a plugin for [Nautobot](https://github.com/nautobot/nautobot) 1.4.0 or higher that bundles Secrets Providers for integrating with popular secrets backends. Nautobot 1.4.0 added support for integrating with retrieving secrets from various secrets providers. +Nautobot Secrets Providers is a app for [Nautobot](https://github.com/nautobot/nautobot) 1.4.0 or higher that bundles Secrets Providers for integrating with popular secrets backends. Nautobot 1.4.0 added support for integrating with retrieving secrets from various secrets providers. -This plugin publishes secrets providers that are not included in the within the Nautobot core software package so that it will be easier to maintain and extend support for various secrets providers without waiting on Nautobot software releases. +This app publishes secrets providers that are not included in the within the Nautobot core software package so that it will be easier to maintain and extend support for various secrets providers without waiting on Nautobot software releases. ## Supported Secrets Backends -This plugin supports the following popular secrets backends: +This app supports the following popular secrets backends: | Secrets Backend | Supported Secret Types | Supported Authentication Methods | | ------------------------------------------------------------ | ------------------------------------------------------------ | ------------------------------------------------------------ | @@ -17,27 +17,27 @@ This plugin supports the following popular secrets backends: ## Screenshots -![Screenshot of installed plugins](https://raw.githubusercontent.com/nautobot/nautobot-plugin-secrets-providers/develop/docs/images/screenshot01.png "Plugin landing page") +![Screenshot of installed apps](https://raw.githubusercontent.com/nautobot/nautobot-app-secrets-providers/develop/docs/images/screenshot01.png "App landing page") --- -![Screenshot of plugin home page](https://raw.githubusercontent.com/nautobot/nautobot-plugin-secrets-providers/develop/docs/images/screenshot02.png "Plugin Home page") +![Screenshot of app home page](https://raw.githubusercontent.com/nautobot/nautobot-app-secrets-providers/develop/docs/images/screenshot02.png "App Home page") --- -![Screenshot of secret using AWS Secrets Manager](https://raw.githubusercontent.com/nautobot/nautobot-plugin-secrets-providers/develop/docs/images/screenshot03.png "Secret using AWS Secrets Manager") +![Screenshot of secret using AWS Secrets Manager](https://raw.githubusercontent.com/nautobot/nautobot-app-secrets-providers/develop/docs/images/screenshot03.png "Secret using AWS Secrets Manager") --- -![Screenshot of secret using HashiCorp Vault](https://raw.githubusercontent.com/nautobot/nautobot-plugin-secrets-providers/develop/docs/images/screenshot04.png "Secret using HashiCorp Vault") +![Screenshot of secret using HashiCorp Vault](https://raw.githubusercontent.com/nautobot/nautobot-app-secrets-providers/develop/docs/images/screenshot04.png "Secret using HashiCorp Vault") --- -![Screenshot of secret using Delinea/Thycotic Secret Server by ID](https://raw.githubusercontent.com/nautobot/nautobot-plugin-secrets-providers/develop/docs/images/screenshot05.png "Secret using Thycotic Secret Server by ID") +![Screenshot of secret using Delinea/Thycotic Secret Server by ID](https://raw.githubusercontent.com/nautobot/nautobot-app-secrets-providers/develop/docs/images/screenshot05.png "Secret using Thycotic Secret Server by ID") --- -![Screenshot of secret using Delinea/Thycotic Secret Server by Path](https://raw.githubusercontent.com/nautobot/nautobot-plugin-secrets-providers/develop/docs/images/screenshot06.png "Secret using Thycotic Secret Server by Path") +![Screenshot of secret using Delinea/Thycotic Secret Server by Path](https://raw.githubusercontent.com/nautobot/nautobot-app-secrets-providers/develop/docs/images/screenshot06.png "Secret using Thycotic Secret Server by Path") ## Installation @@ -57,13 +57,13 @@ pip install nautobot-secrets-providers[all] ### Dependencies -For this plugin to operate you must install at least one of the dependent libraries required by the secrets providers. +For this app to operate you must install at least one of the dependent libraries required by the secrets providers. **You must install the dependencies for at least one of the supported secrets providers or a `RuntimeError` will be raised.** #### AWS -AWS Secrets Manager and Systems Manager Parameter Store are supported. Both providers require the `boto3` library. This can be easily installed along with the plugin using the following command: +AWS Secrets Manager and Systems Manager Parameter Store are supported. Both providers require the `boto3` library. This can be easily installed along with the app using the following command: ```no-highlight pip install nautobot-secrets-providers[aws] @@ -71,7 +71,7 @@ pip install nautobot-secrets-providers[aws] #### HashiCorp Vault -The HashiCorp Vault provider requires the `hvac` library. This can easily be installed along with the plugin using the following command: +The HashiCorp Vault provider requires the `hvac` library. This can easily be installed along with the app using the following command: ```no-highlight pip install nautobot-secrets-providers[hashicorp] @@ -79,7 +79,7 @@ pip install nautobot-secrets-providers[hashicorp] #### Delinea/Thycotic Secret Server -The Delinea/Thycotic Secret Server provider requires the `python-tss-sdk` library. This can easily be installed along with the plugin using the following command: +The Delinea/Thycotic Secret Server provider requires the `python-tss-sdk` library. This can easily be installed along with the app using the following command: ```no-highlight pip install nautobot-secrets-providers[thycotic] @@ -93,7 +93,7 @@ To ensure Nautobot Secrets Providers is automatically re-installed during future echo nautobot-secrets-providers >> local_requirements.txt ``` -Once installed, the plugin needs to be enabled in your `nautobot_config.py`: +Once installed, the app needs to be enabled in your `nautobot_config.py`: ```python # In your nautobot_config.py @@ -110,7 +110,7 @@ PLUGINS = ["nautobot_secrets_providers"] Before you proceed, you must have **at least one** of the dependent libaries installed as detailed above. -Please do not enable this plugin until you are able to install the dependencies, as it will block Nautobot from starting. +Please do not enable this app until you are able to install the dependencies, as it will block Nautobot from starting. ### AWS @@ -177,7 +177,7 @@ PLUGINS_CONFIG = { ### Delinea/Thycotic Secret Server (TSS) -The Delinea/Thycotic Secret Server plugin includes two providers: +The Delinea/Thycotic Secret Server app includes two providers: - **`Thycotic Secret Server by ID`** @@ -237,7 +237,7 @@ The project is packaged with a light development environment based on `docker-co The project is following Network to Code software development guidelines and is leveraging: - Black, Pylint, Bandit and pydocstyle for Python linting and formatting. -- Django unit test to ensure the plugin is working properly. +- Django unit test to ensure the app is working properly. ### Development Environment @@ -351,8 +351,8 @@ Each command can be executed with `invoke `. Environment variables `INV flake8 This will run flake8 for the specified name and Python version. pydocstyle Run pydocstyle to validate docstring formatting adheres to NTC defined standards. pylint Run pylint code analysis. - tests Run all tests for this plugin. - unittest Run Django unit tests for the plugin. + tests Run all tests for this app. + unittest Run Django unit tests for the app. ``` ### Project Documentation diff --git a/docs/admin/compatibility_matrix.md b/docs/admin/compatibility_matrix.md index 7dbac9b..70013dc 100644 --- a/docs/admin/compatibility_matrix.md +++ b/docs/admin/compatibility_matrix.md @@ -1,8 +1,8 @@ # Compatibility Matrix !!! warning "Developer Note - Remove Me!" - Explain how the release models of the plugin and of Nautobot work together, how releases are supported, how features and older releases are deprecated etc. + Explain how the release models of the app and of Nautobot work together, how releases are supported, how features and older releases are deprecated etc. -| Nautobot's Secrets Providers Plugin Version | Nautobot First Support Version | Nautobot Last Support Version | +| Nautobot's Secrets Providers App Version | Nautobot First Support Version | Nautobot Last Support Version | | ------------- | -------------------- | ------------- | | 1.0.X | 1.4.0 | 1.99.99 | diff --git a/docs/admin/uninstall.md b/docs/admin/uninstall.md index eed653f..1cc7de8 100644 --- a/docs/admin/uninstall.md +++ b/docs/admin/uninstall.md @@ -4,10 +4,10 @@ Here you will find any steps necessary to cleanly remove the App from your Nauto ## Database Cleanup -Prior to removing the plugin from the `nautobot_config.py`, run the following command to roll back any migration specific to this plugin. +Prior to removing the app from the `nautobot_config.py`, run the following command to roll back any migration specific to this app. ```shell -nautobot-server migrate nautobot_plugin_secrets_providers zero +nautobot-server migrate nautobot_secrets_providers zero ``` !!! warning "Developer Note - Remove Me!" diff --git a/docs/dev/dev_environment.md b/docs/dev/dev_environment.md index 3d2b1f0..1ff6d77 100644 --- a/docs/dev/dev_environment.md +++ b/docs/dev/dev_environment.md @@ -127,8 +127,8 @@ Each command can be executed with `invoke `. All commands support the a flake8 Run flake8 to check that Python files adhere to its style standards. pydocstyle Run pydocstyle to validate docstring formatting adheres to NTC defined standards. pylint Run pylint code analysis. - tests Run all tests for this plugin. - unittest Run Django unit tests for the plugin. + tests Run all tests for this app. + unittest Run Django unit tests for the app. ``` ## Project Overview @@ -290,9 +290,9 @@ This will safely shut down all of your running Docker containers for this projec Your environment should now be fully setup, all necessary Docker containers are created and running, and you're logged into Nautobot in your web browser. Now what? -Now you can start developing your plugin in the project folder! +Now you can start developing your app in the project folder! -The magic here is the root directory is mounted inside your Docker containers when built and ran, so **any** changes made to the files in here are directly updated to the Nautobot plugin code running in Docker. This means that as you modify the code in your plugin folder, the changes will be instantly updated in Nautobot. +The magic here is the root directory is mounted inside your Docker containers when built and ran, so **any** changes made to the files in here are directly updated to the Nautobot app code running in Docker. This means that as you modify the code in your app folder, the changes will be instantly updated in Nautobot. !!! warning There are a few exceptions to this, as outlined in the section [To Rebuild or Not To Rebuild](#to-rebuild-or-not-to-rebuild). @@ -316,7 +316,7 @@ When trying to debug an issue, one helpful thing you can look at are the logs wi !!! info Want to limit the log output even further? Use the `--tail <#>` command line argument in conjunction with `-f`. -So for example, our plugin is named `nautobot-secrets-providers`, the command would most likely be `docker logs nautobot_secrets_providers_nautobot_1 -f`. You can find the name of all running containers via `docker ps`. +So for example, our app is named `nautobot-secrets-providers`, the command would most likely be `docker logs nautobot_secrets_providers_nautobot_1 -f`. You can find the name of all running containers via `docker ps`. If you want to view the logs specific to the worker container, simply use the name of that container instead. @@ -342,7 +342,7 @@ Once completed, the new/updated environment variables should now be live. ### Installing Additional Python Packages -If you want your plugin to leverage another available Nautobot plugin or another Python package, you can easily add them into your Docker environment. +If you want your app to leverage another available Nautobot app or another Python package, you can easily add them into your Docker environment. ```bash ➜ poetry shell @@ -357,18 +357,18 @@ Once the dependencies are resolved, stop the existing containers, rebuild the Do ➜ invoke start ``` -### Installing Additional Nautobot Plugins +### Installing Additional Nautobot Apps -Let's say for example you want the new plugin you're creating to integrate into Slack. To do this, you will want to integrate into the existing Nautobot ChatOps Plugin. +Let's say for example you want the new app you're creating to integrate into Slack. To do this, you will want to integrate into the existing Nautobot ChatOps App. ```bash ➜ poetry shell ➜ poetry add nautobot-chatops ``` -Once you activate the virtual environment via Poetry, you then tell Poetry to install the new plugin. +Once you activate the virtual environment via Poetry, you then tell Poetry to install the new app. -Before you continue, you'll need to update the file `development/nautobot_config.py` accordingly with the name of the new plugin under `PLUGINS` and any relevant settings as necessary for the plugin under `PLUGINS_CONFIG`. Since you're modifying the underlying OS (not just Django files), you need to rebuild the image. This is a similar process to updating environment variables, which was explained earlier. +Before you continue, you'll need to update the file `development/nautobot_config.py` accordingly with the name of the new app under `PLUGINS` and any relevant settings as necessary for the app under `PLUGINS_CONFIG`. Since you're modifying the underlying OS (not just Django files), you need to rebuild the image. This is a similar process to updating environment variables, which was explained earlier. ```bash ➜ invoke stop @@ -376,7 +376,7 @@ Before you continue, you'll need to update the file `development/nautobot_config ➜ invoke start ``` -Once the containers are up and running, you should now see the new plugin installed in your Nautobot instance. +Once the containers are up and running, you should now see the new app installed in your Nautobot instance. !!! note You can even launch an `ngrok` service locally on your laptop, pointing to port 8080 (such as for chatops development), and it will point traffic directly to your Docker images. diff --git a/docs/index.md b/docs/index.md index c540710..dbfdad4 100644 --- a/docs/index.md +++ b/docs/index.md @@ -1,6 +1,6 @@ # NautobotSecretsProviders -TODO: Write plugin documentation, the outline here is provided as a guide and should be expanded upon. If more detail is required you are encouraged to expand on the table of contents (TOC) in `mkdocs.yml` to add additional pages. +TODO: Write app documentation, the outline here is provided as a guide and should be expanded upon. If more detail is required you are encouraged to expand on the table of contents (TOC) in `mkdocs.yml` to add additional pages. ## Description diff --git a/mkdocs.yml b/mkdocs.yml index 44ec061..ad67a3c 100644 --- a/mkdocs.yml +++ b/mkdocs.yml @@ -1,10 +1,10 @@ --- dev_addr: "127.0.0.1:8001" -edit_uri: "edit/main/nautobot-plugin-secrets-providers/docs" +edit_uri: "edit/main/nautobot-app-secrets-providers/docs" site_dir: "nautobot_secrets_providers/static/nautobot_secrets_providers/docs" -site_name: "Nautobot's Secrets Providers Plugin Documentation" +site_name: "Nautobot's Secrets Providers App Documentation" site_url: "https://docs.nautobot.com/projects/secrets-providers/en/latest/" -repo_url: "https://github.com/nautobot/nautobot-plugin-secrets-providers" +repo_url: "https://github.com/nautobot/nautobot-app-secrets-providers" copyright: "Copyright © The Authors" theme: name: "material" diff --git a/nautobot_secrets_providers/__init__.py b/nautobot_secrets_providers/__init__.py index 12e4c7c..317b14b 100644 --- a/nautobot_secrets_providers/__init__.py +++ b/nautobot_secrets_providers/__init__.py @@ -1,4 +1,4 @@ -"""Plugin declaration for nautobot_secrets_providers.""" +"""App declaration for nautobot_secrets_providers.""" # Metadata is inherited from Nautobot. If not including Nautobot in the environment, this should be added from importlib import metadata @@ -8,7 +8,7 @@ class NautobotSecretsProvidersConfig(NautobotAppConfig): - """Plugin configuration for the nautobot_secrets_providers plugin.""" + """App configuration for the nautobot_secrets_providers app.""" name = "nautobot_secrets_providers" verbose_name = "Secrets Management Extensions" diff --git a/nautobot_secrets_providers/providers/delinea.py b/nautobot_secrets_providers/providers/delinea.py index aed6f68..ae56a1a 100644 --- a/nautobot_secrets_providers/providers/delinea.py +++ b/nautobot_secrets_providers/providers/delinea.py @@ -51,9 +51,9 @@ class ThycoticSecretServerSecretsProviderBase(SecretsProvider): @classmethod def get_value_for_secret(cls, secret, obj=None, **kwargs): # pylint: disable=too-many-locals - """Return the value stored under the secret’s key in the secret’s path.""" + """Return the value stored under the secret's key in the secret's path.""" # This is only required for Thycotic Secret Server therefore not defined in - # `required_settings` for the plugin config. + # `required_settings` for the app config. plugin_settings = settings.PLUGINS_CONFIG["nautobot_secrets_providers"] if "thycotic" not in plugin_settings: raise exceptions.SecretProviderError(secret, cls, "Thycotic Secret Server is not configured!") diff --git a/nautobot_secrets_providers/tests/__init__.py b/nautobot_secrets_providers/tests/__init__.py index 40ccc72..1ce0a46 100644 --- a/nautobot_secrets_providers/tests/__init__.py +++ b/nautobot_secrets_providers/tests/__init__.py @@ -1 +1 @@ -"""Unit tests for nautobot_secrets_providers plugin.""" +"""Unit tests for nautobot_secrets_providers app.""" diff --git a/nautobot_secrets_providers/tests/test_providers.py b/nautobot_secrets_providers/tests/test_providers.py index 24f2998..d8eba67 100644 --- a/nautobot_secrets_providers/tests/test_providers.py +++ b/nautobot_secrets_providers/tests/test_providers.py @@ -248,7 +248,7 @@ def test_v1(self, requests_mocker): @requests_mock.Mocker() def test_v2_fallback(self, requests_mocker): """ - Before https://github.com/nautobot/nautobot-plugin-secrets-providers/pull/53 was merged, the Hashicorp + Before https://github.com/nautobot/nautobot-app-secrets-providers/pull/53 was merged, the Hashicorp provider would only support KV v2 and did not include a way to specify the KV version. This test ensures that the provider will still work without the kv_version parameter. """ diff --git a/nautobot_secrets_providers/urls.py b/nautobot_secrets_providers/urls.py index 18f342f..7a00e21 100644 --- a/nautobot_secrets_providers/urls.py +++ b/nautobot_secrets_providers/urls.py @@ -1,4 +1,4 @@ -"""Django urlpatterns declaration for nautobot_secrets_providers plugin.""" +"""Django urlpatterns declaration for nautobot_secrets_providers app.""" from django.urls import path from nautobot_secrets_providers import views diff --git a/nautobot_secrets_providers/views.py b/nautobot_secrets_providers/views.py index 92678a8..ea5be32 100644 --- a/nautobot_secrets_providers/views.py +++ b/nautobot_secrets_providers/views.py @@ -1,4 +1,4 @@ -"""Plugin UI views for Secrets Providers.""" +"""App UI views for Secrets Providers.""" from django.views.generic import TemplateView @@ -6,7 +6,7 @@ class SecretsProvidersHomeView(TemplateView): - """Plugin home page for Secrets Providers.""" + """App home page for Secrets Providers.""" template_name = "nautobot_secrets_providers/home.html" diff --git a/pyproject.toml b/pyproject.toml index ab5e058..65f9801 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -5,9 +5,9 @@ description = "Nautobot Secrets Providers App" authors = ["Network to Code, LLC "] license = "Apache-2.0" readme = "README.md" -homepage = "https://github.com/nautobot/nautobot-plugin-secrets-providers" -repository = "https://github.com/nautobot/nautobot-plugin-secrets-providers" -keywords = ["nautobot", "nautobot-plugin"] +homepage = "https://github.com/nautobot/nautobot-app-secrets-providers" +repository = "https://github.com/nautobot/nautobot-app-secrets-providers" +keywords = ["nautobot", "nautobot-plugin", "nautobot-app"] classifiers = [ "Intended Audience :: Developers", "Development Status :: 5 - Production/Stable", diff --git a/tasks.py b/tasks.py index 23142e9..bf2f545 100644 --- a/tasks.py +++ b/tasks.py @@ -671,7 +671,7 @@ def unittest_coverage(context): } ) def tests(context, failfast=False, keepdb=False, lint_only=False): - """Run all tests for this plugin.""" + """Run all tests for this app.""" # If we are not running locally, start the docker containers so we don't have to for each test if not is_truthy(context.nautobot_secrets_providers.local): print("Starting Docker Containers...")