Blob Blame History Raw
From 0416f00d323dcc5ad1c5c9c0a6c66dcad7cac458 Mon Sep 17 00:00:00 2001
From: Jan Chaloupka <jchaloup@redhat.com>
Date: Mon, 7 Mar 2016 12:53:44 +0100
Subject: [PATCH] remove apiserver, backport kubectl, add kube-prefix for

---
 cmd/hyperkube/kube-controller-manager.go |  2 +-
 cmd/hyperkube/kube-proxy.go              |  2 +-
 cmd/hyperkube/kube-scheduler.go          |  2 +-
 cmd/hyperkube/kubectl.go                 | 39 ++++++++++++++++++++++++++++++++
 cmd/hyperkube/main.go                    |  2 +-
 cmd/kubectl/app/kubectl.go               | 29 ++++++++++++++++++++++++
 6 files changed, 72 insertions(+), 4 deletions(-)
 create mode 100644 cmd/hyperkube/kubectl.go
 create mode 100644 cmd/kubectl/app/kubectl.go

diff --git a/cmd/hyperkube/kube-controller-manager.go b/cmd/hyperkube/kube-controller-manager.go
index 646dcc5..009b14a 100644
--- a/cmd/hyperkube/kube-controller-manager.go
+++ b/cmd/hyperkube/kube-controller-manager.go
@@ -28,7 +28,7 @@ func NewKubeControllerManager() *Server {
 	s := controllermgr.NewCMServer()
 
 	hks := Server{
-		SimpleUsage: "controller-manager",
+		SimpleUsage: "kube-controller-manager",
 		Long:        "A server that runs a set of active components. This includes replication controllers, service endpoints and nodes.",
 		Run: func(_ *Server, args []string) error {
 			return s.Run(args)
diff --git a/cmd/hyperkube/kube-proxy.go b/cmd/hyperkube/kube-proxy.go
index e3b3c46..cf3b12a 100644
--- a/cmd/hyperkube/kube-proxy.go
+++ b/cmd/hyperkube/kube-proxy.go
@@ -28,7 +28,7 @@ func NewKubeProxy() *Server {
 	config := kubeproxy.NewProxyConfig()
 
 	hks := Server{
-		SimpleUsage: "proxy",
+		SimpleUsage: "kube-proxy",
 		Long: `The Kubernetes proxy server is responsible for taking traffic directed at
 		services and forwarding it to the appropriate pods. It generally runs on
 		nodes next to the Kubelet and proxies traffic from local pods to remote pods.
diff --git a/cmd/hyperkube/kube-scheduler.go b/cmd/hyperkube/kube-scheduler.go
index f27a3f8..aba7c4f 100644
--- a/cmd/hyperkube/kube-scheduler.go
+++ b/cmd/hyperkube/kube-scheduler.go
@@ -28,7 +28,7 @@ func NewScheduler() *Server {
 	s := scheduler.NewSchedulerServer()
 
 	hks := Server{
-		SimpleUsage: "scheduler",
+		SimpleUsage: "kube-scheduler",
 		Long:        "Implements a Kubernetes scheduler.  This will assign pods to kubelets based on capacity and constraints.",
 		Run: func(_ *Server, args []string) error {
 			return s.Run(args)
diff --git a/cmd/hyperkube/kubectl.go b/cmd/hyperkube/kubectl.go
new file mode 100644
index 0000000..9da15cf
--- /dev/null
+++ b/cmd/hyperkube/kubectl.go
@@ -0,0 +1,39 @@
+/*
+Copyright 2015 The Kubernetes Authors All rights reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package main
+
+import (
+	"os"
+
+	"k8s.io/kubernetes/cmd/kubectl/app"
+)
+
+func NewKubectlServer() *Server {
+	return &Server{
+		name:        "kubectl",
+		SimpleUsage: "Kubernetes command line client",
+		Long:        "Kubernetes command line client",
+		Run: func(s *Server, args []string) error {
+			os.Args = os.Args[1:]
+			if err := app.Run(); err != nil {
+				os.Exit(1)
+			}
+			os.Exit(0)
+			return nil
+		},
+	}
+}
diff --git a/cmd/hyperkube/main.go b/cmd/hyperkube/main.go
index 3a2b92f..8b060ba 100644
--- a/cmd/hyperkube/main.go
+++ b/cmd/hyperkube/main.go
@@ -31,7 +31,7 @@ func main() {
 		Long: "This is an all-in-one binary that can run any of the various Kubernetes servers.",
 	}
 
-	hk.AddServer(NewKubeAPIServer())
+	hk.AddServer(NewKubectlServer())
 	hk.AddServer(NewKubeControllerManager())
 	hk.AddServer(NewScheduler())
 	hk.AddServer(NewKubelet())
diff --git a/cmd/kubectl/app/kubectl.go b/cmd/kubectl/app/kubectl.go
new file mode 100644
index 0000000..5c25410
--- /dev/null
+++ b/cmd/kubectl/app/kubectl.go
@@ -0,0 +1,29 @@
+/*
+Copyright 2015 The Kubernetes Authors All rights reserved.
+
+Licensed under the Apache License, Version 2.0 (the "License");
+you may not use this file except in compliance with the License.
+You may obtain a copy of the License at
+
+    http://www.apache.org/licenses/LICENSE-2.0
+
+Unless required by applicable law or agreed to in writing, software
+distributed under the License is distributed on an "AS IS" BASIS,
+WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+See the License for the specific language governing permissions and
+limitations under the License.
+*/
+
+package app
+
+import (
+	"os"
+
+	"k8s.io/kubernetes/pkg/kubectl/cmd"
+	cmdutil "k8s.io/kubernetes/pkg/kubectl/cmd/util"
+)
+
+func Run() error {
+	cmd := cmd.NewKubectlCommand(cmdutil.NewFactory(nil), os.Stdin, os.Stdout, os.Stderr)
+	return cmd.Execute()
+}
-- 
1.9.3