bluecat-automation-toolkit


Namebluecat-automation-toolkit JSON
Version 1.0.0b2 PyPI version JSON
download
home_pageNone
SummaryUtility tool for working with Bluecat Gateway workflow
upload_time2024-06-28 15:28:53
maintainerNone
docs_urlNone
authorBlueCat
requires_python~=3.9.0
license# Copyright 2023 BlueCat Networks Inc. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the "Software"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in all # copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE.
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            ..
    Copyright 2023 BlueCat Networks Inc.

    Permission is hereby granted, free of charge, to any person obtaining a copy
    of this software and associated documentation files (the "Software"), to deal
    in the Software without restriction, including without limitation the rights
    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
    copies of the Software, and to permit persons to whom the Software is
    furnished to do so, subject to the following conditions:

    The above copyright notice and this permission notice shall be included in all
    copies or substantial portions of the Software.

    THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
    SOFTWARE.


***************************
BlueCat Automation Toolkit
***************************

.. contents:: Table of Contents


Requirements
=================

- Gateway 24.2.0+
- Address Manager 9.5.0+


Description
=================

The BlueCat Automation Toolkit lets you generate BlueCat Gateway workflows quickly and easily.
You can then customize these workflows to fit your specific design requirements.
With this toolkit, you can build both simple, basic workflows and advanced workflows
with a UI that seamlessly integrate with BlueCat Address Manager (BAM).

**Note:** This is an early beta version of the toolkit. BlueCat does not provide support for this software package.



Available commands
===================

Commands that are available on this tookit are shown below.

Create a minimal workflow
---------------------------------------------

.. code-block:: bash

    atk workflow new minimal --name minimal_wf

This command creates a baseline workflow to kickstart your project. It gives you the freedom to
choose any framework to render your workflow's UI. It creates essential files and directories in the primary
output directory, including the `Makefile`, `Dockerfile`, `workspace` directory, and gateway `logs` directory.
Commands in the Makefile build a Docker image and configure the workflow to run on a Gateway Docker
Container. The Dockerfile copies needed files into the workflow, running them using the specified Gateway
image from Quay. The workspace directory contains the new workflow's directory, workflow permissions,
configuration files, and other fundamental components for the new workflow. It also contains route files for
UI rendering and API requests.

To run the workflow right after you create it, follow the instructions below:

1. In the output directory, modify ``workspace/config.py.sample`` to reflect your BAM.
    - Rename this file as `config.py` when you're done.
2. Run the following commands:-
    .. code-block:: bash

        make build
        make run

This runs a docker containerized instance of Gateway with your workflow. Depending on your system needs,
you might have to modify the `run` portion of the Makefile.


Create a minimal user-interface workflow
---------------------------------------------
.. code-block:: bash

    atk workflow new minimal-ui --name minimal_ui_wf

This command creates a new baseline workflow to kickstart your project, also including essential front-end UI files in
the `projects` directory. This command uses React UI to demonstrate workflows with UIs. The projects directory
includes Babel for transpiling Javascript, and Webpack for bundling front-end files. The projects directory also
contains a `Makefile` that runs npm to build and install all packages needed for the UI front-end. You can isolate
the npm action to run from the projects directory, or run them from the Makefile from within the main output
directory. Since this workflow contains front-end ui files, you will be able to navigate to the page to view the
default rendering of the contents of the `App.js` file.

To run the workflow right after you create it, follow the instructions below:

1. In the output directory, modify ``workspace/config.py.sample`` to reflect your BAM.
    - Rename this file as `config.py` when you're done.
2. Run the following commands:-
    .. code-block:: bash

        make ui-req
        make build
        make run

This runs a docker containerized instance of Gateway with your workflow. Depending on your system needs,
you might have to modify the `run` portion of the Makefile.


Create a single form workflow
---------------------------------------------
.. code-block:: bash

    atk workflow new single-form --name single_form_ui

This command creates a new baseline workflow to kickstart your project, including a single, full workflow that
interacts with BAM. This sample workflow uses the `Add Text Record` feature to add a Text Resource Record, using
React UI. This feature (and therefore the workflow itself) requires the REST v2 client to function. Unlike the
minimal_ui_wf sample workflow, this sample workflow's version of `App.js` defines additional UI elements that show
how to use form components to create buttons for Add and Cancel requests. It presents a simple but complete
workflow process, illustrating how a workflow can allow interactions with a Gateway Workflow UI, sending requests
to BAM and receiving a response.

To run the workflow right after you create it, follow the instructions below:

1. In the output directory, modify ``workspace/config.py.sample`` to reflect your BAM.
    - Rename this file as `config.py` when you're done.
2. Run the following commands:-
    .. code-block:: bash

        make ui-req
        make build
        make run

