Skip to content

chore(istio-metadata): make schema compatible with new format - #666

Open
james-garner-canonical wants to merge 1 commit into
canonical:mainfrom
james-garner-canonical:26-08+chore+interface-schemas-service-mesh
Open

chore(istio-metadata): make schema compatible with new format#666
james-garner-canonical wants to merge 1 commit into
canonical:mainfrom
james-garner-canonical:26-08+chore+interface-schemas-service-mesh

Conversation

@james-garner-canonical

Copy link
Copy Markdown
Collaborator

The new interface schema format requires four names to all be provided: ProviderAppData, ProviderUnitData, RequirerAppData and RequirerUnitData, setting a databag that is always empty to None. This PR adds these four names to the existing schema -- all None except for ProviderAppData, which is an alias for IstioMetadataAppData.

These names are for consumption by the charmlibs repo machinery, not for library users, so they aren't exported publicly from the library.

A follow up PR will document this new format and add tooling to enforce it, after similar PRs have landed for all the other CODEOWNERS in this repository.

Interface schemas no longer wrap their models in the `ProviderSchema` and
`RequirerSchema` classes from `pytest-interface-tester`. Instead a schema names
all four databags directly, as `ProviderAppData`, `ProviderUnitData`,
`RequirerAppData` and `RequirerUnitData`, setting a databag that is always empty
to `None`.

Naming all four makes an empty databag a deliberate choice a reviewer can see,
and makes a misspelled name an error rather than a silently empty databag. The
models are unchanged; only the wrapper classes around them are gone. Dropping
the `pytest-interface-tester` import leaves Pydantic as the only dependency
needed to read a schema.

`IstioMetadataAppData` is part of the library's public API, so it is aliased
rather than renamed.

A follow-up PR documents the format and adds a CI check for it, once every
interface has been migrated.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
@james-garner-canonical
james-garner-canonical marked this pull request as ready for review September 3, 2026 06:01
@james-garner-canonical
james-garner-canonical requested a review from a team as a code owner September 3, 2026 06:01
@james-garner-canonical
james-garner-canonical force-pushed the 26-08+chore+interface-schemas-service-mesh branch from cc5dcd5 to 79082b7 Compare September 11, 2026 03:10
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants