woodpecker-helm3/cmd/drone-helm/main.go

46 lines
825 B
Go
Raw Normal View History

package main
import (
"fmt"
2019-12-05 22:35:25 +00:00
"github.com/urfave/cli"
"os"
2019-12-05 22:35:25 +00:00
"github.com/pelotech/drone-helm3/internal/run"
)
func main() {
app := cli.NewApp()
app.Name = "helm plugin"
app.Usage = "helm plugin"
2019-12-05 22:35:25 +00:00
app.Action = execute
app.Version = "0.0.1α"
app.Flags = []cli.Flag{
cli.StringFlag{
2019-12-05 22:35:25 +00:00
Name: "helm_command",
Usage: "Helm command to execute",
EnvVar: "PLUGIN_HELM_COMMAND,HELM_COMMAND",
},
}
if err := app.Run(os.Args); err != nil {
fmt.Fprintf(os.Stderr, "%s\n", err.Error())
}
}
2019-12-05 22:35:25 +00:00
func execute(c *cli.Context) error {
switch c.String("helm_command") {
case "upgrade":
run.Upgrade()
case "help":
run.Help()
default:
switch os.Getenv("DRONE_BUILD_EVENT") {
case "push", "tag", "deployment", "pull_request", "promote", "rollback":
run.Upgrade()
default:
run.Help()
}
return nil
}