MetroStar Onyx - Label Studio plugin for Nebari platform
Project description
Nebari Plugin Label-Studio Chart
Overview
This plugin integrates Label Studio into the Nebari platform, allowing seamless labeling functionality within Nebari. Utilizing Python, Terraform, Kubernetes, and Helm charts, the plugin provides a configurable deployment and authentication through Keycloak.
Design and Architecture
The plugin follows a modular design, leveraging Terraform to define the deployment of Label Studio within a Kubernetes cluster. Key components include:
- Terraform Configuration: Defines variables, outputs, and resources for deployment, including Helm release, Keycloak authentication, and Kubernetes secrets.
- Helm Chart Integration: Deploys Label Studio as a Helm chart within the specified Kubernetes namespace.
- Authentication: Utilizes Keycloak for OpenID authentication, including user roles and group memberships.
Installation Instructions
pip install nebari-plugin-label-studio-chart
Usage Instructions
- Configurations: Various configurations are available, including domain, realm ID, client ID, signing key, and namespace settings.
- Authentication: Enable or disable authentication and define specific OpenID parameters.
Configuration Details
Public
Configuration of the Label Studio plugin is controlled through the label_studio
section of the nebari-config.yaml
for the environment.
label_studio:
# helm release name - default label-studio
name: label-studio
# target namespace - default (nebari global namespace)
namespace: label-studio
# enable or disable traefik auth proxy and keycloak integration
auth:
enabled: true
# helm chart values overrides
values: {}
Internal
The following configuration values apply to the internally managed terraform module and are indirectly controlled through related values in nebari-config.yaml
.
name
: Chart name for Helm release.domain
: Domain for the plugin's deployment.realm_id
,client_id
: Keycloak authentication settings.base_url
,external_url
,valid_redirect_uris
: OpenID URLs.signing_key_ref
: Signing key reference information.create_namespace
,namespace
: Kubernetes namespace configuration.overrides
: Map for overriding default configurations.auth_enabled
: Flag to enable/disable authentication.
Testing Overview
The plugin includes unit tests to validate its core functionalities:
- Constructor Test: Verifies the default name and priority.
- Input Variables Test: Validates domain, realm ID, client ID, and external URL settings.
- Default Namespace Test: Tests the default namespace configuration.
Version Information
- Plugin Version: 0.0.5
License
nebari-plugin-label-studio-chart
is distributed under the terms of the Apache license.
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file nebari_plugin_label_studio_chart-0.0.6.tar.gz
.
File metadata
- Download URL: nebari_plugin_label_studio_chart-0.0.6.tar.gz
- Upload date:
- Size: 11.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 21b2fed58580c83e0f7b00a53d0ff3aa8e5e02f54863a68a1700b83056c5072b |
|
MD5 | 435c73ac2373678a3d634a406cdad221 |
|
BLAKE2b-256 | 8ca0ecc887937abc2f5a6be8c34bbfaafc395cf8458b52f9dd09884e4dc3e325 |
File details
Details for the file nebari_plugin_label_studio_chart-0.0.6-py3-none-any.whl
.
File metadata
- Download URL: nebari_plugin_label_studio_chart-0.0.6-py3-none-any.whl
- Upload date:
- Size: 14.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/4.0.2 CPython/3.11.7
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 92158709845a39c2c6d57ad93182af650ada7d97d354c40a85adf9fd501f6fcf |
|
MD5 | 1b919c1d573d32c0021958e0df1d97a9 |
|
BLAKE2b-256 | f41daf616d1d08620361c9f4606e7f33fd29c80b2e208cf7be42ca3111ff0e7c |