Skip to main content

Shared utilities for Charmed Service Mesh.

Project description

canonical_service_mesh

A shared utility library for the Charmed Service Mesh ecosystem.

Purpose

The Charmed Service Mesh ecosystem will contain charms that integrate service mesh technologies into the Juju ecosystem. These charms and their interface libraries share a significant amount of common code: Pydantic models for Kubernetes resource creation and service mesh CRD resources, lightkube-based resource management, label generation and authorization policies etc.

This package is the single home for all of that shared utility code. By centralizing it here, every charm and interface library depends on one well-maintained package instead of copying code between repositories or pulling from multiple helper packages.

Ecosystem

The ecosystem has three layers:

  1. This package (canonical_service_mesh) provides models, resource managers, and helpers. It has no knowledge of Juju relations or charm lifecycle, which keeps it testable and reusable.
  2. Interface libraries (via the charmlibs monorepo) define the relation databag schemas and the interface classes. They import from this package.
  3. Charms contain purely the charm specific logic and consume the interface and the canonical_service_mesh libraries.

Package structure

enums

Shared enumerations used across the ecosystem.

models

Pydantic models for Kubernetes and service mesh resources. The top-level models module contains generic Kubernetes Gateway API resource models. The models.istio subpackage contains Istio-specific CRD specs for authorization policies and request authentication.

utils

Helper functions for Kubernetes label generation, Juju identity resolution, and service mesh specific operations like label ConfigMap reconciliation and policy resource construction.

k8s

Kubernetes resource management built on lightkube. The k8s.resource_manager subpackage provides declarative resource lifecycle management with label-based ownership, policy resource management, and batch operations. The k8s.types subpackage defines lightkube type aliases and custom resource definitions.

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

canonical_service_mesh-0.0.2.tar.gz (67.8 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

canonical_service_mesh-0.0.2-py3-none-any.whl (28.4 kB view details)

Uploaded Python 3

File details

Details for the file canonical_service_mesh-0.0.2.tar.gz.

File metadata

  • Download URL: canonical_service_mesh-0.0.2.tar.gz
  • Upload date:
  • Size: 67.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for canonical_service_mesh-0.0.2.tar.gz
Algorithm Hash digest
SHA256 8d126ac1144ebd4d0220e3346e2c8e282235426cc0e42004b9fcaef1f4091981
MD5 df9c62450feb6494d5d2f02d16eebbb3
BLAKE2b-256 b2821eb5b4c6a129062ef2703b29f375cb56453bb02ce2a95e30ccb5259f015c

See more details on using hashes here.

Provenance

The following attestation bundles were made for canonical_service_mesh-0.0.2.tar.gz:

Publisher: canonical-service-mesh-release.yaml on canonical/service-mesh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file canonical_service_mesh-0.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for canonical_service_mesh-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 7bf52dcd1d7f3ed32fdd7c1e8bfdead1c427356b43ac7532fa1daf70e2592d39
MD5 7e0725eb6af0153d4fdb974b0cc7456e
BLAKE2b-256 6a56663969013533e866277a3dedb7320ebdfed966e4c7d6a175080a22aab042

See more details on using hashes here.

Provenance

The following attestation bundles were made for canonical_service_mesh-0.0.2-py3-none-any.whl:

Publisher: canonical-service-mesh-release.yaml on canonical/service-mesh

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page