diff --git a/magefiles/steps/image.go b/magefiles/steps/image.go index d7f2b297c..8b7576197 100644 --- a/magefiles/steps/image.go +++ b/magefiles/steps/image.go @@ -18,7 +18,9 @@ package steps import ( "fmt" + "os" "runtime" + "github.com/magefile/mage/mg" "github.com/magefile/mage/sh" utils "k8s.io/ingress-nginx/magefiles/utils" @@ -26,7 +28,7 @@ import ( type Image mg.Namespace -var TAG string = "0.0" +var TAG string = "1.0.0" var ARCH string = "arm64" var PKG string = "k8s.io/ingress-nginx" var PLATFORM string = "arm64" @@ -39,11 +41,15 @@ var REGISTRY string = "gcr.io/k8s-staging-ingress-nginx" // BASE_IMAGE ?= $(shell cat NGINX_BASE) var BASE_IMAGE string = "registry.k8s.io/ingress-nginx/nginx-1.25:v0.0.5" -func (Image) Create() error { +func (Image) Create(tag string) error { if ARCH != runtime.GOARCH { ARCH = runtime.GOARCH } - + + if len(tag) > 0 { + TAG = tag + } + COMMIT_SHA, err := getCommitSHA() utils.CheckIfError(err, "Error Getting Commit sha") @@ -71,3 +77,30 @@ func (Image) Load() error { utils.CheckIfError(err, "Error Loading controller onto kind cluster") return nil } + +// Deploy deploys controller image to cluster +func (Image) Deploy(tag string) error { + + if len(tag) > 0 && tag != TAG { + TAG = tag + } + + _ = sh.RunV("kubectl", "create", "namespace", "ingress-nginx") + //utils.CheckIfError(err, "namespace creation") + + template, err := sh.Output("helm", "template", "ingress-nginx", "charts/ingress-nginx", + "--namespace", "ingress-nginx", + "--set", "hostPort.enabled=true", + "--set", "service.Type=NodePort", + "--set", fmt.Sprintf("controller.image.repository=%s/controller", REGISTRY), + "--set", fmt.Sprintf("controller.image.tag=%s", TAG)) + utils.CheckIfError(err, "template helm install") + + err = os.WriteFile("ingress-dev", []byte(template), 0o644) + utils.CheckIfError(err, "writing helm template") + + err = sh.RunV("kubectl", "apply", "-n", "ingress-nginx", "-f", "ingress-dev") + utils.CheckIfError(err, "kubeclt install template") + + return nil +} diff --git a/magefiles/steps/test.go b/magefiles/steps/test.go index 19d9346e5..631bab627 100644 --- a/magefiles/steps/test.go +++ b/magefiles/steps/test.go @@ -37,10 +37,11 @@ func (Test) RunGwAPITest() error { return nil } -func (Test) PrepCluster(clusterName, k8sVersion string) { +func (Test) PrepCluster(clusterName, k8sVersion, tag string) { mg.Deps(mg.F(Kind.CreateCluster, clusterName, k8sVersion)) mg.Deps(mg.F(Kind.InstallGatewayCRD)) - mg.Deps(mg.F(Image.Create)) + mg.Deps(mg.F(Image.Create, tag)) mg.Deps(mg.F(Image.Load)) mg.Deps(mg.F(Kind.InstallMetalLB)) + mg.Deps(mg.F(Image.Deploy, tag)) }