Skip to content

Commit

Permalink
release rollback option initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
WoodProgrammer committed May 29, 2023
1 parent 5d81ffb commit 308bb16
Show file tree
Hide file tree
Showing 3 changed files with 59 additions and 3 deletions.
14 changes: 11 additions & 3 deletions src/cli.go
Original file line number Diff line number Diff line change
Expand Up @@ -27,7 +27,7 @@ var mode = &cobra.Command{
targetCluster, _ := cmd.Flags().GetString("targetcluster")
sourceCluster, _ := cmd.Flags().GetString("sourcecluster")
targetNs, _ := cmd.Flags().GetString("ns")
rollback, _ := cmd.Flags().GetBool("rollback")
//rollback, _ := cmd.Flags().GetBool("rollback")
kubeconfig, _ := cmd.Flags().GetString("kubeconfig")

WarningLogger.Println("Source cluster is :: ", sourceCluster)
Expand Down Expand Up @@ -57,9 +57,17 @@ var mode = &cobra.Command{
backup := getBackup(targetNs, sourceClusterclientset)

restoreBackup(targetNs, targetClusterclientset, backup)
if rollback == true {
WarningLogger.Println("Rollback option is enabled ")
WarningLogger.Println("Rollback option is enabled ")
WarningLogger.Println("Rolling Process just initalized ")
for _, release := range backup {
InfoLogger.Println("Release rolling back")
InfoLogger.Println(release.Name)
InfoLogger.Println(release.Version)
//version, _ := strconv.Atoi(release.Version)

//rollBack(release.Name, version, targetNs, targetCluster)
}

}
},
}
Expand Down
37 changes: 37 additions & 0 deletions src/rollback.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
package main

import (
"log"
"os"

"helm.sh/helm/v3/pkg/action"
"k8s.io/cli-runtime/pkg/genericclioptions"
)

func rollBack(release string, releaseVersion int, namespace string, targetClusterContext string) error {

actionConfig := new(action.Configuration)
if err := actionConfig.Init(
&genericclioptions.ConfigFlags{
Namespace: &namespace,
Context: &targetClusterContext,
},
namespace,
os.Getenv("HELM_DRIVER"),
log.Printf,
); err != nil {
return err
}

client := action.NewRollback(actionConfig)

client.Version = releaseVersion

err := client.Run(release)
if err != nil {
ErrorLogger.Println(err)
return err
}

return nil
}
11 changes: 11 additions & 0 deletions src/types.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,3 +6,14 @@ type HelmRelease struct {
Status string
Content string
}

type releaseOptions struct {
CleanupOnFail bool
Wait bool
DryRun bool
DisableHooks bool
Force bool
Recreate bool
MaxHistory string
Timeout string
}

0 comments on commit 308bb16

Please sign in to comment.