This should run a docker containerized gateway with your workflow. Please look into the `run` portion of
the Makefile to modify according to your needs.



Workflow Localization
---------------------------------------------

To create localized versions of the `minimal-ui` and `single-form` workflows,
use the `--language` parameter. Multiple languages are supported,
with the first parameter serving as the default language.

Example command to generate localizations for a single form workflow with a single language:

.. code-block:: bash

    atk workflow new single-form --name single_form_ui_localization --language en

Example command to generate localizations for a single form workflow with multiple languages. The first language will be the default:

.. code-block:: bash

    atk workflow new single-form --name single_form_ui_localization --language en --language fr

These commands generate translation files that you will modify with translations for
your project. Store translated and localized content in the po (portable object) files.
In the above example, translations should be stored in the files `en.po` (English) and `fr.po` (French).

The above example workflows contain t macros around all text to be localized. If the `po` file is
updated or new text with a t macro added, run `npx @bluecateng/l10n-cli` from your project root directory.

Common Workflow Parameters
---------------------------------------------

The following are common parameters that can be coupled with all available workflow commands from above.
This same output is also seen from the command below:

.. code-block:: bash

    atk workflow new single-form --help

.. code-block:: text

    --link-description TEXT         Description for the link to the workflow's
                                    page.
    --link-title TEXT               Text to display for the link to the
                                    workflow's page.
    -p, --permission TEXT           Name of the permission to be required by the
                                    workflow.
    -o, --output PATH               Path to the directory to place the output
                                    in.
    -n, --name TEXT                 Name of the created workflow. [required]
    --no-copyright                  An alternative way to specify to not include
                                    any copyright notice. Equivalent to
                                    '--copyright-license none'.
    --copyright-year, --cy TEXT     The year to use in the copyright notice.
                                    Defaults to the current year.
    --copyright-name, --cn TEXT     The name of the copyright owner.
    --copyright-license, --cl       The license to put in the copyright notice
    [proprietary|apache2|mit|none]  in the created files.
    -l, --language TEXT             Languages to be supported by the workflow.

This command shows the use case of all parameters at once. The only required parameter is '--name` as described above.

.. code-block:: bash

    atk workflow new single-form --name single_form_all --permission single_form_permission --link-title 'My Single Form'  --link-description 'View my single form' --output test_wf/single_ui_wf/  --cy 2023 --cn single_ui_property --cl mit --language fr


