From e909258fe80668f531862871310fed182b59bf6f Mon Sep 17 00:00:00 2001
From: Adam Reese <adam@reese.io>
Date: Thu, 12 Apr 2018 15:34:15 -0700
Subject: [PATCH] remove rudder build infra

---
 Makefile                       |  14 ---
 cmd/rudder/rudder.go           | 158 ---------------------------------
 rootfs/Dockerfile.experimental |  26 ------
 rootfs/Dockerfile.rudder       |  25 ------
 versioning.mk                  |   2 -
 5 files changed, 225 deletions(-)
 delete mode 100644 cmd/rudder/rudder.go
 delete mode 100644 rootfs/Dockerfile.experimental
 delete mode 100644 rootfs/Dockerfile.rudder

diff --git a/Makefile b/Makefile
index 2dfbd2c3c..4dd5f2d95 100644
--- a/Makefile
+++ b/Makefile
@@ -1,7 +1,6 @@
 DOCKER_REGISTRY   ?= gcr.io
 IMAGE_PREFIX      ?= kubernetes-helm
 SHORT_NAME        ?= tiller
-SHORT_NAME_RUDDER ?= rudder
 TARGETS           ?= darwin/amd64 linux/amd64 linux/386 linux/arm linux/arm64 linux/ppc64le windows/amd64
 DIST_DIRS         = find * -type d -exec
 APP               = helm
@@ -67,19 +66,6 @@ docker-build: check-docker docker-binary
 	docker build --rm -t ${IMAGE} rootfs
 	docker tag ${IMAGE} ${MUTABLE_IMAGE}
 
-.PHONY: docker-binary-rudder
-docker-binary-rudder: BINDIR = ./rootfs
-docker-binary-rudder: GOFLAGS += -a -installsuffix cgo
-docker-binary-rudder:
-	GOOS=linux GOARCH=amd64 CGO_ENABLED=0 $(GO) build -o $(BINDIR)/rudder $(GOFLAGS) -tags '$(TAGS)' -ldflags '$(LDFLAGS)' k8s.io/helm/cmd/rudder
-
-.PHONY: docker-build-experimental
-docker-build-experimental: check-docker docker-binary docker-binary-rudder
-	docker build --rm -t ${IMAGE} rootfs -f rootfs/Dockerfile.experimental
-	docker tag ${IMAGE} ${MUTABLE_IMAGE}
-	docker build --rm -t ${IMAGE_RUDDER} rootfs -f rootfs/Dockerfile.rudder
-	docker tag ${IMAGE_RUDDER} ${MUTABLE_IMAGE_RUDDER}
-
 .PHONY: test
 test: build
 test: TESTFLAGS += -race -v
