ArchitectureOverview
Background tasks
Seven tasks run in ferryd with no request from you.
Each second, the route watcher reads the host ports of the instances. It updates the route table.
1 / 3
All the tasks
| Task | When | What it does |
|---|---|---|
| Deploy workers | One per service that has deploys in the queue | Each worker runs the deploys of its service one at a time, in order. The server builds 2 images at a time (--build-concurrency). See Deploy pipeline. |
| Reconciler | At boot, each 10 seconds, and after scale, suspend and resume | It makes the containers and the routes agree with the store. See Reconciler. |
| Route watcher | Each second | It follows the host ports of the instances. Thus the routes follow a container that Docker restarted on a new port. |
| OOM watcher | On each Docker oom event | It logs each container of this server that the kernel killed because of its memory limit. See OOM watcher. |
| Cron scheduler | About each 15 seconds | It starts the runs of the cron jobs whose schedule is due (UTC). It skips the runs that the server missed while it was down. |
| Change-feed detector | Each second, only while a client listens | It compares the store and sends what changed. |
| TLS manager | With --https-addr and --acme-email | It requests certificates for the public hosts. It renews those that expire in less than 30 days. |