mirror of
https://github.com/k3s-io/kubernetes.git
synced 2025-07-31 23:37:01 +00:00
Merge pull request #53863 from marun/fed-move-cluster
Automatic merge from submit-queue. If you want to cherry-pick this change to another branch, please follow the instructions <a href="https://github.com/kubernetes/community/blob/master/contributors/devel/cherry-picks.md">here</a>. fed: Move cluster generator & constants from kubectl to kubefed pkg This will ensure the history of the federation-only files can be cheaply retained during the branch filtering that will occur for #52992. cc: @kubernetes/sig-multicluster-pr-reviews /sig multicluster /area federation /assign irfanurrehman shashidharatd /release-note-none
This commit is contained in:
commit
668bedd943
@ -9,6 +9,7 @@ load(
|
||||
go_library(
|
||||
name = "go_default_library",
|
||||
srcs = [
|
||||
"cluster.go",
|
||||
"join.go",
|
||||
"kubefed.go",
|
||||
"unjoin.go",
|
||||
@ -32,6 +33,7 @@ go_library(
|
||||
"//vendor/github.com/golang/glog:go_default_library",
|
||||
"//vendor/github.com/spf13/cobra:go_default_library",
|
||||
"//vendor/github.com/spf13/pflag:go_default_library",
|
||||
"//vendor/k8s.io/api/core/v1:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/api/errors:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/apis/meta/v1:go_default_library",
|
||||
"//vendor/k8s.io/apimachinery/pkg/runtime:go_default_library",
|
||||
@ -47,6 +49,7 @@ go_library(
|
||||
go_test(
|
||||
name = "go_default_test",
|
||||
srcs = [
|
||||
"cluster_test.go",
|
||||
"join_test.go",
|
||||
"unjoin_test.go",
|
||||
],
|
||||
@ -61,7 +64,6 @@ go_test(
|
||||
"//pkg/api/legacyscheme:go_default_library",
|
||||
"//pkg/api/testapi:go_default_library",
|
||||
"//pkg/apis/rbac/v1:go_default_library",
|
||||
"//pkg/kubectl:go_default_library",
|
||||
"//pkg/kubectl/cmd/testing:go_default_library",
|
||||
"//pkg/kubectl/cmd/util:go_default_library",
|
||||
"//vendor/k8s.io/api/core/v1:go_default_library",
|
||||
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
package kubectl
|
||||
package kubefed
|
||||
|
||||
import (
|
||||
"fmt"
|
||||
@ -23,6 +23,7 @@ import (
|
||||
metav1 "k8s.io/apimachinery/pkg/apis/meta/v1"
|
||||
"k8s.io/apimachinery/pkg/runtime"
|
||||
federationapi "k8s.io/kubernetes/federation/apis/federation/v1beta1"
|
||||
"k8s.io/kubernetes/pkg/kubectl"
|
||||
)
|
||||
|
||||
const (
|
||||
@ -57,15 +58,15 @@ type ClusterGeneratorV1Beta1 struct {
|
||||
|
||||
// Ensure it supports the generator pattern that uses parameter
|
||||
// injection.
|
||||
var _ Generator = &ClusterGeneratorV1Beta1{}
|
||||
var _ kubectl.Generator = &ClusterGeneratorV1Beta1{}
|
||||
|
||||
// Ensure it supports the generator pattern that uses parameters
|
||||
// specified during construction.
|
||||
var _ StructuredGenerator = &ClusterGeneratorV1Beta1{}
|
||||
var _ kubectl.StructuredGenerator = &ClusterGeneratorV1Beta1{}
|
||||
|
||||
// Generate returns a cluster resource using the specified parameters.
|
||||
func (s ClusterGeneratorV1Beta1) Generate(genericParams map[string]interface{}) (runtime.Object, error) {
|
||||
err := ValidateParams(s.ParamNames(), genericParams)
|
||||
err := kubectl.ValidateParams(s.ParamNames(), genericParams)
|
||||
if err != nil {
|
||||
return nil, err
|
||||
}
|
||||
@ -89,14 +90,32 @@ func (s ClusterGeneratorV1Beta1) Generate(genericParams map[string]interface{})
|
||||
|
||||
// ParamNames returns the set of supported input parameters when using
|
||||
// the parameter injection generator pattern.
|
||||
func (s ClusterGeneratorV1Beta1) ParamNames() []GeneratorParam {
|
||||
return []GeneratorParam{
|
||||
{"name", true},
|
||||
{"client-cidr", false},
|
||||
{"server-address", true},
|
||||
{"secret", false},
|
||||
{"service-account-name", false},
|
||||
{"cluster-role-name", false},
|
||||
func (s ClusterGeneratorV1Beta1) ParamNames() []kubectl.GeneratorParam {
|
||||
return []kubectl.GeneratorParam{
|
||||
{
|
||||
Name: "name",
|
||||
Required: true,
|
||||
},
|
||||
{
|
||||
Name: "client-cidr",
|
||||
Required: false,
|
||||
},
|
||||
{
|
||||
Name: "server-address",
|
||||
Required: true,
|
||||
},
|
||||
{
|
||||
Name: "secret",
|
||||
Required: false,
|
||||
},
|
||||
{
|
||||
Name: "service-account-name",
|
||||
Required: false,
|
||||
},
|
||||
{
|
||||
Name: "cluster-role-name",
|
||||
Required: false,
|
||||
},
|
||||
}
|
||||
}
|
||||
|
@ -14,7 +14,7 @@ See the License for the specific language governing permissions and
|
||||
limitations under the License.
|
||||
*/
|
||||
|
||||
package kubectl
|
||||
package kubefed
|
||||
|
||||
import (
|
||||
"reflect"
|
@ -427,7 +427,7 @@ func clusterGenerator(clientConfig *clientcmdapi.Config, name, contextName, secr
|
||||
serverAddress = strings.Join([]string{scheme, serverAddress}, "://")
|
||||
}
|
||||
|
||||
generator := &kubectl.ClusterGeneratorV1Beta1{
|
||||
generator := &ClusterGeneratorV1Beta1{
|
||||
Name: name,
|
||||
ClientCIDR: defaultClientCIDR,
|
||||
ServerAddress: serverAddress,
|
||||
|
@ -41,7 +41,6 @@ import (
|
||||
"k8s.io/kubernetes/pkg/api/legacyscheme"
|
||||
"k8s.io/kubernetes/pkg/api/testapi"
|
||||
k8srbacv1 "k8s.io/kubernetes/pkg/apis/rbac/v1"
|
||||
"k8s.io/kubernetes/pkg/kubectl"
|
||||
cmdtesting "k8s.io/kubernetes/pkg/kubectl/cmd/testing"
|
||||
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
|
||||
)
|
||||
@ -595,8 +594,8 @@ func fakeCluster(clusterName, secretName, server string, isRBACAPIAvailable bool
|
||||
if isRBACAPIAvailable {
|
||||
saName := serviceAccountName(clusterName)
|
||||
annotations := map[string]string{
|
||||
kubectl.ServiceAccountNameAnnotation: saName,
|
||||
kubectl.ClusterRoleNameAnnotation: util.ClusterRoleName(testFederationName, saName),
|
||||
ServiceAccountNameAnnotation: saName,
|
||||
ClusterRoleNameAnnotation: util.ClusterRoleName(testFederationName, saName),
|
||||
}
|
||||
cluster.ObjectMeta.SetAnnotations(annotations)
|
||||
}
|
||||
|
@ -29,7 +29,6 @@ import (
|
||||
"k8s.io/kubernetes/federation/pkg/kubefed/util"
|
||||
"k8s.io/kubernetes/pkg/api"
|
||||
"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
|
||||
"k8s.io/kubernetes/pkg/kubectl"
|
||||
"k8s.io/kubernetes/pkg/kubectl/cmd/templates"
|
||||
cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
|
||||
"k8s.io/kubernetes/pkg/kubectl/resource"
|
||||
@ -304,7 +303,7 @@ func removeConfigMapString(str string, toRemove string) string {
|
||||
// deleteServiceAccountFromCluster removes the service account that the federation control plane uses
|
||||
// to access the cluster from the cluster that is leaving the federation.
|
||||
func deleteServiceAccountFromCluster(unjoiningClusterClientset internalclientset.Interface, cluster *federationapi.Cluster, fedSystemNamespace string) error {
|
||||
serviceAccountName, ok := cluster.ObjectMeta.Annotations[kubectl.ServiceAccountNameAnnotation]
|
||||
serviceAccountName, ok := cluster.ObjectMeta.Annotations[ServiceAccountNameAnnotation]
|
||||
if !ok {
|
||||
// If there is no service account name annotation, assume that this cluster does not have a federation control plane service account.
|
||||
return nil
|
||||
@ -315,7 +314,7 @@ func deleteServiceAccountFromCluster(unjoiningClusterClientset internalclientset
|
||||
// deleteClusterRoleBindingFromCluster deletes the ClusterRole and ClusterRoleBinding from the
|
||||
// cluster that is leaving the federation.
|
||||
func deleteClusterRoleBindingFromCluster(unjoiningClusterClientset internalclientset.Interface, cluster *federationapi.Cluster) error {
|
||||
clusterRoleName, ok := cluster.ObjectMeta.Annotations[kubectl.ClusterRoleNameAnnotation]
|
||||
clusterRoleName, ok := cluster.ObjectMeta.Annotations[ClusterRoleNameAnnotation]
|
||||
if !ok {
|
||||
// If there is no cluster role name annotation, assume that this cluster does not have cluster role bindings.
|
||||
return nil
|
||||
|
@ -10,7 +10,6 @@ go_test(
|
||||
name = "go_default_test",
|
||||
srcs = [
|
||||
"autoscale_test.go",
|
||||
"cluster_test.go",
|
||||
"clusterrolebinding_test.go",
|
||||
"configmap_test.go",
|
||||
"delete_test.go",
|
||||
@ -36,7 +35,6 @@ go_test(
|
||||
importpath = "k8s.io/kubernetes/pkg/kubectl",
|
||||
library = ":go_default_library",
|
||||
deps = [
|
||||
"//federation/apis/federation/v1beta1:go_default_library",
|
||||
"//pkg/api:go_default_library",
|
||||
"//pkg/api/legacyscheme:go_default_library",
|
||||
"//pkg/api/testapi:go_default_library",
|
||||
@ -85,7 +83,6 @@ go_library(
|
||||
"apply.go",
|
||||
"autoscale.go",
|
||||
"bash_comp_utils.go",
|
||||
"cluster.go",
|
||||
"clusterrolebinding.go",
|
||||
"configmap.go",
|
||||
"delete.go",
|
||||
@ -117,7 +114,6 @@ go_library(
|
||||
],
|
||||
importpath = "k8s.io/kubernetes/pkg/kubectl",
|
||||
deps = [
|
||||
"//federation/apis/federation/v1beta1:go_default_library",
|
||||
"//pkg/api:go_default_library",
|
||||
"//pkg/api/legacyscheme:go_default_library",
|
||||
"//pkg/api/v1:go_default_library",
|
||||
|
Loading…
Reference in New Issue
Block a user