Serialized Data Interface for Juju Operators
Project description
Serialized Data Interface Library
https://pypi.org/project/serialized-data-interface/
This libraries enables its user to create serialized and validated Juju Operator interfaces.
An interface Schema will be defined through YAML e.g:
v1:
provides:
type: object
properties:
access-key:
type: string
namespace:
type: ['string', 'null']
port:
type: number
secret-key:
type: string
secure:
type: boolean
service:
type: string
required:
- access-key
- port
- secret-key
- secure
- service
When our charms interchange data, this library will validate the data through the schema on both ends.
Usage
In our charm metadata we would add the following lines to define our schema and the supported versions:
provides:
oidc-client:
interface: oidc-client
schema: https://raw.githubusercontent.com/canonical/operator-schemas/oidc-schemas/oidc-client.yaml
versions: [v1]
In this case SDI will pull the schema from Github during deployment. If we want to deploy our charm
in environments where Github isn't available we can pull the schemas during our build process by
adding some lines like this in our tox.ini
file:
[testenv:build]
commands =
charmcraft build
python3 -m serialized_data_interface.local_sdi
Real World Example
- Minio with Provider Interface
- Argo Controller with Requirer Interface:
TODO
- Currently only provides data to App relations, should also support unit relations.
Project details
Release history Release notifications | RSS feed
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 serialized_data_interface-0.7.0.tar.gz
.
File metadata
- Download URL: serialized_data_interface-0.7.0.tar.gz
- Upload date:
- Size: 18.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.9.6 Darwin/22.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | be92b60a971b1f88c0886e08f54d95930bf08c86927d130c0bdda37b85522de6 |
|
MD5 | c9c121a59da16973613edc72c41d1108 |
|
BLAKE2b-256 | a5f3622d6fd4c753368c4784b7ff06e11b6af358ec2bd67f33e1046b86538074 |
File details
Details for the file serialized_data_interface-0.7.0-py3-none-any.whl
.
File metadata
- Download URL: serialized_data_interface-0.7.0-py3-none-any.whl
- Upload date:
- Size: 21.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.5.1 CPython/3.9.6 Darwin/22.5.0
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 5b1a0d23dd662d49f2c78451b9cf7fab42b5a8650535dbf77c29afe1f1fb418f |
|
MD5 | 3e3313944ab2ffbda9d9ced02e2867c0 |
|
BLAKE2b-256 | 9ff381ec31bd2c5c08d338d58cf0e73aea9ffca2acbfcf86563ccd343f899334 |