ArchitectureOverview
The store
The store is the part of ferry-core that reads and writes the SQLite database of Ferry.
The store has the desired state. It says what must run:
- Which deploy is live for each service.
- How many instances the service wants.
- If you suspended the service.
- Which datastores exist.
Docker says what runs. The reconciler compares the two.
The file is ferry.db, a SQLite database, in the data directory. The proxy never reads it on the request path.
The crate ferry-core
ferry-core is a library. It has the types and the rules that all the other crates share. It depends on no other Ferry crate.
In ferry-core | |
|---|---|
| Models | The domain models. The types of the API requests and responses. |
| Configuration | The configuration. Validation. The ranges of the resource limits and how to parse them. |
| Environment | How to merge env vars and how to resolve references. |
| Storage | The SQLite Store. |
| Names and time | Docker names. Cron schedules. |
| Traits | Engine and TlsHooks, which keep the other crates apart. |