# `Electric.Replication.PublicationManager.Supervisor`
[🔗](https://github.com/electric-sql/electric/tree/%40core/sync-service%401.6.2/packages/sync-service/lib/electric/replication/publication_manager/supervisor.ex#L1)

Supervisor for the PublicationManager components.

The strategy is `:one_for_one`, supervising the `RelationTracker` and
`Configurator` processes.

The `Configurator` process always starts after the `RelationTracker` process, and
as part of its initialization it fetches the current set of shape filters. This makes
the system resilient to `Configurator` restarts as it will always be eager to
commit any outstanding filters to the publication.

The `RelationTracker` process does not depend on the `Configurator` process being
alive to function correctly, as it only tracks the shapes and their filters, and
notifies the `Configurator` of any changes. The system is resilient to `RelationTracker`
restarts as it repopulates its filters from the in-memory shape status cache, and
can handle notifications for filters it is not tracking.

# `child_spec`

Returns a specification to start this module under a supervisor.

See `Supervisor`.

# `name`

# `start_link`

---

*Consult [api-reference.md](api-reference.md) for complete listing*
