2019-12-03 17:50:15 +00:00
|
|
|
|
package main
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"fmt"
|
2019-12-05 22:35:25 +00:00
|
|
|
|
"github.com/urfave/cli"
|
2019-12-03 17:50:15 +00:00
|
|
|
|
"os"
|
|
|
|
|
|
2019-12-05 22:35:25 +00:00
|
|
|
|
"github.com/pelotech/drone-helm3/internal/run"
|
2019-12-03 17:50:15 +00:00
|
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func main() {
|
|
|
|
|
app := cli.NewApp()
|
|
|
|
|
app.Name = "helm plugin"
|
|
|
|
|
app.Usage = "helm plugin"
|
2019-12-05 22:35:25 +00:00
|
|
|
|
app.Action = execute
|
2019-12-03 17:50:15 +00:00
|
|
|
|
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",
|
2019-12-03 17:50:15 +00:00
|
|
|
|
},
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
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()
|
|
|
|
|
}
|
2019-12-03 17:50:15 +00:00
|
|
|
|
return nil
|
|
|
|
|
}
|