Skip to content

Commit

Permalink
[release-1.7] Add the ingress flags into the install command (#235)
Browse files Browse the repository at this point in the history
* Add the support of embed to add all yamls into the binary

Signed-off-by: Vincent Hou <shou@us.ibm.com>

* Add the ingress flags into the install command

Signed-off-by: Vincent Hou <shou@us.ibm.com>
Co-authored-by: Vincent Hou <shou@us.ibm.com>
  • Loading branch information
knative-prow-robot and Vincent Hou committed Aug 30, 2022
1 parent cbc4c99 commit 91be5e3
Show file tree
Hide file tree
Showing 53 changed files with 484 additions and 228 deletions.
28 changes: 14 additions & 14 deletions pkg/command/configure/annotation.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
package configure

import (
_ "embed"
"fmt"
"os"
"strings"

"github.com/spf13/cobra"
Expand All @@ -25,6 +25,12 @@ import (
"knative.dev/kn-plugin-operator/pkg/command/common"
)

//go:embed overlay/ks_deploy_label.yaml
var servingAnnotationOverlay string

//go:embed overlay/ke_deploy_label.yaml
var eventingAnnotationOverlay string

var annotationCMDFlags common.KeyValueFlags

// newAnnotationCommand represents the configure commands to configure the annotations for Knative deployment
Expand All @@ -42,12 +48,7 @@ func newAnnotationCommand(p *pkg.OperatorParams) *cobra.Command {
return err
}

rootPath, err := os.Getwd()
if err != nil {
return err
}

err = configureAnnotations(annotationCMDFlags, rootPath, p)
err := configureAnnotations(annotationCMDFlags, p)
if err != nil {
return err
}
Expand All @@ -68,7 +69,7 @@ func newAnnotationCommand(p *pkg.OperatorParams) *cobra.Command {
return configureLabelsCmd
}

func configureAnnotations(annotationCMDFlags common.KeyValueFlags, rootPath string, p *pkg.OperatorParams) error {
func configureAnnotations(annotationCMDFlags common.KeyValueFlags, p *pkg.OperatorParams) error {
component := common.ServingComponent
if strings.EqualFold(annotationCMDFlags.Component, common.EventingComponent) {
component = common.EventingComponent
Expand All @@ -78,20 +79,19 @@ func configureAnnotations(annotationCMDFlags common.KeyValueFlags, rootPath stri
return err
}

overlayContent := getOverlayYamlContentAnnotation(rootPath, annotationCMDFlags)
annotationOverlayContent := getOverlayYamlContentAnnotation(annotationCMDFlags)
valuesYaml := getYamlValuesContent(annotationCMDFlags)
if err := common.ApplyManifests(yamlTemplateString, overlayContent, valuesYaml, p); err != nil {
if err := common.ApplyManifests(yamlTemplateString, annotationOverlayContent, valuesYaml, p); err != nil {
return err
}
return nil
}

func getOverlayYamlContentAnnotation(rootPath string, annotationCMDFlags common.KeyValueFlags) string {
path := rootPath + "/overlay/ks_deploy_label.yaml"
func getOverlayYamlContentAnnotation(annotationCMDFlags common.KeyValueFlags) string {
baseOverlayContent := servingAnnotationOverlay
if strings.EqualFold(annotationCMDFlags.Component, common.EventingComponent) {
path = rootPath + "/overlay/ke_deploy_label.yaml"
baseOverlayContent = eventingAnnotationOverlay
}
baseOverlayContent, _ := common.ReadFile(path)
resourceContent := getAnnotationConfiguration(annotationCMDFlags)
baseOverlayContent = fmt.Sprintf("%s\n%s", baseOverlayContent, resourceContent)
return baseOverlayContent
Expand Down
3 changes: 1 addition & 2 deletions pkg/command/configure/annotation_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -88,8 +88,7 @@ spec:
test-key: #@ data.values.value`,
}} {
t.Run(tt.name, func(t *testing.T) {
rootPath := "testdata/"
result := getOverlayYamlContentAnnotation(rootPath, tt.deploymentLabelCMDFlags)
result := getOverlayYamlContentAnnotation(tt.deploymentLabelCMDFlags)
testingUtil.AssertEqual(t, result, tt.expectedResult)
})
}
Expand Down
26 changes: 13 additions & 13 deletions pkg/command/configure/configmap.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,8 +15,8 @@
package configure

import (
_ "embed"
"fmt"
"os"
"strings"

"github.com/spf13/cobra"
Expand All @@ -25,6 +25,12 @@ import (
"knative.dev/kn-plugin-operator/pkg/command/common"
)

//go:embed overlay/ks_cm_base.yaml
var servingCMOverlay string

//go:embed overlay/ke_cm_base.yaml
var eventingCMOverlay string

var cmsCMDFlags common.CMsFlags

// newConfigmapsCommand represents the configure commands to update the ConfigMaps in Knative Serving or Eventing
Expand All @@ -40,12 +46,7 @@ func newConfigmapsCommand(p *pkg.OperatorParams) *cobra.Command {
return err
}

rootPath, err := os.Getwd()
if err != nil {
return err
}

err = configureCMs(cmsCMDFlags, rootPath, p)
err := configureCMs(cmsCMDFlags, p)
if err != nil {
return err
}
Expand Down Expand Up @@ -84,7 +85,7 @@ func validateCMsFlags(cmsCMDFlags common.CMsFlags) error {
return nil
}

func configureCMs(cmsCMDFlags common.CMsFlags, rootPath string, p *pkg.OperatorParams) error {
func configureCMs(cmsCMDFlags common.CMsFlags, p *pkg.OperatorParams) error {
component := common.ServingComponent
if strings.EqualFold(cmsCMDFlags.Component, common.EventingComponent) {
component = common.EventingComponent
Expand All @@ -94,20 +95,19 @@ func configureCMs(cmsCMDFlags common.CMsFlags, rootPath string, p *pkg.OperatorP
return err
}

overlayContent := getOverlayYamlContentCM(rootPath, cmsCMDFlags)
overlayContent := getOverlayYamlContentCM(cmsCMDFlags)
valuesYaml := getYamlValuesContentCMs(cmsCMDFlags)
if err := common.ApplyManifests(yamlTemplateString, overlayContent, valuesYaml, p); err != nil {
return err
}
return nil
}

func getOverlayYamlContentCM(rootPath string, cmsCMDFlags common.CMsFlags) string {
path := rootPath + "/overlay/ks_cm_base.yaml"
func getOverlayYamlContentCM(cmsCMDFlags common.CMsFlags) string {
baseOverlayContent := servingCMOverlay
if strings.EqualFold(cmsCMDFlags.Component, common.EventingComponent) {
path = rootPath + "/overlay/ke_cm_base.yaml"
baseOverlayContent = eventingCMOverlay
}
baseOverlayContent, _ := common.ReadFile(path)
resourceContent := getCMConfiguration(cmsCMDFlags)
baseOverlayContent = fmt.Sprintf("%s\n%s", baseOverlayContent, resourceContent)
return baseOverlayContent
Expand Down
3 changes: 1 addition & 2 deletions pkg/command/configure/configmap_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -168,8 +168,7 @@ spec:
test-key: #@ data.values.value`,
}} {
t.Run(tt.name, func(t *testing.T) {
rootPath := "testdata/"
result := getOverlayYamlContentCM(rootPath, tt.cmsCMDFlags)
result := getOverlayYamlContentCM(tt.cmsCMDFlags)
testingUtil.AssertEqual(t, result, tt.expectedResult)
})
}
Expand Down
27 changes: 14 additions & 13 deletions pkg/command/configure/envvar.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,23 @@
package configure

import (
_ "embed"
"fmt"
"os"
"strings"

"github.com/spf13/cobra"
_ "k8s.io/client-go/plugin/pkg/client/auth/oidc" // from https://github.com/kubernetes/client-go/issues/345

"knative.dev/kn-plugin-operator/pkg"
"knative.dev/kn-plugin-operator/pkg/command/common"
)

//go:embed overlay/ks_envvar.yaml
var servingEnvVarOverlay string

//go:embed overlay/ke_envvar.yaml
var eventingEnvVarOverlay string

type EnvVarFlags struct {
EnvName string
EnvValue string
Expand All @@ -49,12 +56,7 @@ func newEnvVarCommand(p *pkg.OperatorParams) *cobra.Command {
return err
}

rootPath, err := os.Getwd()
if err != nil {
return err
}

err = configureEnvVars(envVarFlags, rootPath, p)
err := configureEnvVars(envVarFlags, p)
if err != nil {
return err
}
Expand Down Expand Up @@ -99,7 +101,7 @@ func validateEnvVarsFlags(envVarFlags EnvVarFlags) error {
return nil
}

func configureEnvVars(envVarFlags EnvVarFlags, rootPath string, p *pkg.OperatorParams) error {
func configureEnvVars(envVarFlags EnvVarFlags, p *pkg.OperatorParams) error {
component := common.ServingComponent
if strings.EqualFold(envVarFlags.Component, common.EventingComponent) {
component = common.EventingComponent
Expand All @@ -109,20 +111,19 @@ func configureEnvVars(envVarFlags EnvVarFlags, rootPath string, p *pkg.OperatorP
return err
}

overlayContent := getOverlayYamlContentEnvvar(rootPath, envVarFlags)
overlayContent := getOverlayYamlContentEnvvar(envVarFlags)
valuesYaml := getYamlValuesContentEnvvars(envVarFlags)
if err := common.ApplyManifests(yamlTemplateString, overlayContent, valuesYaml, p); err != nil {
return err
}
return nil
}

func getOverlayYamlContentEnvvar(rootPath string, envVarFlags EnvVarFlags) string {
path := rootPath + "/overlay/ks_envvar.yaml"
func getOverlayYamlContentEnvvar(envVarFlags EnvVarFlags) string {
baseOverlayContent := servingEnvVarOverlay
if strings.EqualFold(envVarFlags.Component, common.EventingComponent) {
path = rootPath + "/overlay/ke_envvar.yaml"
baseOverlayContent = eventingEnvVarOverlay
}
baseOverlayContent, _ := common.ReadFile(path)
return baseOverlayContent
}

Expand Down
3 changes: 1 addition & 2 deletions pkg/command/configure/envvar_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -202,8 +202,7 @@ spec:
`,
}} {
t.Run(tt.name, func(t *testing.T) {
rootPath := "testdata/"
result := getOverlayYamlContentEnvvar(rootPath, tt.envVarFlags)
result := getOverlayYamlContentEnvvar(tt.envVarFlags)
testingUtil.AssertEqual(t, result, tt.expectedResult)
})
}
Expand Down
27 changes: 14 additions & 13 deletions pkg/command/configure/ha.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,16 +15,23 @@
package configure

import (
_ "embed"
"fmt"
"os"
"strings"

"github.com/spf13/cobra"
_ "k8s.io/client-go/plugin/pkg/client/auth/oidc" // from https://github.com/kubernetes/client-go/issues/345

"knative.dev/kn-plugin-operator/pkg"
"knative.dev/kn-plugin-operator/pkg/command/common"
)

//go:embed overlay/ks_replica.yaml
var servingHAOverlay string

//go:embed overlay/ke_replica.yaml
var eventingHAOverlay string

type HAFlags struct {
Replicas string
Component string
Expand All @@ -47,12 +54,7 @@ func newHACommand(p *pkg.OperatorParams) *cobra.Command {
return err
}

rootPath, err := os.Getwd()
if err != nil {
return err
}

err = configureHAs(haCMDFlags, rootPath, p)
err := configureHAs(haCMDFlags, p)
if err != nil {
return err
}
Expand Down Expand Up @@ -87,7 +89,7 @@ func validateHAsFlags(haCMDFlags HAFlags) error {
return nil
}

func configureHAs(haCMDFlags HAFlags, rootPath string, p *pkg.OperatorParams) error {
func configureHAs(haCMDFlags HAFlags, p *pkg.OperatorParams) error {
component := common.ServingComponent
if strings.EqualFold(haCMDFlags.Component, common.EventingComponent) {
component = common.EventingComponent
Expand All @@ -97,7 +99,7 @@ func configureHAs(haCMDFlags HAFlags, rootPath string, p *pkg.OperatorParams) er
return err
}

overlayContent := getOverlayYamlContentHA(rootPath, haCMDFlags)
overlayContent := getOverlayYamlContentHA(haCMDFlags)
valuesYaml := getYamlValuesContentHAs(haCMDFlags)

if err := common.ApplyManifests(yamlTemplateString, overlayContent, valuesYaml, p); err != nil {
Expand All @@ -106,12 +108,11 @@ func configureHAs(haCMDFlags HAFlags, rootPath string, p *pkg.OperatorParams) er
return nil
}

func getOverlayYamlContentHA(rootPath string, haCMDFlags HAFlags) string {
path := rootPath + "/overlay/ks_replica.yaml"
func getOverlayYamlContentHA(haCMDFlags HAFlags) string {
baseOverlayContent := servingHAOverlay
if strings.EqualFold(haCMDFlags.Component, common.EventingComponent) {
path = rootPath + "/overlay/ke_replica.yaml"
baseOverlayContent = eventingHAOverlay
}
baseOverlayContent, _ := common.ReadFile(path)
haContent := getHAConfiguration(haCMDFlags)
baseOverlayContent = fmt.Sprintf("%s\n%s", baseOverlayContent, haContent)
return baseOverlayContent
Expand Down
3 changes: 1 addition & 2 deletions pkg/command/configure/ha_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -130,8 +130,7 @@ spec:
replicas: #@ data.values.replicas`,
}} {
t.Run(tt.name, func(t *testing.T) {
rootPath := "testdata/"
result := getOverlayYamlContentHA(rootPath, tt.haCMDFlags)
result := getOverlayYamlContentHA(tt.haCMDFlags)
testingUtil.AssertEqual(t, result, tt.expectedResult)
})
}
Expand Down
Loading

0 comments on commit 91be5e3

Please sign in to comment.