Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

binaries in rpms and ci refactor #6

Open
wants to merge 4 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
33 changes: 10 additions & 23 deletions .travis.yml
Original file line number Diff line number Diff line change
@@ -1,17 +1,14 @@
sudo: required

# trusty required for docker
# https://github.com/travis-ci/travis-ci/issues/5448
dist: trusty

services:
- docker

sudo: false
language: go
go:
- 1.6

matrix:
include:
- go: 1.6
env:
- PKG=kube-apiserver
- PKG=kube-controller-manager
- PKG=kube-scheduler
- PKG=kubectl
- PKG=kubelet

addons:
apt:
Expand All @@ -28,22 +25,12 @@ install:

script:
- mkdir -p /tmp/out
- ./scripts/ci_build.py

after_failure:
- hammer build --output=/tmp/out --stream-logs-for=$PKG $PKG
- tail logs/*

before_deploy:
- docker login -e="$DOCKER_EMAIL" -u="$DOCKER_USERNAME" -p="$DOCKER_PASSWORD"

deploy:
- provider: script
skip_cleanup: true
script: /bin/bash scripts/bintray.sh /tmp/out
on:
branch: master
- provider: script
skip_cleanup: true
script: /bin/bash scripts/docker.sh
on:
branch: master
25 changes: 21 additions & 4 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,24 +1,41 @@
# Mantl Packaging
# Kubernetes Packaging

This repository contains [Hammer](https://github.com/asteris-llc/hammer) specs
for building generic Mantl utilities.
for building [Mustwin's fork of kubernetes](https://github.com/MustWin/kubernetes)

<!-- markdown-toc start - Don't edit this section. Run M-x markdown-toc-generate-toc again -->
**Table of Contents**

- [Mantl Packaging](#mantl-packaging)
- [Kubernetes Packaging](#kubernetes-packaging)
- [Packages](#packages)
- [Kubernetes](#kubernetes)
- [kube-apiserver](#kube-apiserver)
- [kube-controller-manager](#kube-controller-manager)
- [kube-proxy](#kube-proxy)
- [kube-scheduler](#kube-scheduler)
- [kubectl](#kubectl)
- [kubelet](#kubelet)
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

don't we need kube-proxy too?

- [Building](#building)

<!-- markdown-toc end -->


## Packages


### Kubernetes

A script to generate certificates with a number of sensible defaults set.
#### kube-apiserver

#### kube-controller-manager

#### kube-proxy

#### kube-scheduler

#### kubectl

#### kubelet

## Building

Expand Down
36 changes: 36 additions & 0 deletions kubernetes/build.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
#!/usr/bin/env bash
set -x

pkg={{.Name}}

install={{.BuildRoot}}/out
mkdir -p $install || true

cd {{.BuildRoot}}

# Fetch a branch with working consul-integration
git clone -q -b consul-integration --depth 1 --single-branch https://github.com/MustWin/kubernetes.git
cd kubernetes

# Build all components
# If we are running inside vagrant...
if [ -e /home/vagrant/.gvm/scripts/gvm ] ; then
source /home/vagrant/.gvm/scripts/gvm
gvm use go1.6 || echo "Using go1.6"
fi

go get github.com/tools/godep
./hack/install-etcd.sh

case $pkg in
kube-apiserver) ;&
kube-controller-manager) ;&
kubectl) ;&
kubelet) WHAT=cmd/$pkg ;;
kube-scheduler) WHAT=plugin/cmd/kube-scheduler ;;
esac

make all WHAT=$WHAT GOFLAGS=-v
mv $PWD/_output/local/bin/linux/amd64/* $install

export PATH=$GOPATH/bin:./third_party/etcd:$PATH
Original file line number Diff line number Diff line change
@@ -1,23 +1,21 @@
---
name: kubernetes
name: kube-apiserver
version: 1.3.0-alpha.1.1977-a1e79e91b9fb6a
license: ASL 2.0
iteration: 3
iteration: 1
vendor: Google
architecture: x86_64
url: http://kubernetes.io/
description: Automated container deployment, scaling, and management
type: rpm

targets:
- src: '{{.BuildRoot}}/out/kubectl'
dest: /usr/bin/
- src: '{{.BuildRoot}}/out/kubelet'
- src: '{{.BuildRoot}}/out/{{.Name}}'
dest: /usr/bin/

scripts:
build: |
{{includeTemplate (specFile "build.sh")}}
{{includeTemplate (specFile "../build.sh")}}

extra-args: |
--rpm-os linux
Expand Down
22 changes: 22 additions & 0 deletions kubernetes/kube-controller-manager/spec.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: kube-controller-manager
version: 1.3.0-alpha.1.1977-a1e79e91b9fb6a
license: ASL 2.0
iteration: 1
vendor: Google
architecture: x86_64
url: http://kubernetes.io/
description: Automated container deployment, scaling, and management
type: rpm

targets:
- src: '{{.BuildRoot}}/out/{{.Name}}'
dest: /usr/bin/

scripts:
build: |
{{includeTemplate (specFile "../build.sh")}}

extra-args: |
--rpm-os linux
--rpm-auto-add-directories
22 changes: 22 additions & 0 deletions kubernetes/kube-proxy/spec.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: kube-proxy
version: 1.3.0-alpha.1.1977-a1e79e91b9fb6a
license: ASL 2.0
iteration: 1
vendor: Google
architecture: x86_64
url: http://kubernetes.io/
description: Automated container deployment, scaling, and management
type: rpm

targets:
- src: '{{.BuildRoot}}/out/{{.Name}}'
dest: /usr/bin/

scripts:
build: |
{{includeTemplate (specFile "../build.sh")}}

extra-args: |
--rpm-os linux
--rpm-auto-add-directories
22 changes: 22 additions & 0 deletions kubernetes/kube-scheduler/spec.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: kube-scheduler
version: 1.3.0-alpha.1.1977-a1e79e91b9fb6a
license: ASL 2.0
iteration: 1
vendor: Google
architecture: x86_64
url: http://kubernetes.io/
description: Automated container deployment, scaling, and management
type: rpm

targets:
- src: '{{.BuildRoot}}/out/{{.Name}}'
dest: /usr/bin/

scripts:
build: |
{{includeTemplate (specFile "../build.sh")}}

extra-args: |
--rpm-os linux
--rpm-auto-add-directories
22 changes: 22 additions & 0 deletions kubernetes/kubectl/spec.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: kubectl
version: 1.3.0-alpha.1.1977-a1e79e91b9fb6a
license: ASL 2.0
iteration: 1
vendor: Google
architecture: x86_64
url: http://kubernetes.io/
description: Automated container deployment, scaling, and management
type: rpm

targets:
- src: '{{.BuildRoot}}/out/{{.Name}}'
dest: /usr/bin/

scripts:
build: |
{{includeTemplate (specFile "../build.sh")}}

extra-args: |
--rpm-os linux
--rpm-auto-add-directories
22 changes: 22 additions & 0 deletions kubernetes/kubelet/spec.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
---
name: kubelet
version: 1.3.0-alpha.1.1977-a1e79e91b9fb6a
license: ASL 2.0
iteration: 1
vendor: Google
architecture: x86_64
url: http://kubernetes.io/
description: Automated container deployment, scaling, and management
type: rpm

targets:
- src: '{{.BuildRoot}}/out/{{.Name}}'
dest: /usr/bin/

scripts:
build: |
{{includeTemplate (specFile "../build.sh")}}

extra-args: |
--rpm-os linux
--rpm-auto-add-directories
44 changes: 0 additions & 44 deletions kubernetes/kubernetes/build.sh

This file was deleted.

Empty file modified scripts/bintray.sh
100644 → 100755
Empty file.
23 changes: 8 additions & 15 deletions scripts/build_dependencies.sh
100644 → 100755
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
#!/bin/bash
set -e

### Kubernetes

Expand All @@ -11,24 +12,16 @@ gpgcheck=1
gpgkey=https://yum.dockerproject.org/gpg
EOF

useradd vagrant || true
sudo yum update -y
sudo yum install -y tar git
sudo yum install -y epel-release
sudo yum update -y systemd
sudo yum install -y docker-engine
sudo groupadd docker
sudo usermod -a -G docker vagrant
sudo usermod -a -G dockerroot vagrant
sudo systemctl enable docker
sudo systemctl start docker
sudo yum install -y bison epel-release git go make sudo systemd tar which

# Install newer go Version
sudo -u vagrant bash < <(curl -s -S -L https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer) && \
source /home/vagrant/.gvm/scripts/gvm && \
gvm install go1.4 && \
gvm use go1.4 && \
export GOROOT_BOOTSTRAP=$GOROOT && \
Install newer go Version
sudo -u vagrant bash < <(curl -sSL https://raw.githubusercontent.com/moovweb/gvm/master/binscripts/gvm-installer)
source /home/vagrant/.gvm/scripts/gvm
export GOROOT_BOOTSTRAP=$GOROOT
gvm install go1.6
gvm use go1.6

chmod -R +rwx /home/vagrant/.gvm
chown -R vagrant /home/vagrant/.gvm
Expand Down
Loading