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.1.tar.gz (67.3 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.1-py3-none-any.whl (28.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: canonical_service_mesh-0.0.1.tar.gz
  • Upload date:
  • Size: 67.3 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.1.tar.gz
Algorithm Hash digest
SHA256 d271e6c326060540a1aa05fd6ff57b5f8199f54a3aac9871209e5e812980b5e3
MD5 b6af0d20bfac9cacaed5f6228b75a164
BLAKE2b-256 9dc8160769d7e8297f6888029abc53dd3107241f9867ec52fd838e06bdb2d694

See more details on using hashes here.

Provenance

The following attestation bundles were made for canonical_service_mesh-0.0.1.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.1-py3-none-any.whl.

File metadata

File hashes

Hashes for canonical_service_mesh-0.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f764455f965efbf3048cf8879ad09dd1c3f7fc0b4cc3215c14e3f201bd7b04c7
MD5 801f02a0db87ca700d0967a3be7369d9
BLAKE2b-256 ca008134f6d30f0d8ccd137f15be768ea5513912d595eb601ed7206ea3a4a411

See more details on using hashes here.

Provenance

The following attestation bundles were made for canonical_service_mesh-0.0.1-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