flannel \
iproute2-tc \
kubernetes \
+ kubernetes-dashboard \
"
RRECOMMENDS_${PN}-k8s = "\
flannel-img \
kubernetes-img \
+ kubernetes-dashboard-img \
"
RDEPENDS_${PN}-vm = "\
--- /dev/null
+---
+apiVersion: v1
+kind: ServiceAccount
+metadata:
+ labels:
+ k8s-app: kubernetes-dashboard
+ name: kubernetes-dashboard-admin
+ namespace: kube-system
+
+---
+apiVersion: rbac.authorization.k8s.io/v1beta1
+kind: ClusterRoleBinding
+metadata:
+ name: kubernetes-dashboard-admin
+ labels:
+ k8s-app: kubernetes-dashboard
+roleRef:
+ apiGroup: rbac.authorization.k8s.io
+ kind: ClusterRole
+ name: cluster-admin
+subjects:
+- kind: ServiceAccount
+ name: kubernetes-dashboard-admin
+ namespace: kube-system
--- /dev/null
+From 72c0b14297b4bcb1c8e9d78ab2a83dff1f0b4cb5 Mon Sep 17 00:00:00 2001
+From: Jackie Huang <jackie.huang@windriver.com>
+Date: Mon, 21 Oct 2019 16:26:20 +0800
+Subject: [PATCH] kubernetes-dashboard.yaml: set the NodePort type
+
+Signed-off-by: Jackie Huang <jackie.huang@windriver.com>
+---
+ src/deploy/recommended/kubernetes-dashboard.yaml | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/src/deploy/recommended/kubernetes-dashboard.yaml b/src/deploy/recommended/kubernetes-dashboard.yaml
+index 73fcc23..878f6de 100644
+--- a/src/deploy/recommended/kubernetes-dashboard.yaml
++++ b/src/deploy/recommended/kubernetes-dashboard.yaml
+@@ -143,7 +143,7 @@ spec:
+ secretName: kubernetes-dashboard-certs
+ - name: tmp-volume
+ emptyDir: {}
+- serviceAccountName: kubernetes-dashboard
++ serviceAccountName: kubernetes-dashboard-admin
+ # Comment the following tolerations if Dashboard must not be deployed on master
+ tolerations:
+ - key: node-role.kubernetes.io/master
+@@ -160,8 +160,10 @@ metadata:
+ name: kubernetes-dashboard
+ namespace: kube-system
+ spec:
++ type: NodePort
+ ports:
+ - port: 443
++ nodePort: 30443
+ targetPort: 8443
+ selector:
+ k8s-app: kubernetes-dashboard
+--
+2.7.4
+
--- /dev/null
+#
+# Copyright (C) 2019 Wind River Systems, Inc.
+#
+
+SUMMARY = "General-purpose web UI for Kubernetes clusters"
+DESCRIPTION = "\
+ Kubernetes Dashboard is a general purpose, web-based UI \
+ for Kubernetes clusters. It allows users to manage applications \
+ running in the cluster and troubleshoot them, as well as manage \
+ the cluster itself. \
+"
+HOMEPAGE = "https://github.com/kubernetes/dashboard"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://LICENSE;md5=b1e01b26bacfc2232046c90a330332b3"
+
+SRC_URI = "\
+ https://github.com/kubernetes/dashboard/archive/v${PV}.tar.gz;downloadfilename=${BPN}-v${PV}.tar.gz \
+ file://docker-img-kubernetes-dashboard-v1.8.3.tar.bz2;unpack=0 \
+ file://kubernetes-dashboard-admin.rbac.yaml \
+ file://kubernetes-dashboard.yaml-set-the-NodePort-type.patch \
+"
+
+SRC_URI[md5sum] = "8c3949eea7b9f7dd15d70d7d1c9af77b"
+SRC_URI[sha256sum] = "9096f86d4107a6d23f2cff5edd1acae2faf25719a343c319860fd6a7408f761d"
+
+S = "${WORKDIR}/dashboard-${PV}"
+
+PACKAGES =+ "${PN}-img"
+
+DOCKER_IMG = "/opt/docker_images/${BPN}"
+K8S_PLUGINS = "${sysconfdir}/kubernetes/plugins/${BPN}"
+
+do_install() {
+ install -d ${D}${K8S_PLUGINS}
+ install -m 644 ${WORKDIR}/kubernetes-dashboard-admin.rbac.yaml ${D}${K8S_PLUGINS}
+ install -m 644 ${S}/src/deploy/recommended/kubernetes-dashboard.yaml ${D}${K8S_PLUGINS}
+ install -m 644 ${S}/README.md ${D}${K8S_PLUGINS}
+
+ # Install the saved docker image
+ install -d ${D}${DOCKER_IMG}
+ install -m 644 ${WORKDIR}/docker-img-*.tar.bz2 ${D}${DOCKER_IMG}
+}
+
+FILES_${PN}-img = "${DOCKER_IMG}"