Skip to content
This repository has been archived by the owner on Oct 24, 2023. It is now read-only.

feat: reworked rotate-certs command #4214

Merged
merged 3 commits into from
Feb 3, 2021
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.
Jump to
Jump to file
Failed to load files.
Diff view
Diff view
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) }
}