From 39b139a0ee564dae22c435b6b38604ed93c6bbae Mon Sep 17 00:00:00 2001 From: Ole Markus With Date: Fri, 11 Dec 2020 09:27:40 +0100 Subject: [PATCH] Move bootstrapchannelbuilder to its own package --- upup/pkg/fi/cloudup/BUILD.bazel | 9 ++----- upup/pkg/fi/cloudup/apply_cluster.go | 18 +++++++------ .../bootstrapchannelbuilder/BUILD.bazel | 25 +++++++++++++++++++ .../bootstrapchannelbuilder.go | 17 ++++++++++++- .../cloudup/bootstrapchannelbuilder_test.go | 13 ++++++---- 5 files changed, 62 insertions(+), 20 deletions(-) create mode 100644 upup/pkg/fi/cloudup/bootstrapchannelbuilder/BUILD.bazel rename upup/pkg/fi/cloudup/{ => bootstrapchannelbuilder}/bootstrapchannelbuilder.go (98%) diff --git a/upup/pkg/fi/cloudup/BUILD.bazel b/upup/pkg/fi/cloudup/BUILD.bazel index b5bf15b2e9..429ec6df98 100644 --- a/upup/pkg/fi/cloudup/BUILD.bazel +++ b/upup/pkg/fi/cloudup/BUILD.bazel @@ -4,7 +4,6 @@ go_library( name = "go_default_library", srcs = [ "apply_cluster.go", - "bootstrapchannelbuilder.go", "containerd.go", "defaults.go", "dns.go", @@ -26,7 +25,6 @@ go_library( visibility = ["//visibility:public"], deps = [ "//:go_default_library", - "//channels/pkg/api:go_default_library", "//cmd/kops-controller/pkg/config:go_default_library", "//dns-controller/pkg/dns:go_default_library", "//dnsprovider/pkg/dnsprovider:go_default_library", @@ -44,14 +42,11 @@ go_library( "//pkg/client/simple/vfsclientset:go_default_library", "//pkg/dns:go_default_library", "//pkg/featureflag:go_default_library", - "//pkg/kubemanifest:go_default_library", "//pkg/model:go_default_library", "//pkg/model/alimodel:go_default_library", "//pkg/model/awsmodel:go_default_library", "//pkg/model/azuremodel:go_default_library", "//pkg/model/components:go_default_library", - "//pkg/model/components/addonmanifests:go_default_library", - "//pkg/model/components/addonmanifests/dnscontroller:go_default_library", "//pkg/model/components/etcdmanager:go_default_library", "//pkg/model/components/kubeapiserver:go_default_library", "//pkg/model/components/node-authorizer:go_default_library", @@ -71,14 +66,13 @@ go_library( "//upup/pkg/fi/cloudup/aliup:go_default_library", "//upup/pkg/fi/cloudup/awsup:go_default_library", "//upup/pkg/fi/cloudup/azure:go_default_library", + "//upup/pkg/fi/cloudup/bootstrapchannelbuilder:go_default_library", "//upup/pkg/fi/cloudup/cloudformation:go_default_library", "//upup/pkg/fi/cloudup/do:go_default_library", "//upup/pkg/fi/cloudup/gce:go_default_library", "//upup/pkg/fi/cloudup/openstack:go_default_library", "//upup/pkg/fi/cloudup/terraform:go_default_library", - "//upup/pkg/fi/fitasks:go_default_library", "//upup/pkg/fi/loader:go_default_library", - "//upup/pkg/fi/utils:go_default_library", "//util/pkg/architectures:go_default_library", "//util/pkg/env:go_default_library", "//util/pkg/hashing:go_default_library", @@ -137,6 +131,7 @@ go_test( "//upup/models:go_default_library", "//upup/pkg/fi:go_default_library", "//upup/pkg/fi/cloudup/awsup:go_default_library", + "//upup/pkg/fi/cloudup/bootstrapchannelbuilder:go_default_library", "//upup/pkg/fi/fitasks:go_default_library", "//util/pkg/architectures:go_default_library", "//util/pkg/hashing:go_default_library", diff --git a/upup/pkg/fi/cloudup/apply_cluster.go b/upup/pkg/fi/cloudup/apply_cluster.go index c195888901..ea67a5e2f7 100644 --- a/upup/pkg/fi/cloudup/apply_cluster.go +++ b/upup/pkg/fi/cloudup/apply_cluster.go @@ -59,6 +59,7 @@ import ( "k8s.io/kops/upup/pkg/fi/cloudup/aliup" "k8s.io/kops/upup/pkg/fi/cloudup/awsup" "k8s.io/kops/upup/pkg/fi/cloudup/azure" + "k8s.io/kops/upup/pkg/fi/cloudup/bootstrapchannelbuilder" "k8s.io/kops/upup/pkg/fi/cloudup/cloudformation" "k8s.io/kops/upup/pkg/fi/cloudup/do" "k8s.io/kops/upup/pkg/fi/cloudup/gce" @@ -490,14 +491,17 @@ func (c *ApplyClusterCmd) Run(ctx context.Context) error { return err } + bcb := bootstrapchannelbuilder.NewBootstrapChannelBuilder( + modelContext, + &clusterLifecycle, + assetBuilder, + templates, + addons, + ) + l.Builders = append(l.Builders, - &BootstrapChannelBuilder{ - KopsModelContext: modelContext, - Lifecycle: &clusterLifecycle, - assetBuilder: assetBuilder, - templates: templates, - ClusterAddons: addons, - }, + + bcb, &model.PKIModelBuilder{ KopsModelContext: modelContext, Lifecycle: &clusterLifecycle, diff --git a/upup/pkg/fi/cloudup/bootstrapchannelbuilder/BUILD.bazel b/upup/pkg/fi/cloudup/bootstrapchannelbuilder/BUILD.bazel new file mode 100644 index 0000000000..27fe36830e --- /dev/null +++ b/upup/pkg/fi/cloudup/bootstrapchannelbuilder/BUILD.bazel @@ -0,0 +1,25 @@ +load("@io_bazel_rules_go//go:def.bzl", "go_library") + +go_library( + name = "go_default_library", + srcs = ["bootstrapchannelbuilder.go"], + importpath = "k8s.io/kops/upup/pkg/fi/cloudup/bootstrapchannelbuilder", + visibility = ["//visibility:public"], + deps = [ + "//channels/pkg/api:go_default_library", + "//pkg/apis/kops:go_default_library", + "//pkg/assets:go_default_library", + "//pkg/featureflag:go_default_library", + "//pkg/kubemanifest:go_default_library", + "//pkg/model:go_default_library", + "//pkg/model/components/addonmanifests:go_default_library", + "//pkg/model/components/addonmanifests/dnscontroller:go_default_library", + "//pkg/model/iam:go_default_library", + "//pkg/templates:go_default_library", + "//upup/pkg/fi:go_default_library", + "//upup/pkg/fi/fitasks:go_default_library", + "//upup/pkg/fi/utils:go_default_library", + "//vendor/github.com/blang/semver/v4:go_default_library", + "//vendor/k8s.io/klog/v2:go_default_library", + ], +) diff --git a/upup/pkg/fi/cloudup/bootstrapchannelbuilder.go b/upup/pkg/fi/cloudup/bootstrapchannelbuilder/bootstrapchannelbuilder.go similarity index 98% rename from upup/pkg/fi/cloudup/bootstrapchannelbuilder.go rename to upup/pkg/fi/cloudup/bootstrapchannelbuilder/bootstrapchannelbuilder.go index f6f5289958..1ccdecb1f5 100644 --- a/upup/pkg/fi/cloudup/bootstrapchannelbuilder.go +++ b/upup/pkg/fi/cloudup/bootstrapchannelbuilder/bootstrapchannelbuilder.go @@ -14,7 +14,7 @@ See the License for the specific language governing permissions and limitations under the License. */ -package cloudup +package bootstrapchannelbuilder import ( "fmt" @@ -49,6 +49,21 @@ type BootstrapChannelBuilder struct { var _ fi.ModelBuilder = &BootstrapChannelBuilder{} +// NewBootstrapChannelBuilder creates a new BootstrapChannelBuilder +func NewBootstrapChannelBuilder(modelContext *model.KopsModelContext, + clusterLifecycle *fi.Lifecycle, assetBuilder *assets.AssetBuilder, + templates *templates.Templates, + addons kubemanifest.ObjectList, +) *BootstrapChannelBuilder { + return &BootstrapChannelBuilder{ + KopsModelContext: modelContext, + Lifecycle: clusterLifecycle, + assetBuilder: assetBuilder, + templates: templates, + ClusterAddons: addons, + } +} + // Build is responsible for adding the addons to the channel func (b *BootstrapChannelBuilder) Build(c *fi.ModelBuilderContext) error { addons, err := b.buildAddons(c) diff --git a/upup/pkg/fi/cloudup/bootstrapchannelbuilder_test.go b/upup/pkg/fi/cloudup/bootstrapchannelbuilder_test.go index 4cd1b20eb0..406df0bbe0 100644 --- a/upup/pkg/fi/cloudup/bootstrapchannelbuilder_test.go +++ b/upup/pkg/fi/cloudup/bootstrapchannelbuilder_test.go @@ -33,6 +33,7 @@ import ( "k8s.io/kops/pkg/testutils/golden" "k8s.io/kops/upup/models" "k8s.io/kops/upup/pkg/fi" + "k8s.io/kops/upup/pkg/fi/cloudup/bootstrapchannelbuilder" "k8s.io/kops/upup/pkg/fi/fitasks" "k8s.io/kops/util/pkg/vfs" ) @@ -156,11 +157,13 @@ func runChannelBuilderTest(t *testing.T, key string, addonManifests []string) { } tf.AddTo(templates.TemplateFunctions, secretStore) - bcb := BootstrapChannelBuilder{ - KopsModelContext: &kopsModel, - templates: templates, - assetBuilder: assets.NewAssetBuilder(cluster, ""), - } + bcb := bootstrapchannelbuilder.NewBootstrapChannelBuilder( + &kopsModel, + nil, + assets.NewAssetBuilder(cluster, ""), + templates, + nil, + ) context := &fi.ModelBuilderContext{ Tasks: make(map[string]fi.Task),