INNER CODE UNIT · Go
applyCluster
rabbitmq/cluster-operator · kubectl-rabbitmq/cluster.go:235
func applyCluster(executor *kubectlExecutor, cluster *v1beta1.RabbitmqCluster) error {
yamlData, err := yaml.Marshal(cluster)
if err != nil {
return fmt.Errorf("failed to marshal cluster yaml: %w", err)
}
tmpfile, err := os.CreateTemp("", "rabbitmq-cluster-*.yaml")
if err != nil {
return fmt.Errorf("failed to create temp file: %w", err)
}
defer os.Remove(tmpfile.Name())
if _, err := tmpfile.Write(yamlData); err != nil {
tmpfile.Close()
return fmt.Errorf("failed to write yaml to temp file: %w", err)
}
if err := tmpfile.Close(); err != nil {
return fmt.Errorf("failed to close temp file: %w", err)