Simplified bootstrapping of a cluster (#40)

* Simplified bootstrapping of a cluster

Introduced a new convention about a pre-defined `bootstrap-admin` account for `orchard controller run`. Providing `ORCHARD_BOOTSTRAP_ADMIN_TOKEN` will auto-create such user for easier configuration. `bootstrap-admin` can be used for creating other service accounts on the first run and after that can be disposed.

Also change `orchard worker run` to expect controller URL as the only parameter and a bootstrap token passed via an argument instead of using a context that might not be created.

* Missing error check
This commit is contained in:
Fedor Korotkov
2023-03-22 23:43:37 +04:00
committed by GitHub
parent 9b5ad09841
commit cdf5c5eb00
8 changed files with 100 additions and 39 deletions
+6
View File
@@ -129,6 +129,12 @@ func (controller *Controller) EnsureServiceAccount(serviceAccount *v1.ServiceAcc
})
}
func (controller *Controller) DeleteServiceAccount(name string) error {
return controller.store.Update(func(txn storepkg.Transaction) error {
return txn.DeleteServiceAccount(name)
})
}
func (controller *Controller) Run(ctx context.Context) error {
// Run the scheduler so that each VM will eventually
// be assigned to a specific WorkerUID