Skip to content

Commit 1773b8b

Browse files
Add chart integration (#37)
* Add chart integration go mod tidy use rancher rke2-runtime * Update kubeproxy to 1.18.4 * Update k8s image and fix kubeapi
1 parent 9c48ed2 commit 1773b8b

File tree

12 files changed

+203
-122
lines changed

12 files changed

+203
-122
lines changed

Dockerfile

+4-3
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ VOLUME /var/lib/rancher/k3s
1717
# Dapper/Drone/CI environment
1818
FROM build AS dapper
1919
ENV DAPPER_ENV REPO TAG DRONE_TAG
20-
ENV DAPPER_OUTPUT ./bin ./dist
20+
ENV DAPPER_OUTPUT ./dist ./bin ./build
2121
ENV DAPPER_DOCKER_SOCKET true
2222
ENV DAPPER_TARGET dapper
2323
ENV DAPPER_RUN_ARGS "-v rke2-pkg:/go/pkg -v rke2-cache:/root/.cache/go-build"
@@ -28,8 +28,8 @@ WORKDIR /source
2828
# This image includes any host level programs that we might need. All binaries
2929
# must be placed in bin/ of the file image and subdirectories of bin/ will be flattened during installation.
3030
# This means bin/foo/bar will become bin/bar when rke2 installs this to the host
31-
FROM k8s.gcr.io/hyperkube:v1.18.2 AS k8s
32-
FROM rancher/k3s:v1.18.2-rc2-k3s1 AS k3s
31+
FROM ranchertest/kubernetes:v1.18.4 AS k8s
32+
FROM rancher/k3s:v1.18.4-k3s1 AS k3s
3333
FROM ubuntu:18.04 AS containerd
3434

3535
ENV CONTAINERD_VERION=1.3.4
@@ -57,3 +57,4 @@ COPY --from=containerd \
5757
/usr/local/bin/ctr \
5858
/usr/local/bin/containerd-shim-runc-v1 \
5959
/bin/
60+
COPY ./build/static/charts /charts

Makefile

+18-4
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
PROG=rke2
2-
GOLANGCI_VERSION=v1.25.1
2+
GOLANGCI_VERSION=v1.27.0
33
REPO ?= rancher
44
IMAGE=${REPO}/rke2-runtime
55
K3S_PKG=github.com/rancher/k3s
@@ -111,7 +111,7 @@ clean-cache: ## Clean up docker base caches used for
111111
docker volume rm ${PROG}-cache ${PROG}-pkg
112112

113113
clean: ## Clean up workspace
114-
rm -rf bin dist
114+
rm -rf bin dist build
115115

116116
dev-shell: .dev-shell-build ## Launch a development shell to run test builds
117117
docker run --rm --name ${PROG}-dev-shell --hostname ${PROG}-server -ti -e WORKSPACE=$$(pwd) -p 127.0.0.1:2345:2345 -v $${HOME}:$${HOME} -v ${PROG} -w $$(pwd) --privileged -v ${PROG}-pkg:/go/pkg -v ${PROG}-cache:/root/.cache/go-build ${PROG}-dev bash
@@ -126,16 +126,30 @@ dev-peer: .dev-shell-build ## Launch a server peer to run test buil
126126
dev-peer-enter: ## Enter the peer shell on another terminal
127127
docker exec -it ${PROG}-peer${PEER} bash
128128

129-
artifacts: build
129+
artifacts: build download-charts
130130
mkdir -p dist/artifacts
131131
cp bin/${PROG} dist/artifacts/${RELEASE}
132132

133133
.ci: validate-ci artifacts
134134

135135
in-docker-%: .dapper ## Advanced: wraps any target in Docker environment, for example: in-docker-build-debug
136-
mkdir -p bin/ dist/
136+
mkdir -p ./bin/ ./dist/
137137
./.dapper -f Dockerfile --target dapper make $*
138138

139+
CHARTS_DIR = build/static/charts
140+
MANIFEST_DIR = manifests
141+
CHARTS = canal:v3.13.3 coredns:1.10.101 kube-proxy:v1.18.4 metrics-server:2.11.100 nginx-ingress:1.36.300
142+
download-charts:
143+
mkdir -p $(CHARTS_DIR)
144+
for chart in $(CHARTS); do \
145+
chart_name=`echo "$${chart}" | cut -d ":" -f 1`;\
146+
chart_version=`echo "$${chart}" | cut -d ":" -f 2`;\
147+
curl -sfL https://dev-charts.rancher.io/$$chart_name/$$chart_name-$$chart_version.tgz -o ${CHARTS_DIR}/$$chart_name-$$chart_version.tgz;\
148+
chart_content=`base64 -w 0 ${CHARTS_DIR}/$$chart_name-$$chart_version.tgz`;\
149+
sed -e "s|%{CHART_CONTENT}%|$$chart_content|g" $(MANIFEST_DIR)/$$chart_name.yml > $(CHARTS_DIR)/$$chart_name-chart.yml;\
150+
rm ${CHARTS_DIR}/$$chart_name-$$chart_version.tgz;\
151+
done
152+
139153
./.dapper:
140154
@echo Downloading dapper
141155
@curl -sL https://releases.rancher.com/dapper/v0.5.0/dapper-$$(uname -s)-$$(uname -m) > .dapper.tmp

go.mod

+26-27
Original file line numberDiff line numberDiff line change
@@ -32,39 +32,38 @@ replace (
3232
github.com/prometheus/client_model => github.com/prometheus/client_model v0.0.0-20180712105110-5c3871d89910
3333
github.com/prometheus/common => github.com/prometheus/common v0.0.0-20181126121408-4724e9255275
3434
github.com/prometheus/procfs => github.com/prometheus/procfs v0.0.0-20181204211112-1dc9a6cbc91a
35-
github.com/rancher/k3s => github.com/ibuildthecloud/k3s-dev v0.1.0-rc6.0.20200508172341-d560cca31b9e
36-
k8s.io/api => github.com/rancher/kubernetes/staging/src/k8s.io/api v1.18.2-k3s.1
37-
k8s.io/apiextensions-apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.18.2-k3s.1
38-
k8s.io/apimachinery => github.com/rancher/kubernetes/staging/src/k8s.io/apimachinery v1.18.2-k3s.1
39-
k8s.io/apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/apiserver v1.18.2-k3s.1
40-
k8s.io/cli-runtime => github.com/rancher/kubernetes/staging/src/k8s.io/cli-runtime v1.18.2-k3s.1
41-
k8s.io/client-go => github.com/rancher/kubernetes/staging/src/k8s.io/client-go v1.18.2-k3s.1
42-
k8s.io/cloud-provider => github.com/rancher/kubernetes/staging/src/k8s.io/cloud-provider v1.18.2-k3s.1
43-
k8s.io/cluster-bootstrap => github.com/rancher/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.18.2-k3s.1
44-
k8s.io/code-generator => github.com/rancher/kubernetes/staging/src/k8s.io/code-generator v1.18.2-k3s.1
45-
k8s.io/component-base => github.com/rancher/kubernetes/staging/src/k8s.io/component-base v1.18.2-k3s.1
46-
k8s.io/cri-api => github.com/rancher/kubernetes/staging/src/k8s.io/cri-api v1.18.2-k3s.1
47-
k8s.io/csi-translation-lib => github.com/rancher/kubernetes/staging/src/k8s.io/csi-translation-lib v1.18.2-k3s.1
48-
k8s.io/kube-aggregator => github.com/rancher/kubernetes/staging/src/k8s.io/kube-aggregator v1.18.2-k3s.1
49-
k8s.io/kube-controller-manager => github.com/rancher/kubernetes/staging/src/k8s.io/kube-controller-manager v1.18.2-k3s.1
50-
k8s.io/kube-proxy => github.com/rancher/kubernetes/staging/src/k8s.io/kube-proxy v1.18.2-k3s.1
51-
k8s.io/kube-scheduler => github.com/rancher/kubernetes/staging/src/k8s.io/kube-scheduler v1.18.2-k3s.1
52-
k8s.io/kubectl => github.com/rancher/kubernetes/staging/src/k8s.io/kubectl v1.18.2-k3s.1
53-
k8s.io/kubelet => github.com/rancher/kubernetes/staging/src/k8s.io/kubelet v1.18.2-k3s.1
54-
k8s.io/kubernetes => github.com/rancher/kubernetes v1.18.2-k3s.1
55-
k8s.io/legacy-cloud-providers => github.com/rancher/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.18.2-k3s.1
56-
k8s.io/metrics => github.com/rancher/kubernetes/staging/src/k8s.io/metrics v1.18.2-k3s.1
57-
k8s.io/node-api => github.com/rancher/kubernetes/staging/src/k8s.io/node-api v1.18.2-k3s.1
58-
k8s.io/sample-apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/sample-apiserver v1.18.2-k3s.1
59-
k8s.io/sample-cli-plugin => github.com/rancher/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.18.2-k3s.1
60-
k8s.io/sample-controller => github.com/rancher/kubernetes/staging/src/k8s.io/sample-controller v1.18.2-k3s.1
35+
k8s.io/api => github.com/rancher/kubernetes/staging/src/k8s.io/api v1.18.4-k3s1
36+
k8s.io/apiextensions-apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/apiextensions-apiserver v1.18.4-k3s1
37+
k8s.io/apimachinery => github.com/rancher/kubernetes/staging/src/k8s.io/apimachinery v1.18.4-k3s1
38+
k8s.io/apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/apiserver v1.18.4-k3s1
39+
k8s.io/cli-runtime => github.com/rancher/kubernetes/staging/src/k8s.io/cli-runtime v1.18.4-k3s1
40+
k8s.io/client-go => github.com/rancher/kubernetes/staging/src/k8s.io/client-go v1.18.4-k3s1
41+
k8s.io/cloud-provider => github.com/rancher/kubernetes/staging/src/k8s.io/cloud-provider v1.18.4-k3s1
42+
k8s.io/cluster-bootstrap => github.com/rancher/kubernetes/staging/src/k8s.io/cluster-bootstrap v1.18.4-k3s1
43+
k8s.io/code-generator => github.com/rancher/kubernetes/staging/src/k8s.io/code-generator v1.18.4-k3s1
44+
k8s.io/component-base => github.com/rancher/kubernetes/staging/src/k8s.io/component-base v1.18.4-k3s1
45+
k8s.io/cri-api => github.com/rancher/kubernetes/staging/src/k8s.io/cri-api v1.18.4-k3s1
46+
k8s.io/csi-translation-lib => github.com/rancher/kubernetes/staging/src/k8s.io/csi-translation-lib v1.18.4-k3s1
47+
k8s.io/kube-aggregator => github.com/rancher/kubernetes/staging/src/k8s.io/kube-aggregator v1.18.4-k3s1
48+
k8s.io/kube-controller-manager => github.com/rancher/kubernetes/staging/src/k8s.io/kube-controller-manager v1.18.4-k3s1
49+
k8s.io/kube-proxy => github.com/rancher/kubernetes/staging/src/k8s.io/kube-proxy v1.18.4-k3s1
50+
k8s.io/kube-scheduler => github.com/rancher/kubernetes/staging/src/k8s.io/kube-scheduler v1.18.4-k3s1
51+
k8s.io/kubectl => github.com/rancher/kubernetes/staging/src/k8s.io/kubectl v1.18.4-k3s1
52+
k8s.io/kubelet => github.com/rancher/kubernetes/staging/src/k8s.io/kubelet v1.18.4-k3s1
53+
k8s.io/kubernetes => github.com/rancher/kubernetes v1.18.4-k3s1
54+
k8s.io/legacy-cloud-providers => github.com/rancher/kubernetes/staging/src/k8s.io/legacy-cloud-providers v1.18.4-k3s1
55+
k8s.io/metrics => github.com/rancher/kubernetes/staging/src/k8s.io/metrics v1.18.4-k3s1
56+
k8s.io/node-api => github.com/rancher/kubernetes/staging/src/k8s.io/node-api v1.18.4-k3s1
57+
k8s.io/sample-apiserver => github.com/rancher/kubernetes/staging/src/k8s.io/sample-apiserver v1.18.4-k3s1
58+
k8s.io/sample-cli-plugin => github.com/rancher/kubernetes/staging/src/k8s.io/sample-cli-plugin v1.18.4-k3s1
59+
k8s.io/sample-controller => github.com/rancher/kubernetes/staging/src/k8s.io/sample-controller v1.18.4-k3s1
6160
mvdan.cc/unparam => mvdan.cc/unparam v0.0.0-20190209190245-fbb59629db34
6261
)
6362

6463
require (
6564
github.com/google/go-containerregistry v0.0.0-20200424115305-087a4bdef7c4
6665
github.com/pkg/errors v0.9.1
67-
github.com/rancher/k3s v0.0.0
66+
github.com/rancher/k3s v1.18.3-0.20200622210601-f5ee757b86f8
6867
github.com/rancher/wrangler v0.6.1
6968
github.com/sirupsen/logrus v1.4.2
7069
github.com/urfave/cli v1.22.2

0 commit comments

Comments
 (0)