In Juju, an endpoint is a struct defined in an application’s charm’s metadata.yaml
/ (since Charmcraft 2.5) charmcraft.yaml
consisting of
- a name (charm-specific),
- a role (one of
provides
,requires
= ‘can use’, orpeers
), and - an interface
whose purpose is to help define a relation (integration).
For example, the MySQL application deployed from the mysql
charm has an endpoint called mysql
with role provides
and interface mysql
and this can be used to form a non-subordinate relation with WordPress.
See more: GitHub |
mysql-operator
>metadata.yaml
, Charmhub |mysql
All charms have an implicit (not in their metadata.yaml
/ charmcraft.yaml
) endpoint with name juju-info
, role provides
, and interface juju-info
which can be used to form subordinate relations with subordinate charms that have an explicit endpoint with name juju-info
, role requires
, and interface juju-info
(e.g., mysql-router
).