Skip to content

Commit 68238a8

Browse files
committed
chore: merge branch '3.6'
2 parents 6b5868f + 7dbf675 commit 68238a8

File tree

37 files changed

+4541
-1828
lines changed

37 files changed

+4541
-1828
lines changed

caas/broker.go

Lines changed: 0 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,6 @@ import (
1515
"github.com/juju/juju/core/devices"
1616
"github.com/juju/juju/core/network"
1717
"github.com/juju/juju/core/resource"
18-
"github.com/juju/juju/core/secrets"
1918
"github.com/juju/juju/core/status"
2019
"github.com/juju/juju/environs"
2120
"github.com/juju/juju/internal/docker"
@@ -193,12 +192,6 @@ type Broker interface {
193192
// ServiceManager provides an API for creating and watching services.
194193
ServiceManager
195194

196-
// SecretsProvider provides an API for accessing the broker interface for managing secret k8s provider resources.
197-
SecretsProvider
198-
199-
// SecretsBackend provides an API for managing Juju secrets.
200-
SecretsBackend
201-
202195
// ModelOperatorManager provides an API for deploying operators for
203196
// individual models.
204197
ModelOperatorManager
@@ -225,24 +218,6 @@ type ApplicationBroker interface {
225218
AnnotateUnit(ctx context.Context, appName string, podName string, unit names.UnitTag) error
226219
}
227220

228-
// SecretsProvider provides an API for accessing the broker interface for managing secret k8s provider resources.
229-
type SecretsProvider interface {
230-
// EnsureSecretAccessToken ensures the secret related RBAC resources for the provided entity.
231-
EnsureSecretAccessToken(ctx context.Context, unitName string, owned, read, removed []string) (string, error)
232-
}
233-
234-
// SecretsBackend provides an API for managing Juju secrets.
235-
type SecretsBackend interface {
236-
// SaveJujuSecret saves a secret, returning an id used to access the secret later.
237-
SaveJujuSecret(ctx context.Context, name string, value secrets.SecretValue) (string, error)
238-
239-
// GetJujuSecret gets the content of a Juju secret.
240-
GetJujuSecret(ctx context.Context, id string) (secrets.SecretValue, error)
241-
242-
// DeleteJujuSecret deletes a Juju secret.
243-
DeleteJujuSecret(ctx context.Context, id string) error
244-
}
245-
246221
// ModelOperatorManager provides an API for deploying operators for individual
247222
// models.
248223
type ModelOperatorManager interface {

caas/kubernetes/cloud/credential.go

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,7 @@ const (
2121
CredAttrClientCertificateData = "ClientCertificateData"
2222
// CredAttrClientKeyData is the attribute key for client certificate key credentials
2323
CredAttrClientKeyData = "ClientKeyData"
24-
// CredAttrToken is the attribute key for outh2 token credentials
24+
// CredAttrToken is the attribute key for oauth2 token credentials
2525
CredAttrToken = "Token"
2626
// RBACLabelKeyName key id for rbac credential labels
2727
RBACLabelKeyName = "rbac-id"
@@ -82,7 +82,7 @@ var SupportedCredentialSchemas = map[cloud.AuthType]cloud.CredentialSchema{
8282
},
8383
}
8484

85-
// LegacyCredentialsSchemas represents legacy credentials schemas that Juju used
85+
// LegacyCredentialSchemas represents legacy credentials schemas that Juju used
8686
// to output but still need to be supported to maintain working Kubernetes
8787
// support. These types should be liberally allowed as input but not used as
8888
// new output from Juju. This change was introduced by tlm in juju 2.9

caas/kubernetes/provider/export_test.go

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,6 @@ var (
3535

3636
UpdateStrategyForStatefulSet = updateStrategyForStatefulSet
3737
DecideKubeConfigDir = decideKubeConfigDir
38-
RulesForSecretAccess = rulesForSecretAccess
3938
)
4039

4140
type (

caas/kubernetes/provider/provider.go

Lines changed: 19 additions & 24 deletions
Original file line numberDiff line numberDiff line change
@@ -171,37 +171,32 @@ func (p kubernetesEnvironProvider) Open(ctx stdcontext.Context, args environs.Op
171171
return nil, errors.Trace(err)
172172
}
173173

174-
if args.Config.Name() != environsbootstrap.ControllerModelName {
175-
broker, err := newK8sBroker(
176-
ctx, args.ControllerUUID, k8sRestConfig, args.Config, args.Config.Name(), NewK8sClients, newRestClient,
177-
k8swatcher.NewKubernetesNotifyWatcher, k8swatcher.NewKubernetesStringsWatcher, utils.RandomPrefix,
178-
jujuclock.WallClock)
179-
if err != nil {
180-
return nil, errors.Trace(err)
181-
}
182-
return broker, nil
174+
namespace, err := NamespaceForModel(ctx, args.Config.Name(), args.ControllerUUID, k8sRestConfig)
175+
if err != nil && !errors.Is(err, errors.NotFound) {
176+
return nil, err
183177
}
184178

179+
return newK8sBroker(ctx,
180+
args.ControllerUUID, k8sRestConfig, args.Config, namespace,
181+
NewK8sClients, newRestClient, k8swatcher.NewKubernetesNotifyWatcher, k8swatcher.NewKubernetesStringsWatcher,
182+
utils.RandomPrefix, jujuclock.WallClock)
183+
}
184+
185+
// NamespaceForModel returns the namespace which is associated with the specified model.
186+
func NamespaceForModel(ctx context.Context, modelName string, controllerUUID string, k8sRestConfig *rest.Config) (string, error) {
187+
if modelName != environsbootstrap.ControllerModelName {
188+
return modelName, nil
189+
}
185190
k8sClient, _, _, err := NewK8sClients(k8sRestConfig)
186191
if err != nil {
187-
return nil, errors.Trace(err)
192+
return "", errors.Trace(err)
188193
}
189194

190-
ns, err := findControllerNamespace(ctx, k8sClient, args.ControllerUUID)
191-
if errors.Is(err, errors.NotFound) {
192-
// The controller is currently bootstrapping.
193-
return newK8sBroker(
194-
ctx, args.ControllerUUID, k8sRestConfig, args.Config, "",
195-
NewK8sClients, newRestClient, k8swatcher.NewKubernetesNotifyWatcher, k8swatcher.NewKubernetesStringsWatcher,
196-
utils.RandomPrefix, jujuclock.WallClock)
197-
} else if err != nil {
198-
return nil, err
195+
ns, err := findControllerNamespace(ctx, k8sClient, controllerUUID)
196+
if err != nil {
197+
return "", errors.Trace(err)
199198
}
200-
201-
return newK8sBroker(
202-
ctx, args.ControllerUUID, k8sRestConfig, args.Config, ns.Name,
203-
NewK8sClients, newRestClient, k8swatcher.NewKubernetesNotifyWatcher, k8swatcher.NewKubernetesStringsWatcher,
204-
utils.RandomPrefix, jujuclock.WallClock)
199+
return ns.Name, nil
205200
}
206201

207202
// CloudSchema returns the schema for adding new clouds of this type.

0 commit comments

Comments
 (0)