Skip to content

Commit a897f04

Browse files
invidianDongsu Park
andcommitted
pkg/cloud/scope: add interface for getting S3Bucket spec from cluster
It will be consumed by new S3 service implementing S3 access for creating bootstrapping data for systems, which do not support pulling user data from Secret Manager, like Ignition. Co-authored-by: Dongsu Park <[email protected]> Signed-off-by: Mateusz Gozdek <[email protected]>
1 parent a08bc07 commit a897f04

File tree

2 files changed

+33
-0
lines changed

2 files changed

+33
-0
lines changed

pkg/cloud/scope/cluster.go

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -197,6 +197,10 @@ func (s *ClusterScope) ControlPlaneEndpoint() clusterv1.APIEndpoint {
197197
return s.AWSCluster.Spec.ControlPlaneEndpoint
198198
}
199199

200+
func (s *ClusterScope) Bucket() *infrav1.S3Bucket {
201+
return s.AWSCluster.Spec.S3Bucket
202+
}
203+
200204
// ControlPlaneConfigMapName returns the name of the ConfigMap used to
201205
// coordinate the bootstrapping of control plane nodes.
202206
func (s *ClusterScope) ControlPlaneConfigMapName() string {

pkg/cloud/scope/s3.go

Lines changed: 29 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,29 @@
1+
/*
2+
Copyright 2021 The Kubernetes Authors.
3+
4+
Licensed under the Apache License, Version 2.0 (the "License");
5+
you may not use this file except in compliance with the License.
6+
You may obtain a copy of the License at
7+
8+
http://www.apache.org/licenses/LICENSE-2.0
9+
10+
Unless required by applicable law or agreed to in writing, software
11+
distributed under the License is distributed on an "AS IS" BASIS,
12+
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
13+
See the License for the specific language governing permissions and
14+
limitations under the License.
15+
*/
16+
17+
package scope
18+
19+
import (
20+
infrav1 "sigs.k8s.io/cluster-api-provider-aws/api/v1beta1"
21+
"sigs.k8s.io/cluster-api-provider-aws/pkg/cloud"
22+
)
23+
24+
// S3Scope is the interface for the scope to be used with the S3 service.
25+
type S3Scope interface {
26+
cloud.ClusterScoper
27+
28+
Bucket() *infrav1.S3Bucket
29+
}

0 commit comments

Comments
 (0)