marci4 / ws-copy-policy

Copy policy by tag in project/product scope

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Logo

License GitHub release WS Copy Policy Build and Publish Python 3.6

Mend copy policy tool

The script allows copying policies automatically, from the template project/product to the newly created projects/products, and update existing projects with the template policy. It should run periodically, in order to make sure that all the policies under the required projects/products are up to date.

How to use the script

  1. Create an empty project/product or few with the required template policy.
  2. Tag an empty project/product with the following project tag: key=Policy.Template.Source, value=<yourUniqueTemplateName>.
  3. For a new project/product creation that requires the template policy, add the following project/product tag: key=Policy.Template.Destination, value=<yourUniqueTemplateName>. It can be added via the UI or as part of the Unified Agent run.
  4. The template policy will be updated for the required projects/products. Note: Make sure that the tag Policy.Template.Source value is unique and is presented only in one project/product.

What does the script do?

For each project/product in the system, the script extracts the Tag key called: Policy.Template.Source, and the tag key called Policy.Template.Destination. In the event, the tag value of the project/product with Policy.Template.Source tag key equals the tag value of the project/product with Policy.Template.Destination tag key, the script will do the following:

  • Delete the existing policies from the project/product with Policy.Template.Destination tag key.
  • Copy the project/product policies of the project/product with Policy.Template.Source tag key to the project/product with Policy.Template.Destination tag key.

Supported Operating Systems

  • Linux (Bash): CentOS, Debian, Ubuntu, RedHat
  • Windows (PowerShell): 10, 2012, 2016

Prerequisites

  • Python 3.9 or above

Installation and Execution by pulling package from PyPi:

  1. Execute pip install ws-copy-policy
  • Note: If installing packages as a non-root be sure to include the path to the executables within the Operating System paths.
  1. Run report: ws-copy-policy --wssURL <URL> --userKey <USER_KEY> --apiKey <ORG_TOKEN> --scope <COPY_SCOPE> --thread <THREAD_NUMBER> or ws-copy-policy <CONFIG_FILE_PATH>
  • Note: If installing packages as a non-root be sure to include the path to the executables within the Operating System paths.

Configuration Parameters

===============================================================================================================
| Group         | Parameter            | Description                                                          |
===============================================================================================================
| DEFAULT       | wssUrl                | Mend server URL. Can be found under the 'Integrate' tab in          |   
|               |                      | your Mend organization under Server URL:                             |
|               |                      | https://<domain>.whitesourcesoftware.com                             |
---------------------------------------------------------------------------------------------------------------
| DEFAULT       | userKey              | Mend User Key. Can be found under the 'Profile' section in           |
|               |                      | your Mend organization.                                              |
---------------------------------------------------------------------------------------------------------------
| DEFAULT       | apiKey               | Mend API Key. Can be found under the 'Integrate' tab in your         |
|               |                      | your Mend organization.                                              |
---------------------------------------------------------------------------------------------------------------
| DEFAULT       | scope                | The scope where the copying policies should be performed on.         |
|               |                      | Possible values: project/product.                                    |
---------------------------------------------------------------------------------------------------------------
| DEFAULT       | thread               | Multi-threading - speeds up the copying, but it depends              |
|               |                      | on your environment capabilities (default: 5).                       |
===============================================================================================================

Author

Mend.io ©

About

Copy policy by tag in project/product scope

License:Apache License 2.0


Languages

Language:Python 100.0%