diff --git a/cmd/rudder/rudder.go b/cmd/rudder/rudder.go
deleted file mode 100644
index 30ece3998..000000000
--- a/cmd/rudder/rudder.go
+++ /dev/null
@@ -1,158 +0,0 @@
-/*
-Copyright 2017 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 (
-	"bytes"
-	"fmt"
-	"net"
-
-	"golang.org/x/net/context"
-	"google.golang.org/grpc"
-	"google.golang.org/grpc/grpclog"
-	"k8s.io/kubernetes/pkg/client/clientset_generated/internalclientset"
-
-	"github.com/spf13/pflag"
-	"k8s.io/helm/pkg/kube"
-	rudderAPI "k8s.io/helm/pkg/proto/hapi/rudder"
-	"k8s.io/helm/pkg/tiller"
-	"k8s.io/helm/pkg/version"
-)
-
-var kubeClient *kube.Client
-var clientset internalclientset.Interface
-
-type options struct {
-	listen string
-}
-
-func (opts *options) registerFlags() {
-	pflag.StringVarP(&opts.listen, "listen", "l", "127.0.0.1:10001",
-		"Socket for rudder grpc server (default: 127.0.0.1:10001).")
-}
-
-func (opts *options) parseFlags() {
-	pflag.Parse()
-}
-
-func (opts *options) regAndParseFlags() {
-	opts.registerFlags()
-	opts.parseFlags()
-}
-
-func main() {
-	opts := new(options)
-	opts.regAndParseFlags()
-	var err error
-	kubeClient = kube.New(nil)
-	clientset, err = kubeClient.ClientSet()
-	if err != nil {
-		grpclog.Fatalf("Cannot initialize Kubernetes connection: %s", err)
-	}
-	grpclog.Printf("Creating tcp socket on %s\n", opts.listen)
-	lis, err := net.Listen("tcp", opts.listen)
-	if err != nil {
-		grpclog.Fatalf("failed to listen: %v", err)
-	}
-	grpcServer := grpc.NewServer()
-	rudderAPI.RegisterReleaseModuleServiceServer(grpcServer, &ReleaseModuleServiceServer{})
-
-	grpclog.Printf("Starting server on %s\n", opts.listen)
-	grpcServer.Serve(lis)
-}
-
-// ReleaseModuleServiceServer provides implementation for rudderAPI.ReleaseModuleServiceServer
-type ReleaseModuleServiceServer struct{}
-
-// Version returns Rudder version based on helm version
-func (r *ReleaseModuleServiceServer) Version(ctx context.Context, in *rudderAPI.VersionReleaseRequest) (*rudderAPI.VersionReleaseResponse, error) {
-	grpclog.Print("version")
-	return &rudderAPI.VersionReleaseResponse{
-		Name:    "helm-rudder-native",
-		Version: version.Version,
-	}, nil
-}
-
-// InstallRelease creates a release using kubeClient.Create
-func (r *ReleaseModuleServiceServer) InstallRelease(ctx context.Context, in *rudderAPI.InstallReleaseRequest) (*rudderAPI.InstallReleaseResponse, error) {
-	grpclog.Print("install")
-	b := bytes.NewBufferString(in.Release.Manifest)
-	err := kubeClient.Create(in.Release.Namespace, b, 500, false)
-	if err != nil {
-		grpclog.Printf("error when creating release: %v", err)
-	}
-	return &rudderAPI.InstallReleaseResponse{}, err
-}
-
-// DeleteRelease deletes a provided release
-func (r *ReleaseModuleServiceServer) DeleteRelease(ctx context.Context, in *rudderAPI.DeleteReleaseRequest) (*rudderAPI.DeleteReleaseResponse, error) {
-	grpclog.Print("delete")
-
-	resp := &rudderAPI.DeleteReleaseResponse{}
-	rel := in.Release
-	vs, err := tiller.GetVersionSet(clientset.Discovery())
-	if err != nil {
-		return resp, fmt.Errorf("Could not get apiVersions from Kubernetes: %v", err)
-	}
-
-	kept, errs := tiller.DeleteRelease(rel, vs, kubeClient)
-	rel.Manifest = kept
-
-	allErrors := ""
-	for _, e := range errs {
-		allErrors = allErrors + "\n" + e.Error()
-	}
-
-	if len(allErrors) > 0 {
-		err = fmt.Errorf(allErrors)
-	}
-
-	return &rudderAPI.DeleteReleaseResponse{
-		Release: rel,
-	}, err
-}
-
-// RollbackRelease rolls back the release
-func (r *ReleaseModuleServiceServer) RollbackRelease(ctx context.Context, in *rudderAPI.RollbackReleaseRequest) (*rudderAPI.RollbackReleaseResponse, error) {
-	grpclog.Print("rollback")
-	c := bytes.NewBufferString(in.Current.Manifest)
-	t := bytes.NewBufferString(in.Target.Manifest)
-	err := kubeClient.Update(in.Target.Namespace, c, t, in.Force, in.Recreate, in.Timeout, in.Wait)
-	return &rudderAPI.RollbackReleaseResponse{}, err
-}
-
-// UpgradeRelease upgrades manifests using kubernetes client
-func (r *ReleaseModuleServiceServer) UpgradeRelease(ctx context.Context, in *rudderAPI.UpgradeReleaseRequest) (*rudderAPI.UpgradeReleaseResponse, error) {
-	grpclog.Print("upgrade")
-	c := bytes.NewBufferString(in.Current.Manifest)
-	t := bytes.NewBufferString(in.Target.Manifest)
-	err := kubeClient.Update(in.Target.Namespace, c, t, in.Force, in.Recreate, in.Timeout, in.Wait)
-	// upgrade response object should be changed to include status
-	return &rudderAPI.UpgradeReleaseResponse{}, err
-}
-
-// ReleaseStatus retrieves release status
-func (r *ReleaseModuleServiceServer) ReleaseStatus(ctx context.Context, in *rudderAPI.ReleaseStatusRequest) (*rudderAPI.ReleaseStatusResponse, error) {
-	grpclog.Print("status")
-
-	resp, err := kubeClient.Get(in.Release.Namespace, bytes.NewBufferString(in.Release.Manifest))
-	in.Release.Info.Status.Resources = resp
-	return &rudderAPI.ReleaseStatusResponse{
-		Release: in.Release,
-		Info:    in.Release.Info,
-	}, err
-}
diff --git a/rootfs/Dockerfile.experimental b/rootfs/Dockerfile.experimental
deleted file mode 100644
index 990bcde51..000000000
--- a/rootfs/Dockerfile.experimental
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2017 The Kubernetes Authors.
-#
-# 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.
-
-FROM alpine:3.3
-
-RUN apk update && apk add ca-certificates && rm -rf /var/cache/apk/*
-
-ENV HOME /tmp
-
-COPY tiller /tiller
-
-EXPOSE 44134
-
-CMD ["/tiller", "--experimental-release"]
-
diff --git a/rootfs/Dockerfile.rudder b/rootfs/Dockerfile.rudder
deleted file mode 100644
index 6bb3a2d92..000000000
--- a/rootfs/Dockerfile.rudder
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2017 The Kubernetes Authors.
-#
-# 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.
-
-FROM alpine:3.3
-
-RUN apk update && apk add ca-certificates && rm -rf /var/cache/apk/*
-
-ENV HOME /tmp
-
-COPY rudder /rudder
-
-EXPOSE 10001
-
-CMD ["/rudder"]
diff --git a/versioning.mk b/versioning.mk
index d1c348f9c..d749ffce2 100644
--- a/versioning.mk
+++ b/versioning.mk
@@ -26,9 +26,7 @@ LDFLAGS += -X k8s.io/helm/pkg/version.GitCommit=${GIT_COMMIT}
 LDFLAGS += -X k8s.io/helm/pkg/version.GitTreeState=${GIT_DIRTY}
 
 IMAGE                := ${DOCKER_REGISTRY}/${IMAGE_PREFIX}/${SHORT_NAME}:${DOCKER_VERSION}
-IMAGE_RUDDER         := ${DOCKER_REGISTRY}/${IMAGE_PREFIX}/${SHORT_NAME_RUDDER}:${DOCKER_VERSION}
 MUTABLE_IMAGE        := ${DOCKER_REGISTRY}/${IMAGE_PREFIX}/${SHORT_NAME}:${MUTABLE_VERSION}
-MUTABLE_IMAGE_RUDDER := ${DOCKER_REGISTRY}/${IMAGE_PREFIX}/${SHORT_NAME_RUDDER}:${MUTABLE_VERSION}
 
 DOCKER_PUSH = docker push
 ifeq ($(DOCKER_REGISTRY),gcr.io)
-- 
GitLab