Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
54 changes: 40 additions & 14 deletions hossted/service/activate.go
Original file line number Diff line number Diff line change
Expand Up @@ -129,7 +129,7 @@ func ActivateK8s(releaseName string, develMode bool) error {

fmt.Println("Updated deployment and secret")

cveEnabled, monitoringEnabled, loggingEnabled, err := askPromptsToInstall()
cveEnabled, monitoringEnabled, loggingEnabled, ingressEnabled, err := askPromptsToInstall()
if err != nil {
return err
}
Expand All @@ -139,9 +139,9 @@ func ActivateK8s(releaseName string, develMode bool) error {
installCve()
}

if monitoringEnabled == "true" || loggingEnabled == "true" || cveEnabled == "true" {
if monitoringEnabled == "true" || loggingEnabled == "true" || cveEnabled == "true" || ingressEnabled == "true" {
fmt.Println("Patching 'hossted-operator-cr' CR")
err = patchCR(monitoringEnabled, loggingEnabled, cveEnabled, releaseName)
err = patchCR(monitoringEnabled, loggingEnabled, cveEnabled, ingressEnabled, releaseName)
if err != nil {
return err
}
Expand Down Expand Up @@ -198,13 +198,20 @@ func isStandbyMode(releaseName string) (bool, error) {
if err != nil {
return isStandby, err
}

ingress, _, err := unstructured.NestedMap(hp.Object, "spec", "ingress")
if err != nil {
return isStandby, err
}
ingressEnabled, _, err := unstructured.NestedBool(ingress, "enable")
if err != nil {
return isStandby, err
}
stop, _, err := unstructured.NestedBool(hp.Object, "spec", "stop")
if err != nil {
return isStandby, err
}

if !cveEnabled && !loggingEnabled && !monitoringEnabled && stop {
if !cveEnabled && !loggingEnabled && !monitoringEnabled && !ingressEnabled && stop {
isStandby = true
}

Expand Down Expand Up @@ -405,7 +412,7 @@ func updateSecret(clientset *kubernetes.Clientset, namespace, secretName, secret
return nil
}

func patchCR(monitoringEnabled, loggingEnabled, cveEnabled, releaseName string) error {
func patchCR(monitoringEnabled, loggingEnabled, cveEnabled, ingressEnabled, releaseName string) error {
cr := getDynClient()
hp, err := cr.Resource(hpGVK).Get(context.TODO(), releaseName+"-cr", metav1.GetOptions{})
if err != nil {
Expand All @@ -423,6 +430,9 @@ func patchCR(monitoringEnabled, loggingEnabled, cveEnabled, releaseName string)
"monitoring": map[string]interface{}{
"enable": monitoringEnabled == "true",
},
"ingress": map[string]interface{}{
"enable": ingressEnabled == "true",
},
},
}

Expand Down Expand Up @@ -467,20 +477,20 @@ func patchStopCR(releaseName string) error {
return nil
}

func askPromptsToInstall() (string, string, string, error) {
func askPromptsToInstall() (string, string, string, string, error) {
green := color.New(color.FgGreen).SprintFunc()
cveEnabled := "false"
monitoringEnabled := "false"
loggingEnabled := "false"

ingressEnabled := "false"
//------------------------------ Monitoring ----------------------------------
monitoring := promptui.Select{
Label: "Do you wish to enable monitoring in hossted platform",
Items: []string{"Yes", "No"},
}
_, monitoringEnable, err := monitoring.Run()
if err != nil {
return cveEnabled, monitoringEnabled, loggingEnabled, err
return cveEnabled, monitoringEnabled, loggingEnabled, ingressEnabled, err
}

if monitoringEnable == "Yes" {
Expand All @@ -495,7 +505,7 @@ func askPromptsToInstall() (string, string, string, error) {
}
_, loggingEnable, err := logging.Run()
if err != nil {
return cveEnabled, monitoringEnabled, loggingEnabled, err
return cveEnabled, monitoringEnabled, loggingEnabled, ingressEnabled, err
}

if loggingEnable == "Yes" {
Expand All @@ -510,14 +520,28 @@ func askPromptsToInstall() (string, string, string, error) {
}
_, cveEnable, err := cve.Run()
if err != nil {
return cveEnabled, monitoringEnabled, loggingEnabled, err
return cveEnabled, monitoringEnabled, loggingEnabled, ingressEnabled, err
}
if cveEnable == "Yes" {
fmt.Println("Enabled Logging:", green(loggingEnable))
fmt.Println("Enabled CVE:", green(cveEnable))
cveEnabled = "true"
}

return cveEnabled, monitoringEnabled, loggingEnabled, nil
//------------------------------ Ingress ----------------------------------
ingress := promptui.Select{
Label: "Do you wish to enable ingress in hossted-platform",
Items: []string{"Yes", "No"},
}
_, ingressEnable, err := ingress.Run()
if err != nil {
return cveEnabled, monitoringEnabled, loggingEnabled, ingressEnabled, err
}

if ingressEnable == "Yes" {
ingressEnabled = "true"
fmt.Println("Enabled Ingress:", green(ingressEnabled))
}
return cveEnabled, monitoringEnabled, loggingEnabled, ingressEnabled, nil
}

func installCve() {
Expand Down Expand Up @@ -557,7 +581,7 @@ func deployOperator(clusterName, emailID, orgID, JWT string, develMode bool) err
}

if value == "Yes" {
cveEnabled, monitoringEnabled, loggingEnabled, err := askPromptsToInstall()
cveEnabled, monitoringEnabled, loggingEnabled, ingressEnabled, err := askPromptsToInstall()
if err != nil {
return err
}
Expand All @@ -570,6 +594,7 @@ func deployOperator(clusterName, emailID, orgID, JWT string, develMode bool) err
//------------------------------ Helm Repo Add ----------------------------------

RepoAdd("hossted", "https://charts.hossted.com")
RepoAdd("ingress-nginx", "https://kubernetes.github.io/ingress-nginx" )
RepoUpdate()

fmt.Println(loggingEnabled)
Expand Down Expand Up @@ -600,6 +625,7 @@ func deployOperator(clusterName, emailID, orgID, JWT string, develMode bool) err
",cve.enable=" + cveEnabled +
",monitoring.enable=" + monitoringEnabled +
",logging.enable=" + loggingEnabled +
",ingress.enable=" + ingressEnabled +
",env.LOKI_URL=" + lokiUrl +
",env.LOKI_USERNAME=" + common.LOKI_USERNAME +
",env.LOKI_PASSWORD=" + common.LOKI_PASSWORD +
Expand Down
3 changes: 2 additions & 1 deletion hossted/service/standbyMode.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,6 +18,7 @@ func InstallOperatorStandbymode() error {
",cve.enable=" + "false" +
",monitoring.enable=" + "false" +
",logging.enable=" + "false" +
",ingress.enable=" + "false" +
",stop=" + "true",
// ",env.LOKI_URL=" + os.Getenv("LOKI_URL") +
// ",env.LOKI_USERNAME=" + os.Getenv("LOKI_USERNAME") +
Expand All @@ -29,7 +30,7 @@ func InstallOperatorStandbymode() error {
}

yellow := color.New(color.FgYellow).SprintFunc()
fmt.Printf("%s Deploying in namespace %s\n", yellow("Hossted Platform Operator in Standby Modee:"), hosstedPlatformNamespace)
fmt.Printf("%s Deploying in namespace %s\n", yellow("Hossted Platform Operator in Standby Mode:"), hosstedPlatformNamespace)

bar := progressbar.DefaultBytes(
-1,
Expand Down