Skip to content
Snippets Groups Projects
Commit c3084796 authored by kaiyou's avatar kaiyou
Browse files

Output cluster info as yaml for helm

parent 9e4e302f
No related branches found
No related tags found
No related merge requests found
...@@ -7,10 +7,10 @@ import ( ...@@ -7,10 +7,10 @@ import (
"os" "os"
"path" "path"
"strings" "strings"
"text/tabwriter"
"go.acides.org/dolly" "go.acides.org/dolly"
"go.acides.org/hepto/services" "go.acides.org/hepto/services"
"gopkg.in/yaml.v3"
) )
// The main hepto command // The main hepto command
...@@ -38,18 +38,24 @@ func Hepto() error { ...@@ -38,18 +38,24 @@ func Hepto() error {
manager := services.NewManager(&config.Cluster, &config.Node, config.Logger) manager := services.NewManager(&config.Cluster, &config.Node, config.Logger)
// If displaying info was required, go for it // If displaying info was required, go for it
if config.Info { if config.Info {
w := tabwriter.NewWriter(os.Stdout, 2, 3, 1, ' ', 0) info := map[string]map[string]string{
fmt.Fprintf(w, "cluster\tname\t%s\n", config.Cluster.Name) "cluster": {
fmt.Fprintf(w, "cluster\tvpn CIDR\t%s\n", manager.State.Networking().NodeNet) "name": config.Cluster.Name,
fmt.Fprintf(w, "cluster\tpod CIDR\t%s\n", manager.State.Networking().PodNet) "podCIDR": manager.State.Networking().PodNet.String(),
fmt.Fprintf(w, "cluster\tservice CIDR\t%s\n", manager.State.Networking().ServiceNet) "serviceCIDR": manager.State.Networking().ServiceNet.String(),
fmt.Fprintf(w, "node\tname\t%s\n", config.Node.Name) },
fmt.Fprintf(w, "node\trole\t%s\n", config.Node.Role) "services": {
fmt.Fprintf(w, "node\tvpn IP\t%s\n", manager.State.Networking().NodeAddress) "api": manager.State.Networking().NodeAddress.String(),
fmt.Fprintf(w, "node\tdata\t%s\n", dataPath) "dns": manager.State.Networking().DNSAddress.String(),
fmt.Fprintf(w, "service\tAPI IP\t%s\n", manager.State.Networking().APIAddress) },
fmt.Fprintf(w, "service\tDNS IP\t%s\n", manager.State.Networking().DNSAddress) "node": {
return w.Flush() "name": config.Node.Name,
"ip": manager.State.Networking().NodeAddress.String(),
},
}
str, _ := yaml.Marshal(info)
os.Stdout.Write(str)
os.Exit(0)
} }
// Otherwise create a container and start the manager // Otherwise create a container and start the manager
c := dolly.NewForking(!config.Daemonize) c := dolly.NewForking(!config.Daemonize)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment