Skip to content
This repository was archived by the owner on Jul 30, 2021. It is now read-only.

Commit 60c9099

Browse files
authored
Merge pull request #193 from kubernetes-incubator/s
render: add flag to optionally create self hosted assets
2 parents 3cfef46 + 9ffd0b6 commit 60c9099

File tree

3 files changed

+12
-4
lines changed

3 files changed

+12
-4
lines changed

cmd/bootkube/render.go

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ var (
3636
selfHostKubelet bool
3737
storageBackend string
3838
cloudProvider string
39+
selfHostedEtcd bool
3940
}
4041
)
4142

@@ -50,6 +51,7 @@ func init() {
5051
cmdRender.Flags().StringVar(&renderOpts.altNames, "api-server-alt-names", "", "List of SANs to use in api-server certificate. Example: 'IP=127.0.0.1,IP=127.0.0.2,DNS=localhost'. If empty, SANs will be extracted from the --api-servers flag.")
5152
cmdRender.Flags().BoolVar(&renderOpts.selfHostKubelet, "self-host-kubelet", false, "Create a self-hosted kubelet daemonset.")
5253
cmdRender.Flags().StringVar(&renderOpts.cloudProvider, "cloud-provider", "", "The provider for cloud services. Empty string for no provider")
54+
cmdRender.Flags().BoolVar(&renderOpts.selfHostedEtcd, "experimental-self-hosted-etcd", false, "Create self-hosted etcd assets.")
5355
}
5456

5557
func runCmdRender(cmd *cobra.Command, args []string) error {
@@ -120,6 +122,7 @@ func flagsToAssetConfig() (c *asset.Config, err error) {
120122
SelfHostKubelet: renderOpts.selfHostKubelet,
121123
StorageBackend: renderOpts.storageBackend,
122124
CloudProvider: renderOpts.cloudProvider,
125+
SelfHostedEtcd: renderOpts.selfHostedEtcd,
123126
}, nil
124127
}
125128

pkg/asset/asset.go

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ type Config struct {
4747
CAPrivKey *rsa.PrivateKey
4848
AltNames *tlsutil.AltNames
4949
SelfHostKubelet bool
50+
SelfHostedEtcd bool
5051
StorageBackend string
5152
CloudProvider string
5253
}
@@ -55,7 +56,7 @@ type Config struct {
5556
// configured via a user provided AssetConfig. Default assets include
5657
// TLS assets (certs, keys and secrets), and k8s component manifests.
5758
func NewDefaultAssets(conf Config) (Assets, error) {
58-
as := newStaticAssets(conf.SelfHostKubelet)
59+
as := newStaticAssets(conf.SelfHostKubelet, conf.SelfHostedEtcd)
5960
as = append(as, newDynamicAssets(conf)...)
6061

6162
// TLS assets

pkg/asset/k8s.go

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,20 +17,24 @@ const (
1717
secretCMName = "kube-controller-manager"
1818
)
1919

20-
func newStaticAssets(selfHostKubelet bool) Assets {
20+
func newStaticAssets(selfHostKubelet, selfHostedEtcd bool) Assets {
2121
var noData interface{}
2222
assets := Assets{
2323
mustCreateAssetFromTemplate(AssetPathScheduler, internal.SchedulerTemplate, noData),
2424
mustCreateAssetFromTemplate(AssetPathProxy, internal.ProxyTemplate, noData),
2525
mustCreateAssetFromTemplate(AssetPathKubeDNSDeployment, internal.DNSDeploymentTemplate, noData),
2626
mustCreateAssetFromTemplate(AssetPathKubeDNSSvc, internal.DNSSvcTemplate, noData),
2727
mustCreateAssetFromTemplate(AssetPathCheckpointer, internal.CheckpointerTemplate, noData),
28-
mustCreateAssetFromTemplate(AssetPathEtcdOperator, internal.EtcdOperatorTemplate, noData),
29-
mustCreateAssetFromTemplate(AssetPathEtcdSvc, internal.EtcdSvcTemplate, noData),
3028
}
3129
if selfHostKubelet {
3230
assets = append(assets, mustCreateAssetFromTemplate(AssetPathKubelet, internal.KubeletTemplate, noData))
3331
}
32+
if selfHostedEtcd {
33+
assets = append(assets,
34+
mustCreateAssetFromTemplate(AssetPathEtcdOperator, internal.EtcdOperatorTemplate, noData),
35+
mustCreateAssetFromTemplate(AssetPathEtcdSvc, internal.EtcdSvcTemplate, noData),
36+
)
37+
}
3438

3539
return assets
3640
}

0 commit comments

Comments
 (0)