<@U07K0B7U3PW> <@U04S8PLJWMT> In what situations t...
# replication-ask-ai
i
@Hi @kapa.ai In what situations the bootloader starts?
k
Based on the provided documentation and community reports, the
airbyte-bootloader
starts in the following situations: * Initial Installation: The bootloader is the first component to start during a new Airbyte installation [[Troubleshooting abctl (1.8)](https://docs.airbyte.com/platform/1.8/deploying-airbyte/troubleshoot-deploy)]. Its primary role is to initialize databases, check migration compatibility, and set up the initial workspace [[Forum Post: 3843](https://discuss.airbyte.io/t/3843)]. * Version Upgrades: When upgrading Airbyte (e.g., using
abctl
or Helm), the bootloader runs to handle database migrations and ensure the schema is compatible with the new version [[Github Issue: 55251](https://github.com/airbytehq/airbyte/issues/55251); [Forum Post: 3843](https://discuss.airbyte.io/t/3843)]. * Infrastructure Changes: It typically runs whenever a Helm deployment is triggered (e.g., changing resource limits), unless it has been explicitly disabled in the
values.yaml
configuration [[Github Issue: 60318](https://github.com/airbytehq/airbyte/issues/60318)]. * Pod Restarts/Retries: If the bootloader fails (often due to database connectivity issues), Kubernetes will attempt to restart the pod until it succeeds or reaches a failure threshold [[Github Issue: 60318](https://github.com/airbytehq/airbyte/issues/60318); [Troubleshooting abctl (1.8)](https://docs.airbyte.com/platform/1.8/deploying-airbyte/troubleshoot-deploy)]. The bootloader's success is a prerequisite for the rest of the Airbyte components to function correctly, as it verifies the database connection and runs required Flyway migrations [[Forum Post: 3843](https://discuss.airbyte.io/t/3843); [Forum Post: 3825](https://discuss.airbyte.io/t/3825)].
i
@kapa.ai when bootload run - does it always restarts the pods?
k
A message from kapa.ai
The knowledge sources do not explicitly state that the bootloader "always restarts" all existing pods. However, they describe how the bootloader interacts with the rest of the deployment in a way that often involves pod restarts or updates: * Dependency Requirements: In standard Airbyte deployments (Docker Compose and Kubernetes/Helm), most core services like the
server
,
worker
, and
cron
are configured with a
depends_on
condition or a pre-install hook that requires the bootloader to complete successfully first [[Forum Post (3748)](https://discuss.airbyte.io/t/3748)]. * Upgrades and Migrations: The bootloader is responsible for upgrading and migrating database tables [[Architecture Overview](https://docs.airbyte.com/platform/understanding-airbyte/high-level-view)]. To perform an upgrade to a new version, you must stop and start the containers to pull the new images, which inherently involves restarting the pods [[Forum Post (619)](https://discuss.airbyte.io/t/619)]. * Rollout Behavior: During installation or updates, other pods (such as
airbyte-server
or
airbyte-worker
) may roll or restart repeatedly if they cannot connect to the platform services while the bootloader is still running or if there are configuration issues [[Github Issue (50948)](https://github.com/airbytehq/airbyte/issues/50948)]. In summary, while the bootloader itself doesn't technically "command" other pods to restart, it is the gatekeeper for the deployment process; other services typically won't start successfully until the bootloader has confirmed the environment and database are ready.