You've already forked aws-iam-anywhere-refresher
Updated golang version
This commit is contained in:
54
main.go
54
main.go
@@ -6,28 +6,39 @@ import (
|
||||
"git.s.int/rrise/aws-iam-anywhere-refresher/cmd"
|
||||
appConfig "git.s.int/rrise/aws-iam-anywhere-refresher/config"
|
||||
"git.s.int/rrise/aws-iam-anywhere-refresher/kube_client"
|
||||
"log"
|
||||
"github.com/charmbracelet/log"
|
||||
"os"
|
||||
"time"
|
||||
)
|
||||
|
||||
func main() {
|
||||
println("Starting credentials refresh")
|
||||
|
||||
l := log.NewWithOptions(os.Stderr, log.Options{
|
||||
Level: log.DebugLevel,
|
||||
ReportTimestamp: true,
|
||||
TimeFormat: time.RFC3339,
|
||||
})
|
||||
l.Info("Starting credentials refresh")
|
||||
|
||||
client, err := kube_client.NewKubeClient()
|
||||
if err != nil {
|
||||
panic(err)
|
||||
l.Error("Failed to create kubernetes client", "error", err)
|
||||
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
c := appConfig.NewConfig()
|
||||
|
||||
privateKey, err := base64.StdEncoding.DecodeString(c.PrivateKey())
|
||||
if err != nil {
|
||||
log.Fatal("error:", err)
|
||||
l.Error("Failed to decode private key", "error", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
certificate, err := base64.StdEncoding.DecodeString(c.Certificate())
|
||||
if err != nil {
|
||||
log.Fatal("error:", err)
|
||||
l.Error("Failed to decode certificate", "error", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
credentials, err := cmd.Run(&helper.CredentialsOpts{
|
||||
@@ -43,44 +54,49 @@ func main() {
|
||||
})
|
||||
|
||||
if err != nil {
|
||||
panic(err)
|
||||
l.Error("Failed to refresh credentials", "error", err)
|
||||
|
||||
os.Exit(3)
|
||||
}
|
||||
|
||||
println("Got new credentials")
|
||||
l.Info("Credentials refreshed")
|
||||
|
||||
_, err = client.GetSecret(c.Namespace(), c.Secret())
|
||||
if err != nil {
|
||||
println(err.Error())
|
||||
println("secret doesn't exist, trying to create")
|
||||
l.Error("Failed to get secret", "error", err)
|
||||
l.Info("secret doesn't exist, trying to create")
|
||||
create, err := client.CreateSecret(c.Namespace(), credentials.ToSecret(c.Secret()))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
l.Error("Failed to create secret", "error", err)
|
||||
|
||||
os.Exit(1)
|
||||
}
|
||||
println("secret created")
|
||||
println(create.CreationTimestamp.String())
|
||||
l.Info("Created secret", "created-time-stamp", create.CreationTimestamp.String())
|
||||
} else {
|
||||
update, err := client.UpdateSecret(c.Namespace(), credentials.ToSecret(c.Secret()))
|
||||
if err != nil {
|
||||
panic(err)
|
||||
l.Error("Failed to update secret", "error", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
println("secret updated")
|
||||
println(update.CreationTimestamp.String())
|
||||
l.Info("Updated secret", "updated-time-stamp", update.CreationTimestamp.String())
|
||||
}
|
||||
|
||||
if c.RestartDeployments() {
|
||||
println("Restarting deployments...")
|
||||
l.Info("Restarting deployments")
|
||||
deployments, err := client.ListDeployments(c.Namespace())
|
||||
if err != nil {
|
||||
panic(err)
|
||||
l.Error("Failed to list deployments", "error", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
|
||||
err = client.RestartDeployments(c.Namespace(), deployments)
|
||||
if err != nil {
|
||||
panic(err)
|
||||
l.Error("Failed to restart deployments", "error", err)
|
||||
os.Exit(1)
|
||||
}
|
||||
}
|
||||
|
||||
println("Done!")
|
||||
l.Info("Done!")
|
||||
|
||||
os.Exit(0)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user