sdkms-plugin-registry-builder


Namesdkms-plugin-registry-builder JSON
Version 1.3.0 PyPI version JSON
download
home_pagehttps://support.fortanix.com
SummaryFortanix DSM Plugin Registry Builder
upload_time2025-01-18 00:40:41
maintainerNone
docs_urlNone
authorFortanix
requires_python>=3.7
licenseApache 2.0
keywords sdkms dsm fortanix dsm plugin-registry
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # SDKMS Plugin Registry Builder

This tool builds a SDKMS plugin registry manifest file out of a git repository.
It iterates through each commit and signs it. At each step of the iteration
the tool keeps building the manifest which is a JSON structure with the
following schema:

```json
[
    {
        "name": "<Plugin Name>",
        "versions": {
            "<version>": {
                "path": <path/to/plugin/file>,
                "description": <plugin description>,
                "short_description": <short description used by SDKMS for display in tiles>,
                "release_notes": [
                    <str>,
                    ...
                ],
                "commit": <hexsha>
            },
            ...
        }
    },
    ...
]
```

## Fortanix Plugin Registry

SDKMS Plugin Registries are GIT repositories that contains SDKMS plugins
(custom Lua programs) that can be executed inside SDKMS to achieve certain
business specific logic, or a functionality that is not part of the
core capabilities offered by SDKMS.
The repository should follow the following conventions:

1. Each plugin should have a unique name.
2. There should be just one plugin in each subdirectory.
3. In each subdirectory the following files are required (case-sensitive):
    - `plugin.lua`: Contains the plugin code.
    - `README.md`: Contains a description of the plugin.
    - `metadata.json`: Contains metadata of the plugin. The schema of the JSON should be:

```json
{
    "name": <Plugin name>,
    "version": <Plugin version>,
    "short_description": <Short description of what the plugin does. This text will be displayed in the plugin tile in the UI>,
    "release_notes": [
        <Array of release notes>
    ]
}
```

NOTE: older plugins have a single `plugin.lua` file with metadata stored in the first few lines of the file as comments.
If a plugin follows that convention correctly then the `README.md` and `metadata.json` files are ignored and not required.
In such cases the plugin metadata is extracted from the lua file. Here is an example of this convention:

```lua
-- Name: Test Plugin
-- Version: 1.0
-- Description: Hello, world!
--
-- This is a test.
-- End of description.

function run(input)
   return "Hello, world!"
end
```

## Instructions

Before running this tool it is necessary that the git repository to be built is
setup with the configuration so that its commits can be signed. Once the
repository is setup run:

`sdkms-plugin-registry-builder --repo-dir <Path/to/git/repository>`

            

