diff --git a/Makefile b/Makefile index 6c023ffa5..aba820c6b 100644 --- a/Makefile +++ b/Makefile @@ -12,6 +12,12 @@ # See the License for the specific language governing permissions and # limitations under the License. +GO_DIRS ?= $(shell glide nv -x ) +GO_PKGS ?= $(shell glide nv) + +ROOTFS := rootfs +CLIENT := cmd/helm + .PHONY: info info: $(MAKE) -C $(ROOTFS) $@ @@ -21,11 +27,6 @@ ifndef GOPATH $(error No GOPATH set) endif -GO_DIRS ?= $(shell glide nv -x ) -GO_PKGS ?= $(shell glide nv) - -ROOTFS := rootfs - .PHONY: build build: gocheck @scripts/build-go.sh @@ -55,8 +56,16 @@ quicktest: test-style go test $(GO_PKGS) .PHONY: push -push: build-static - $(MAKE) -C $(ROOTFS) $@ +push: push-server push-client + +.PHONY: push-server +push-server: build-static + $(MAKE) -C $(ROOTFS) push + +.PHONY: push-client +push-client: gocheck + @BUILD_TYPE=CROSS scripts/build-go.sh $(CLIENT) + $(MAKE) -C $(CLIENT) push .PHONY: container container: build-static diff --git a/cmd/expandybird/test/ExpectedOutput.yaml b/cmd/expandybird/test/ExpectedOutput.yaml index 13e510d3c..02bf868b8 100644 --- a/cmd/expandybird/test/ExpectedOutput.yaml +++ b/cmd/expandybird/test/ExpectedOutput.yaml @@ -51,7 +51,7 @@ config: spec: containers: - env: [] - image: gcr.io/dm-k8s-prod/expandybird + image: gcr.io/kubernetes-helm/expandybird name: expandybird ports: - containerPort: 8080 @@ -63,7 +63,7 @@ layout: properties: container_port: 8080 external_service: true - image: gcr.io/dm-k8s-prod/expandybird + image: gcr.io/kubernetes-helm/expandybird labels: app: expandybird replicas: 3 diff --git a/cmd/expandybird/test/InvalidFileName.yaml b/cmd/expandybird/test/InvalidFileName.yaml index fd3800466..fa29b84d2 100644 --- a/cmd/expandybird/test/InvalidFileName.yaml +++ b/cmd/expandybird/test/InvalidFileName.yaml @@ -19,4 +19,4 @@ resources: properties: service_port: 8080 target_port: 8080 - image: gcr.io/dm-k8s-prod/expandybird + image: gcr.io/kubernetes-helm/expandybird diff --git a/cmd/expandybird/test/InvalidProperty.yaml b/cmd/expandybird/test/InvalidProperty.yaml index fd3d5edeb..aab9b6341 100644 --- a/cmd/expandybird/test/InvalidProperty.yaml +++ b/cmd/expandybird/test/InvalidProperty.yaml @@ -19,4 +19,4 @@ resources: properties: service_port: 8080 target_port: 8080 - invalidproperty: gcr.io/dm-k8s-prod/expandybird + invalidproperty: gcr.io/kubernetes-helm/expandybird diff --git a/cmd/expandybird/test/InvalidTypeName.yaml b/cmd/expandybird/test/InvalidTypeName.yaml index e411c1b11..67b7050f0 100644 --- a/cmd/expandybird/test/InvalidTypeName.yaml +++ b/cmd/expandybird/test/InvalidTypeName.yaml @@ -19,4 +19,4 @@ resources: properties: service_port: 8080 target_port: 8080 - image: gcr.io/dm-k8s-prod/expandybird + image: gcr.io/kubernetes-helm/expandybird diff --git a/cmd/expandybird/test/MissingImports.yaml b/cmd/expandybird/test/MissingImports.yaml index 6a6741f8a..91c11fe33 100644 --- a/cmd/expandybird/test/MissingImports.yaml +++ b/cmd/expandybird/test/MissingImports.yaml @@ -18,4 +18,4 @@ resources: properties: service_port: 8080 target_port: 8080 - image: gcr.io/dm-k8s-prod/expandybird + image: gcr.io/kubernetes-helm/expandybird diff --git a/cmd/expandybird/test/MissingResourceName.yaml b/cmd/expandybird/test/MissingResourceName.yaml index 32215e765..00f7e7d61 100644 --- a/cmd/expandybird/test/MissingResourceName.yaml +++ b/cmd/expandybird/test/MissingResourceName.yaml @@ -18,4 +18,4 @@ resources: properties: service_port: 8080 target_port: 8080 - image: gcr.io/dm-k8s-prod/expandybird + image: gcr.io/kubernetes-helm/expandybird diff --git a/cmd/expandybird/test/MissingTypeName.yaml b/cmd/expandybird/test/MissingTypeName.yaml index f246d99f8..4a867f86c 100644 --- a/cmd/expandybird/test/MissingTypeName.yaml +++ b/cmd/expandybird/test/MissingTypeName.yaml @@ -18,4 +18,4 @@ resources: properties: service_port: 8080 target_port: 8080 - image: gcr.io/dm-k8s-prod/expandybird + image: gcr.io/kubernetes-helm/expandybird diff --git a/cmd/expandybird/test/TestArchive.tar b/cmd/expandybird/test/TestArchive.tar index 585b4418d..9cb986b97 100644 Binary files a/cmd/expandybird/test/TestArchive.tar and b/cmd/expandybird/test/TestArchive.tar differ diff --git a/cmd/expandybird/test/ValidContent.yaml b/cmd/expandybird/test/ValidContent.yaml index 0c342201e..5798efec3 100644 --- a/cmd/expandybird/test/ValidContent.yaml +++ b/cmd/expandybird/test/ValidContent.yaml @@ -22,6 +22,6 @@ resources: container_port: 8080 external_service: true replicas: 3 - image: gcr.io/dm-k8s-prod/expandybird + image: gcr.io/kubernetes-helm/expandybird labels: app: expandybird \ No newline at end of file diff --git a/cmd/helm/Makefile b/cmd/helm/Makefile new file mode 100644 index 000000000..30cfef5a5 --- /dev/null +++ b/cmd/helm/Makefile @@ -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. + +SHELL := /bin/bash + +GOLANG_CROSSPLATFORMS := darwin/386 darwin/amd64 freebsd/386 freebsd/amd64 freebsd/arm linux/386 linux/amd64 linux/arm windows/386 windows/amd64 + +ROOT_DIR := $(abspath ./../..) +BIN_DIR := $(ROOT_DIR)/bin + +DEFAULT_BUCKET := gs://get-helm +STORAGE_BUCKET ?= $(DEFAULT_BUCKET) + +DEFAULT_TAG := git-$(shell git rev-parse --short HEAD) +TAG ?= $(DEFAULT_TAG) + +all: push + +push: + for platform in ${GOLANG_CROSSPLATFORMS}; do \ + echo $$platform; \ + PLATFORM=$${platform%/*} && ARCH=$${platform##*/} && \ + BINARY=$${PLATFORM}-$${ARCH} && \ + ZIP=${TAG}-helm-$${BINARY}.zip && \ + zip -j $${ZIP} ${BIN_DIR}/$${BINARY}/helm* && \ + gsutil cp $${ZIP} ${STORAGE_BUCKET} && \ + rm $${ZIP} ; \ + done diff --git a/docs/pushing.md b/docs/pushing.md index 4b139c96d..4f5ab9bfe 100644 --- a/docs/pushing.md +++ b/docs/pushing.md @@ -1,30 +1,22 @@ -# Pushing DM +# Pushing Helm -This details the requirements and steps for doing a DM push. +This details the requirements and steps for doing a `helm` push. ## Prerequisites -In order to build and push DM, you must: +In order to build and push `helm`, you must: -* be an editor or owner on the GCP project `dm-k8s-prod` +* be an editor or owner on the GCP project `kubernetes-helm` * have `docker` installed and runnable in your current environment * have `gcloud` installed * have `gsutil` installed ## Pushing -To build and push the service containers: +To build and push the service containers and the client binaries for all +supported platforms and architectures, checkout the branch and tag you intend to release, +and then run the following: ``` -$ cd ${GOPATH}/src/github.com/kubernetes/helm -$ export PROJECT=dm-k8s-prod -$ make push +$ PROJECT=kubernetes-helm make push ``` - -To push the client binaries, run the following for both Mac OS X and Linux -environments: - -``` -$ hack/dm-push.sh -``` - diff --git a/examples/wordpress/README.md b/examples/wordpress/README.md index 177ff47c7..8c976c73e 100644 --- a/examples/wordpress/README.md +++ b/examples/wordpress/README.md @@ -42,7 +42,7 @@ The template contains the following variables: ``` {% set PROPERTIES = properties or {} %} -{% set PROJECT = PROPERTIES['project'] or 'dm-k8s-prod' %} +{% set PROJECT = PROPERTIES['project'] or 'kubernetes-charts' %} {% set NFS_SERVER = PROPERTIES['nfs-server'] or {} %} {% set NFS_SERVER_IP = NFS_SERVER['ip'] or '10.0.253.247' %} {% set NFS_SERVER_PORT = NFS_SERVER['port'] or 2049 %} diff --git a/examples/wordpress/wordpress.jinja b/examples/wordpress/wordpress.jinja index 5855b2e8c..0b84dacf4 100644 --- a/examples/wordpress/wordpress.jinja +++ b/examples/wordpress/wordpress.jinja @@ -1,5 +1,5 @@ {% set PROPERTIES = properties or {} %} -{% set PROJECT = PROPERTIES['project'] or 'dm-k8s-prod' %} +{% set PROJECT = PROPERTIES['project'] or 'kubernetes-charts' %} {% set NFS_SERVER = PROPERTIES['nfs-server'] or {} %} {% set NFS_SERVER_IP = NFS_SERVER['ip'] or '10.0.253.247' %} {% set NFS_SERVER_PORT = NFS_SERVER['port'] or 2049 %} diff --git a/examples/wordpress/wordpress.jinja.schema b/examples/wordpress/wordpress.jinja.schema index 5b4a8bc21..924ba07ba 100644 --- a/examples/wordpress/wordpress.jinja.schema +++ b/examples/wordpress/wordpress.jinja.schema @@ -8,7 +8,7 @@ info: properties: project: type: string - default: dm-k8s-prod + default: kubernetes-charts description: Project location to load the images from. nfs-service: type: object diff --git a/get-install.sh b/get-install.sh index 84bce786d..f975840ae 100755 --- a/get-install.sh +++ b/get-install.sh @@ -13,15 +13,28 @@ # See the License for the specific language governing permissions and # limitations under the License. +# Run this from the root of your clone of the kubernetes/helm repository. +# Be sure to checkout the release you want to install before running it, +# since it will attempt to pull the version from HEAD on the current branch. + set -euo pipefail -DEFAULT_TAG=v1.2 -DEFAULT_BINARY=${GOPATH}/bin/helm +DEFAULT_TAG=git-$(git rev-parse --short HEAD) DEFAULT_PLATFORM=$(uname | tr '[:upper:]' '[:lower:]') DEFAULT_ARCH=$(uname -m) -STORAGE_URL=http://get-dm.storage.googleapis.com -ZIP=helm-${TAG:-${DEFAULT_TAG}}-${PLATFORM:-${DEFAULT_PLATFORM}}-${ARCH:-${DEFAULT_ARCH}}.zip +if [[ "${DEFAULT_ARCH}" == x86_64 ]]; then + DEFAULT_ARCH=amd64 +fi + +PLATFORM=${PLATFORM:-${DEFAULT_PLATFORM}} +ARCH=${ARCH:-${DEFAULT_ARCH}} +TAG=${TAG:-${DEFAULT_TAG}} + +BINARY=helm-${PLATFORM}-${ARCH} +ZIP=${TAG}-${BINARY}.zip + +STORAGE_URL=http://get-helm.storage.googleapis.com echo "Downloading ${ZIP}..." curl -Ls "${STORAGE_URL}/${ZIP}" -O @@ -35,14 +48,13 @@ cat <