mirror of
https://github.com/rancher/rke.git
synced 2025-09-01 23:16:22 +00:00
Add support for registry authentication
This commit is contained in:
@@ -8,6 +8,7 @@ import (
|
||||
"strings"
|
||||
|
||||
"github.com/rancher/rke/authz"
|
||||
"github.com/rancher/rke/docker"
|
||||
"github.com/rancher/rke/hosts"
|
||||
"github.com/rancher/rke/log"
|
||||
"github.com/rancher/rke/pki"
|
||||
@@ -35,6 +36,7 @@ type Cluster struct {
|
||||
ClusterDNSServer string
|
||||
DockerDialerFactory hosts.DialerFactory
|
||||
LocalConnDialerFactory hosts.DialerFactory
|
||||
PrivateRegistriesMap map[string]v3.PrivateRegistry
|
||||
}
|
||||
|
||||
const (
|
||||
@@ -51,7 +53,7 @@ const (
|
||||
|
||||
func (c *Cluster) DeployControlPlane(ctx context.Context) error {
|
||||
// Deploy Etcd Plane
|
||||
if err := services.RunEtcdPlane(ctx, c.EtcdHosts, c.Services.Etcd, c.LocalConnDialerFactory); err != nil {
|
||||
if err := services.RunEtcdPlane(ctx, c.EtcdHosts, c.Services.Etcd, c.LocalConnDialerFactory, c.PrivateRegistriesMap); err != nil {
|
||||
return fmt.Errorf("[etcd] Failed to bring up Etcd Plane: %v", err)
|
||||
}
|
||||
// Deploy Control plane
|
||||
@@ -60,7 +62,8 @@ func (c *Cluster) DeployControlPlane(ctx context.Context) error {
|
||||
c.Services,
|
||||
c.SystemImages.KubernetesServicesSidecar,
|
||||
c.Authorization.Mode,
|
||||
c.LocalConnDialerFactory); err != nil {
|
||||
c.LocalConnDialerFactory,
|
||||
c.PrivateRegistriesMap); err != nil {
|
||||
return fmt.Errorf("[controlPlane] Failed to bring up Control Plane: %v", err)
|
||||
}
|
||||
// Apply Authz configuration after deploying controlplane
|
||||
@@ -78,7 +81,8 @@ func (c *Cluster) DeployWorkerPlane(ctx context.Context) error {
|
||||
c.Services,
|
||||
c.SystemImages.NginxProxy,
|
||||
c.SystemImages.KubernetesServicesSidecar,
|
||||
c.LocalConnDialerFactory); err != nil {
|
||||
c.LocalConnDialerFactory,
|
||||
c.PrivateRegistriesMap); err != nil {
|
||||
return fmt.Errorf("[workerPlane] Failed to bring up Worker Plane: %v", err)
|
||||
}
|
||||
return nil
|
||||
@@ -105,6 +109,7 @@ func ParseCluster(
|
||||
ConfigPath: clusterFilePath,
|
||||
DockerDialerFactory: dockerDialerFactory,
|
||||
LocalConnDialerFactory: localConnDialerFactory,
|
||||
PrivateRegistriesMap: make(map[string]v3.PrivateRegistry),
|
||||
}
|
||||
// Setting cluster Defaults
|
||||
c.setClusterDefaults(ctx)
|
||||
@@ -128,6 +133,14 @@ func ParseCluster(
|
||||
c.ConfigPath = DefaultClusterConfig
|
||||
}
|
||||
c.LocalKubeConfigPath = GetLocalKubeConfig(c.ConfigPath, configDir)
|
||||
|
||||
for _, pr := range c.PrivateRegistries {
|
||||
if pr.URL == "" {
|
||||
pr.URL = docker.DockerRegistryURL
|
||||
}
|
||||
c.PrivateRegistriesMap[pr.URL] = pr
|
||||
}
|
||||
|
||||
return c, nil
|
||||
}
|
||||
|
||||
|
Reference in New Issue
Block a user