diff --git a/src/Kube-Solo/Kube-Solo-Info.plist b/src/Kube-Solo/Kube-Solo-Info.plist
index 7fc51a1..13cd72e 100644
--- a/src/Kube-Solo/Kube-Solo-Info.plist
+++ b/src/Kube-Solo/Kube-Solo-Info.plist
@@ -19,11 +19,11 @@
CFBundlePackageType
APPL
CFBundleShortVersionString
- 0.9.7
+ 0.9.8
CFBundleSignature
????
CFBundleVersion
- 305
+ 309
LSApplicationCategoryType
public.app-category.utilities
LSMinimumSystemVersion
diff --git a/src/cloud-init/user-data b/src/cloud-init/user-data
index d295641..4b8d98b 100644
--- a/src/cloud-init/user-data
+++ b/src/cloud-init/user-data
@@ -68,7 +68,7 @@ coreos:
ExecStart=/bin/sh -c '[[ -d /data/var/lib/rkt ]] || mkdir -p /data/var/lib/rkt && /usr/bin/chown root:rkt /data/var/lib/rkt && /usr/bin/chmod g+s /data/var/lib/rkt'
ExecStart=/bin/sh -c '/usr/bin/chown root:rkt /data/var/lib/rkt && /usr/bin/chmod g+s /data/var/lib/rkt'
ExecStart=/bin/sh -c '[[ -d /data/opt/bin ]] || mkdir -p /data/opt/bin'
- ExecStart=/bin/sh -c '[[ -d /data/kubernetes/manifests ]] || mkdir -p /data/kubernetes/manifests'
+ ExecStart=/bin/sh -c '[[ -d /data/kubernetes/manifests ]] || mkdir -p /data/kubernetes/manifests && chmod 777 -R /data/kubernetes'
ExecStart=/bin/sh -c '[[ -d /data/kubelet ]] || mkdir -p /data/kubelet'
ExecStart=/bin/sh -c 'sudo ln -s /data/kubelet /var/lib/kubelet'
ExecStart=/bin/sh -c 'sudo mkdir -p /opt/bin/ && sudo ln -s /data/opt/bin/socat /opt/bin/socat'
@@ -126,18 +126,38 @@ coreos:
Environment=DOCKER_OPTS='--insecure-registry="0.0.0.0/0"'
- name: update-engine.service
command: stop
+ - name: kube-certs.service
+ command: start
+ content: |
+ [Unit]
+ Description=Generate Kubernetes API Server certificates
+ ConditionPathExists=/opt/sbin/make-certs.sh
+ Requires=network-online.target persistent-data-checks.service etcd2.service
+ After=network-online.target persistent-data-checks.service etcd2.service
+ # ConditionPathExists=!/data/kubernetes/ca.crt
+ [Service]
+ EnvironmentFile=/etc/environment
+ ExecStartPre=-/usr/sbin/groupadd -r kube-cert
+ ExecStartPre=/usr/bin/chmod 755 /opt/sbin/make-certs.sh
+ ExecStart=/opt/sbin/make-certs.sh ${COREOS_PUBLIC_IPV4} IP:${COREOS_PUBLIC_IPV4},IP:10.100.0.1,DNS:kubernetes,DNS:kubernetes.default,DNS:kubernetes.default.svc,DNS:kubernetes.default.svc.cluster.local
+ ExecStartPost=/bin/bash -c 'sleep 20'
+ Type=oneshot
+ RemainAfterExit=true
- name: kube-apiserver.service
command: start
content: |
[Unit]
Description=Kubernetes API Server
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
- Requires=etcd2.service docker.service flanneld.service persistent-data-checks.service
- After=etcd2.service docker.service flanneld.service persistent-data-checks.service
+ ConditionPathExists=/data/opt/bin/kube-apiserver
+ Requires=etcd2.service docker.service flanneld.service kube-certs.service
+ After=etcd2.service docker.service flanneld.service kube-certs.service
[Service]
LimitNOFILE=491521
# Check for certs
- ExecStartPre=/bin/sh -c '[[ -f /data/kubernetes/ca.crt ]] || /opt/sbin/kube-certs.sh'
+ ExecStartPre=/bin/sh -c 'while [ ! -f /data/kubernetes/ca.crt ]; do sleep 1; done'
+ ExecStartPre=/bin/sh -c 'while [ ! -f /data/kubernetes/server.cert ]; do sleep 1; done'
+ ExecStartPre=/bin/sh -c 'while [ ! -f /data/kubernetes/server.key ]; do sleep 1; done'
# Check for binary
ExecStartPre=/bin/sh -c 'while [ ! -f /data/opt/bin/kube-apiserver ]; do sleep 1; done'
# Start API server
@@ -158,7 +178,7 @@ coreos:
--bind-address=0.0.0.0 \
--logtostderr=true
Restart=always
- RestartSec=10
+ RestartSec=5
- name: kube-controller-manager.service
command: start
content: |
@@ -266,9 +286,9 @@ write-files:
# Copyright 2014 The Kubernetes Authors All rights reserved.
#
- set -o errexit
- set -o nounset
- set -o pipefail
+ #set -o errexit
+ #set -o nounset
+ #set -o pipefail
cert_ip=$1
extra_sans=${2:-}
@@ -286,7 +306,7 @@ write-files:
tmpdir=$(mktemp -d --tmpdir kubernetes_cacert.XXXXXX)
cd $tmpdir
-
+
trap 'rm -rf "${tmpdir}"' EXIT
#
if [ ! -f /data/opt/tmp/easy-rsa.tar.gz ]
@@ -313,17 +333,10 @@ write-files:
cp -p pki/ca.crt "${cert_dir}/ca.crt"
cp -p pki/issued/kubecfg.crt "${cert_dir}/kubecfg.crt"
cp -p pki/private/kubecfg.key "${cert_dir}/kubecfg.key"
+
# Make server certs accessible to apiserver.
- echo 3
chgrp $cert_group "${cert_dir}/server.key" "${cert_dir}/server.cert" "${cert_dir}/ca.crt"
chmod 660 "${cert_dir}/server.key" "${cert_dir}/server.cert" "${cert_dir}/ca.crt"
- echo 4
- - path: /opt/sbin/kube-certs.sh
- permissions: '0755'
- content: |
- #!/bin/bash
- source /etc/environment
- /opt/sbin/make-certs.sh ${COREOS_PUBLIC_IPV4} IP:${COREOS_PUBLIC_IPV4},IP:10.100.0.1,DNS:kubernetes,DNS:kubernetes.default,DNS:kubernetes.default.svc,DNS:kubernetes.default.svc.cluster.local
- path: /opt/sbin/restart-kube-units.sh
permissions: '0755'
content: |
diff --git a/src/destroy.command b/src/destroy.command
index db32c23..7d6434a 100755
--- a/src/destroy.command
+++ b/src/destroy.command
@@ -14,7 +14,9 @@ LOOP=1
while [ $LOOP -gt 0 ]
do
VALID_MAIN=0
+ echo " "
echo "VM will be stopped (if is running) and destroyed !!!"
+ echo " "
echo "Do you want to continue [y/n]"
read RESPONSE
diff --git a/src/first-init.command b/src/first-init.command
index 190f55d..2cd66d8 100755
--- a/src/first-init.command
+++ b/src/first-init.command
@@ -103,7 +103,7 @@ echo " "
#
install_k8s_add_ons
-# download latest version of deis, helmc and helm clients
+# download latest version of docker, deis, helmc and helm clients
# install Helm Tiller
download_osx_clients
@@ -113,13 +113,14 @@ export DOCKER_TLS_VERIFY=
export DOCKER_CERT_PATH=
#
+echo "--------- "
echo " "
echo "Installation has finished, Kube Solo VM is up and running !!!"
echo " "
echo "Assigned static IP to VM/node: $vm_ip"
echo " "
echo "You can control this App via status bar icon... "
-echo "--------"
+echo "---------"
# remove unfinished_setup file if there is such one
rm -f ~/kube-solo/logs/unfinished_setup > /dev/null 2>&1
diff --git a/src/functions.sh b/src/functions.sh
index 819c425..040bc02 100755
--- a/src/functions.sh
+++ b/src/functions.sh
@@ -536,6 +536,7 @@ rm -f ~/kube-solo/kubernetes/skydns-rc.yaml
rm -f ~/kube-solo/kubernetes/skydns-svc.yaml
rm -f ~/kube-solo/kubernetes/dashboard-controller.yaml
rm -f ~/kube-solo/kubernetes/dashboard-service.yaml
+rm -f ~/kube-solo/kubernetes/tiller-deploy-service.yaml
}
diff --git a/src/k8s/kube.tgz b/src/k8s/kube.tgz
index d76c81e..5a03828 100644
--- a/src/k8s/kube.tgz
+++ b/src/k8s/kube.tgz
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:3e13156d07461db7f2e8abcec4a20d883a63279f923e5188145b1c7cf2e19678
-size 106152669
+oid sha256:56941c832afa58f925fbff7d5e5b13f2936252ac3a5e04540b2358689a186109
+size 106158462
diff --git a/src/k8s/kubectl b/src/k8s/kubectl
index b8c92b1..ac5ed1c 100755
--- a/src/k8s/kubectl
+++ b/src/k8s/kubectl
@@ -1,3 +1,3 @@
version https://git-lfs.github.com/spec/v1
-oid sha256:7c5cc92f618ebce019b00792621facfa7c1b4fce9f9e7d2c7ac4bc5f0af9e4c9
+oid sha256:5940c5d32e33a1c0b42998083064112f6ea7f02d9dc5e2b4f51c01f583a6be4d
size 66382384