in hack/deployer/runner/eks.go [101:150]
func (e *EKSDriver) Execute() error {
defer e.runCleanup()
if err := e.auth(); err != nil {
return err
}
exists, err := e.clusterExists()
if err != nil {
return fmt.Errorf("while checking cluster exists %w", err)
}
switch e.plan.Operation {
case DeleteAction:
if exists {
if err = e.delete(); err != nil {
return err
}
}
log.Printf("Not deleting cluster as it does not exist")
case CreateAction:
//nolint:nestif
if !exists {
log.Printf("Creating cluster ...")
if err := e.ensureWorkDir(); err != nil {
return fmt.Errorf("while ensuring work dir %w", err)
}
var createCfg bytes.Buffer
if err := template.Must(template.New("").Parse(clusterCreationTemplate)).Execute(&createCfg, e.ctx); err != nil {
return fmt.Errorf("while formatting cluster create cfg %w", err)
}
createCfgFile := filepath.Join(e.ctx["WorkDir"].(string), "cluster.yaml") //nolint:forcetypeassert
e.ctx["CreateCfgFile"] = createCfgFile
if err := os.WriteFile(createCfgFile, createCfg.Bytes(), 0600); err != nil {
return fmt.Errorf("while writing create cfg %w", err)
}
if err := e.newCmd(`eksctl create cluster -v 1 -f {{.CreateCfgFile}}`).Run(); err != nil {
return err
}
if err := e.GetCredentials(); err != nil {
return err
}
} else {
log.Printf("Not creating cluster as it already exists")
}
if err := setupDisks(e.plan); err != nil {
return err
}
return createStorageClass()
}
return nil
}