github.com/caos/orbos@v1.5.14-0.20221103111702-e6cd0cea7ad4/internal/operator/orbiter/kinds/clusters/kubernetes/destroy.go (about)

     1  package kubernetes
     2  
     3  import (
     4  	"github.com/caos/orbos/internal/operator/orbiter/kinds/clusters/core/infra"
     5  	"github.com/caos/orbos/pkg/kubernetes"
     6  )
     7  
     8  func destroy(providerCurrents map[string]interface{}, k8sClient *kubernetes.Client) error {
     9  
    10  	if k8sClient != nil {
    11  		k8sClient.DeleteDeployment("caos-system", "orbiter")
    12  	}
    13  
    14  	for _, provider := range providerCurrents {
    15  		prov := provider.(infra.ProviderCurrent)
    16  		for _, pool := range prov.Pools() {
    17  			machines, err := pool.GetMachines()
    18  			if err != nil {
    19  				return err
    20  			}
    21  			for _, machine := range machines {
    22  				remove, err := machine.Destroy()
    23  				if err != nil {
    24  					return err
    25  				}
    26  				if err := remove(); err != nil {
    27  					return err
    28  				}
    29  			}
    30  		}
    31  	}
    32  	return nil
    33  }