As specified in the parameters, this command will generate single-form workflow with the following characteristics:
 - Name: `single_form_all`
 - Permission Name: `single_form_permission`
 - Title: `My Single Form`
 - Title Description: `View my single form`
 - Output Location: `/test_wf/single_ui_wf/`
 - Copyright Year: `2023`
 - Copyright Name: `single_ui_property`
 - Copyright License: `mit`
 - Localization: `en`

 Copyright can be avoided all together by using the parameter  `--no-copyright`

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "bluecat-automation-toolkit",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "~=3.9.0",
    "maintainer_email": "Stargate <ENG-Stargate-Team@bluecatnetworks.com>",
    "keywords": null,
    "author": "BlueCat",
    "author_email": null,
    "download_url": "https://files.pythonhosted.org/packages/fc/10/80c5e9e462ee669744c945126d7c01d8813ff47181877292fbf141df1d50/bluecat_automation_toolkit-1.0.0b2.tar.gz",
    "platform": null,
    "description": "..\n    Copyright 2023 BlueCat Networks Inc.\n\n    Permission is hereby granted, free of charge, to any person obtaining a copy\n    of this software and associated documentation files (the \"Software\"), to deal\n    in the Software without restriction, including without limitation the rights\n    to use, copy, modify, merge, publish, distribute, sublicense, and/or sell\n    copies of the Software, and to permit persons to whom the Software is\n    furnished to do so, subject to the following conditions:\n\n    The above copyright notice and this permission notice shall be included in all\n    copies or substantial portions of the Software.\n\n    THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\n    IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\n    FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\n    AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\n    LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\n    OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\n    SOFTWARE.\n\n\n***************************\nBlueCat Automation Toolkit\n***************************\n\n.. contents:: Table of Contents\n\n\nRequirements\n=================\n\n- Gateway 24.2.0+\n- Address Manager 9.5.0+\n\n\nDescription\n=================\n\nThe BlueCat Automation Toolkit lets you generate BlueCat Gateway workflows quickly and easily.\nYou can then customize these workflows to fit your specific design requirements.\nWith this toolkit, you can build both simple, basic workflows and advanced workflows\nwith a UI that seamlessly integrate with BlueCat Address Manager (BAM).\n\n**Note:** This is an early beta version of the toolkit. BlueCat does not provide support for this software package.\n\n\n\nAvailable commands\n===================\n\nCommands that are available on this tookit are shown below.\n\nCreate a minimal workflow\n---------------------------------------------\n\n.. code-block:: bash\n\n    atk workflow new minimal --name minimal_wf\n\nThis command creates a baseline workflow to kickstart your project. It gives you the freedom to\nchoose any framework to render your workflow's UI. It creates essential files and directories in the primary\noutput directory, including the `Makefile`, `Dockerfile`, `workspace` directory, and gateway `logs` directory.\nCommands in the Makefile build a Docker image and configure the workflow to run on a Gateway Docker\nContainer. The Dockerfile copies needed files into the workflow, running them using the specified Gateway\nimage from Quay. The workspace directory contains the new workflow's directory, workflow permissions,\nconfiguration files, and other fundamental components for the new workflow. It also contains route files for\nUI rendering and API requests.\n\nTo run the workflow right after you create it, follow the instructions below:\n\n1. In the output directory, modify ``workspace/config.py.sample`` to reflect your BAM.\n    - Rename this file as `config.py` when you're done.\n2. Run the following commands:-\n    .. code-block:: bash\n\n        make build\n        make run\n\nThis runs a docker containerized instance of Gateway with your workflow. Depending on your system needs,\nyou might have to modify the `run` portion of the Makefile.\n\n\nCreate a minimal user-interface workflow\n---------------------------------------------\n.. code-block:: bash\n\n    atk workflow new minimal-ui --name minimal_ui_wf\n\nThis command creates a new baseline workflow to kickstart your project, also including essential front-end UI files in\nthe `projects` directory. This command uses React UI to demonstrate workflows with UIs. The projects directory\nincludes Babel for transpiling Javascript, and Webpack for bundling front-end files. The projects directory also\ncontains a `Makefile` that runs npm to build and install all packages needed for the UI front-end. You can isolate\nthe npm action to run from the projects directory, or run them from the Makefile from within the main output\ndirectory. Since this workflow contains front-end ui files, you will be able to navigate to the page to view the\ndefault rendering of the contents of the `App.js` file.\n\nTo run the workflow right after you create it, follow the instructions below:\n\n1. In the output directory, modify ``workspace/config.py.sample`` to reflect your BAM.\n    - Rename this file as `config.py` when you're done.\n2. Run the following commands:-\n    .. code-block:: bash\n\n        make ui-req\n        make build\n        make run\n\nThis runs a docker containerized instance of Gateway with your workflow. Depending on your system needs,\nyou might have to modify the `run` portion of the Makefile.\n\n\nCreate a single form workflow\n---------------------------------------------\n.. code-block:: bash\n\n    atk workflow new single-form --name single_form_ui\n\nThis command creates a new baseline workflow to kickstart your project, including a single, full workflow that\ninteracts with BAM. This sample workflow uses the `Add Text Record` feature to add a Text Resource Record, using\nReact UI. This feature (and therefore the workflow itself) requires the REST v2 client to function. Unlike the\nminimal_ui_wf sample workflow, this sample workflow's version of `App.js` defines additional UI elements that show\nhow to use form components to create buttons for Add and Cancel requests. It presents a simple but complete\nworkflow process, illustrating how a workflow can allow interactions with a Gateway Workflow UI, sending requests\nto BAM and receiving a response.\n\nTo run the workflow right after you create it, follow the instructions below:\n\n1. In the output directory, modify ``workspace/config.py.sample`` to reflect your BAM.\n    - Rename this file as `config.py` when you're done.\n2. Run the following commands:-\n    .. code-block:: bash\n\n        make ui-req\n        make build\n        make run\n\nThis should run a docker containerized gateway with your workflow. Please look into the `run` portion of\nthe Makefile to modify according to your needs.\n\n\n\nWorkflow Localization\n---------------------------------------------\n\nTo create localized versions of the `minimal-ui` and `single-form` workflows,\nuse the `--language` parameter. Multiple languages are supported,\nwith the first parameter serving as the default language.\n\nExample command to generate localizations for a single form workflow with a single language:\n\n.. code-block:: bash\n\n    atk workflow new single-form --name single_form_ui_localization --language en\n\nExample command to generate localizations for a single form workflow with multiple languages. The first language will be the default:\n\n.. code-block:: bash\n\n    atk workflow new single-form --name single_form_ui_localization --language en --language fr\n\nThese commands generate translation files that you will modify with translations for\nyour project. Store translated and localized content in the po (portable object) files.\nIn the above example, translations should be stored in the files `en.po` (English) and `fr.po` (French).\n\nThe above example workflows contain t macros around all text to be localized. If the `po` file is\nupdated or new text with a t macro added, run `npx @bluecateng/l10n-cli` from your project root directory.\n\nCommon Workflow Parameters\n---------------------------------------------\n\nThe following are common parameters that can be coupled with all available workflow commands from above.\nThis same output is also seen from the command below:\n\n.. code-block:: bash\n\n    atk workflow new single-form --help\n\n.. code-block:: text\n\n    --link-description TEXT         Description for the link to the workflow's\n                                    page.\n    --link-title TEXT               Text to display for the link to the\n                                    workflow's page.\n    -p, --permission TEXT           Name of the permission to be required by the\n                                    workflow.\n    -o, --output PATH               Path to the directory to place the output\n                                    in.\n    -n, --name TEXT                 Name of the created workflow. [required]\n    --no-copyright                  An alternative way to specify to not include\n                                    any copyright notice. Equivalent to\n                                    '--copyright-license none'.\n    --copyright-year, --cy TEXT     The year to use in the copyright notice.\n                                    Defaults to the current year.\n    --copyright-name, --cn TEXT     The name of the copyright owner.\n    --copyright-license, --cl       The license to put in the copyright notice\n    [proprietary|apache2|mit|none]  in the created files.\n    -l, --language TEXT             Languages to be supported by the workflow.\n\nThis command shows the use case of all parameters at once. The only required parameter is '--name` as described above.\n\n.. code-block:: bash\n\n    atk workflow new single-form --name single_form_all --permission single_form_permission --link-title 'My Single Form'  --link-description 'View my single form' --output test_wf/single_ui_wf/  --cy 2023 --cn single_ui_property --cl mit --language fr\n\n\nAs specified in the parameters, this command will generate single-form workflow with the following characteristics:\n - Name: `single_form_all`\n - Permission Name: `single_form_permission`\n - Title: `My Single Form`\n - Title Description: `View my single form`\n - Output Location: `/test_wf/single_ui_wf/`\n - Copyright Year: `2023`\n - Copyright Name: `single_ui_property`\n - Copyright License: `mit`\n - Localization: `en`\n\n Copyright can be avoided all together by using the parameter  `--no-copyright`\n",
    "bugtrack_url": null,
    "license": "# Copyright 2023 BlueCat Networks Inc. # # Permission is hereby granted, free of charge, to any person obtaining a copy # of this software and associated documentation files (the \"Software\"), to deal # in the Software without restriction, including without limitation the rights # to use, copy, modify, merge, publish, distribute, sublicense, and/or sell # copies of the Software, and to permit persons to whom the Software is # furnished to do so, subject to the following conditions: # # The above copyright notice and this permission notice shall be included in all # copies or substantial portions of the Software. # # THE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR # IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, # FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE # AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER # LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, # OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE # SOFTWARE. ",
    "summary": "Utility tool for working with Bluecat Gateway workflow",
    "version": "1.0.0b2",
    "project_urls": {
        "homepage": "https://docs.bluecatnetworks.com",
        "repository": "https://gitlab.bluecatlabs.net/dns-integrity/stargate/automation-toolkit"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "003babe6ffb9ea1675ba5f04b77b26f0f38f303dcebca000470b52349e24a0fd",
                "md5": "9d5776a10df4eda752447d707d75bf20",
                "sha256": "5d14767da03c764c145dc47457225612f204b54032da8d6006cf0d30fd02749b"
            },
            "downloads": -1,
            "filename": "bluecat_automation_toolkit-1.0.0b2-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "9d5776a10df4eda752447d707d75bf20",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "~=3.9.0",
            "size": 492172,
            "upload_time": "2024-06-28T15:28:51",
            "upload_time_iso_8601": "2024-06-28T15:28:51.890556Z",
            "url": "https://files.pythonhosted.org/packages/00/3b/abe6ffb9ea1675ba5f04b77b26f0f38f303dcebca000470b52349e24a0fd/bluecat_automation_toolkit-1.0.0b2-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "fc1080c5e9e462ee669744c945126d7c01d8813ff47181877292fbf141df1d50",
                "md5": "ef8d30c48707ea728c4149c1c7e40d54",
                "sha256": "de615028a43c43810a5aa3f05ef058a2795fcacdc0b20504da50c6a82d19efb2"
            },
            "downloads": -1,
            "filename": "bluecat_automation_toolkit-1.0.0b2.tar.gz",
            "has_sig": false,
            "md5_digest": "ef8d30c48707ea728c4149c1c7e40d54",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "~=3.9.0",
            "size": 2004559,
            "upload_time": "2024-06-28T15:28:53",
            "upload_time_iso_8601": "2024-06-28T15:28:53.990261Z",
            "url": "https://files.pythonhosted.org/packages/fc/10/80c5e9e462ee669744c945126d7c01d8813ff47181877292fbf141df1d50/bluecat_automation_toolkit-1.0.0b2.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-06-28 15:28:53",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "bluecat-automation-toolkit"
}
        
Elapsed time: 0.25416s