Skip to content

Commit

Permalink
feat: reworked rotate-certs command (#4214)
Browse files Browse the repository at this point in the history
  • Loading branch information
jadarsie authored Feb 3, 2021
1 parent fac65f2 commit eaf2988
Show file tree
Hide file tree
Showing 36 changed files with 4,821 additions and 769 deletions.
12 changes: 12 additions & 0 deletions cmd/deploy_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ package cmd

import (
"fmt"
"io/ioutil"
"os"
"path"
"strconv"
Expand Down Expand Up @@ -1161,3 +1162,14 @@ func TestAPIModelWithContainerMonitoringAddonWithWorkspaceGuidAndKeyConfigInCmd(
})
}
}

func makeTmpFile(t *testing.T, name string) (string, func()) {
tmpF, err := ioutil.TempFile(os.TempDir(), name)
if err != nil {
t.Fatalf("unable to create file: %s", err.Error())
}

return tmpF.Name(), func() {
defer os.Remove(tmpF.Name())
}
}
22 changes: 22 additions & 0 deletions cmd/root.go
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,9 @@ import (
"github.com/Azure/aks-engine/pkg/armhelpers"
"github.com/Azure/aks-engine/pkg/armhelpers/azurestack"
"github.com/Azure/aks-engine/pkg/engine"
"github.com/Azure/aks-engine/pkg/engine/transform"
"github.com/Azure/aks-engine/pkg/helpers"
"github.com/Azure/aks-engine/pkg/i18n"
"github.com/Azure/aks-engine/pkg/kubernetes"
"github.com/Azure/go-autorest/autorest/azure"
"github.com/google/uuid"
Expand Down Expand Up @@ -357,3 +359,23 @@ func getKubeClient(cs *api.ContainerService, interval, timeout time.Duration) (k
}
return client, nil
}

func writeArtifacts(outputDirectory string, cs *api.ContainerService, apiVersion string, translator *i18n.Translator) error {
ctx := engine.Context{Translator: translator}
tplgen, err := engine.InitializeTemplateGenerator(ctx)
if err != nil {
return errors.Wrap(err, "initializing template generator")
}
tpl, params, err := tplgen.GenerateTemplateV2(cs, engine.DefaultGeneratorCode, BuildTag)
if err != nil {
return errors.Wrap(err, "generating template")
}
if tpl, err = transform.PrettyPrintArmTemplate(tpl); err != nil {
return errors.Wrap(err, "pretty-printing template")
}
if params, err = transform.BuildAzureParametersFile(params); err != nil {
return errors.Wrap(err, "pretty-printing template parameters")
}
w := &engine.ArtifactWriter{Translator: translator}
return w.WriteTLSArtifacts(cs, apiVersion, tpl, params, outputDirectory, true, false)
}
28 changes: 28 additions & 0 deletions cmd/root_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ import (
"github.com/Azure/aks-engine/pkg/armhelpers"
"github.com/Azure/aks-engine/pkg/armhelpers/azurestack/testserver"
"github.com/Azure/aks-engine/pkg/helpers"
"github.com/Azure/aks-engine/pkg/i18n"
. "github.com/onsi/gomega"
)

Expand Down Expand Up @@ -581,3 +582,30 @@ func prepareCustomCloudProfile() (*api.ContainerService, error) {

return cs, nil
}

func TestWriteArtifacts(t *testing.T) {
t.Parallel()
g := NewGomegaWithT(t)

cs := api.CreateMockContainerService("testcluster", "1.16.14", 3, 2, false)
_, err := cs.SetPropertiesDefaults(api.PropertiesDefaultsParams{
IsScale: false,
IsUpgrade: false,
PkiKeySize: helpers.DefaultPkiKeySize,
})
g.Expect(err).NotTo(HaveOccurred())

outdir, del := makeTmpDir(t)
defer del()

err = writeArtifacts(outdir, cs, "vlabs", &i18n.Translator{})
g.Expect(err).NotTo(HaveOccurred())
}

func makeTmpDir(t *testing.T) (string, func()) {
tmpDir, err := ioutil.TempDir(os.TempDir(), "_tmp_dir")
if err != nil {
t.Fatalf("unable to create dir: %s", err.Error())
}
return tmpDir, func() { defer os.RemoveAll(tmpDir) }
}
Loading

0 comments on commit eaf2988

Please sign in to comment.