Raw data

            {
    "_id": null,
    "home_page": "https://support.fortanix.com",
    "name": "sdkms-plugin-registry-builder",
    "maintainer": null,
    "docs_url": null,
    "requires_python": ">=3.7",
    "maintainer_email": null,
    "keywords": "SDKMS, DSM, Fortanix DSM, plugin-registry",
    "author": "Fortanix",
    "author_email": "support@fortanix.com",
    "download_url": "https://files.pythonhosted.org/packages/b8/e2/e59cd62bb4129c51042c929ef6605cf869d9fbd335d91f155b3027c9061c/sdkms_plugin_registry_builder-1.3.0.tar.gz",
    "platform": null,
    "description": "# SDKMS Plugin Registry Builder\n\nThis tool builds a SDKMS plugin registry manifest file out of a git repository.\nIt iterates through each commit and signs it. At each step of the iteration\nthe tool keeps building the manifest which is a JSON structure with the\nfollowing schema:\n\n```json\n[\n    {\n        \"name\": \"<Plugin Name>\",\n        \"versions\": {\n            \"<version>\": {\n                \"path\": <path/to/plugin/file>,\n                \"description\": <plugin description>,\n                \"short_description\": <short description used by SDKMS for display in tiles>,\n                \"release_notes\": [\n                    <str>,\n                    ...\n                ],\n                \"commit\": <hexsha>\n            },\n            ...\n        }\n    },\n    ...\n]\n```\n\n## Fortanix Plugin Registry\n\nSDKMS Plugin Registries are GIT repositories that contains SDKMS plugins\n(custom Lua programs) that can be executed inside SDKMS to achieve certain\nbusiness specific logic, or a functionality that is not part of the\ncore capabilities offered by SDKMS.\nThe repository should follow the following conventions:\n\n1. Each plugin should have a unique name.\n2. There should be just one plugin in each subdirectory.\n3. In each subdirectory the following files are required (case-sensitive):\n    - `plugin.lua`: Contains the plugin code.\n    - `README.md`: Contains a description of the plugin.\n    - `metadata.json`: Contains metadata of the plugin. The schema of the JSON should be:\n\n```json\n{\n    \"name\": <Plugin name>,\n    \"version\": <Plugin version>,\n    \"short_description\": <Short description of what the plugin does. This text will be displayed in the plugin tile in the UI>,\n    \"release_notes\": [\n        <Array of release notes>\n    ]\n}\n```\n\nNOTE: older plugins have a single `plugin.lua` file with metadata stored in the first few lines of the file as comments.\nIf a plugin follows that convention correctly then the `README.md` and `metadata.json` files are ignored and not required.\nIn such cases the plugin metadata is extracted from the lua file. Here is an example of this convention:\n\n```lua\n-- Name: Test Plugin\n-- Version: 1.0\n-- Description: Hello, world!\n--\n-- This is a test.\n-- End of description.\n\nfunction run(input)\n   return \"Hello, world!\"\nend\n```\n\n## Instructions\n\nBefore running this tool it is necessary that the git repository to be built is\nsetup with the configuration so that its commits can be signed. Once the\nrepository is setup run:\n\n`sdkms-plugin-registry-builder --repo-dir <Path/to/git/repository>`\n",
    "bugtrack_url": null,
    "license": "Apache 2.0",
    "summary": "Fortanix DSM Plugin Registry Builder",
    "version": "1.3.0",
    "project_urls": {
        "Homepage": "https://support.fortanix.com"
    },
    "split_keywords": [
        "sdkms",
        " dsm",
        " fortanix dsm",
        " plugin-registry"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "550b45bd54485cfd06bee3a36985cf4348c3b8df8b06d74e1278786f11c28daa",
                "md5": "4f8af9ab84a4de7b8347c08a38a9a709",
                "sha256": "e7474eb7c4394fc2dee5b4fc08866a7433068dd1fc4b1101e4d69dddf8d4e87f"
            },
            "downloads": -1,
            "filename": "sdkms_plugin_registry_builder-1.3.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "4f8af9ab84a4de7b8347c08a38a9a709",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": ">=3.7",
            "size": 6290,
            "upload_time": "2025-01-18T00:40:38",
            "upload_time_iso_8601": "2025-01-18T00:40:38.970165Z",
            "url": "https://files.pythonhosted.org/packages/55/0b/45bd54485cfd06bee3a36985cf4348c3b8df8b06d74e1278786f11c28daa/sdkms_plugin_registry_builder-1.3.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "b8e2e59cd62bb4129c51042c929ef6605cf869d9fbd335d91f155b3027c9061c",
                "md5": "0dd12b4410a4587b60f7a0f674c90a7b",
                "sha256": "d30041ccd2abeb16bcd8ff2f38e8069bbe722af48122426583d9e3b2f6f0398c"
            },
            "downloads": -1,
            "filename": "sdkms_plugin_registry_builder-1.3.0.tar.gz",
            "has_sig": false,
            "md5_digest": "0dd12b4410a4587b60f7a0f674c90a7b",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": ">=3.7",
            "size": 5631,
            "upload_time": "2025-01-18T00:40:41",
            "upload_time_iso_8601": "2025-01-18T00:40:41.384703Z",
            "url": "https://files.pythonhosted.org/packages/b8/e2/e59cd62bb4129c51042c929ef6605cf869d9fbd335d91f155b3027c9061c/sdkms_plugin_registry_builder-1.3.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2025-01-18 00:40:41",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "sdkms-plugin-registry-builder"
}
        
Elapsed time: 0.39197s