meta-stx: re-name and re-org to align with upstream
[pti/rtp.git] / meta-starlingx / meta-stx-flock / stx-monitor-armada-app / monitor-helm_1.0.bb
diff --git a/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm_1.0.bb b/meta-starlingx/meta-stx-flock/stx-monitor-armada-app/monitor-helm_1.0.bb
new file mode 100644 (file)
index 0000000..f299bbb
--- /dev/null
@@ -0,0 +1,104 @@
+
+SUMMARY = "Monitor Helm charts"
+DESCRIPTION = "Monitor Helm charts"
+
+LICENSE = "Apache-2.0"
+LIC_FILES_CHKSUM = "file://${COREBASE}/meta/files/common-licenses/Apache-2.0;md5=89aea4e17d99a7cacdbeed46a0096b10"
+
+DEPENDS += " \
+    helm-native \
+    monitor-helm-elastic \
+"
+
+PROTOCOL = "https"
+BRANCH = "r/stx.3.0"
+SRCREV_helm-charts = "92b6289ae93816717a8453cfe62bad51cbdb8ad0"
+SRCREV_monitor-armada-app = "e5ee6b3a07b74479b93fe90eff0662cf81890f73"
+
+SRC_URI = " \
+    git://github.com/helm/charts;protocol=${PROTOCOL};name=helm-charts \
+    git://opendev.org/starlingx/monitor-armada-app.git;protocol=${PROTOCOL};branch=${BRANCH};name=monitor-armada-app;destsuffix=monitor-armada-app \
+    file://0001-Add-Makefile-for-helm-charts.patch \
+    file://0002-kibana-workaround-checksum-for-configmap.yaml.patch \
+    file://0003-helm-chart-changes-for-stx-monitor.patch \
+    file://0004-ipv6-helm-chart-changes.patch \
+    file://0005-decouple-config.patch \
+    file://0006-add-system-info.patch \
+    file://0007-three-masters.patch \
+    file://0008-Update-stx-monitor-for-kubernetes-API-1.16.patch \
+    file://0009-add-curator-as-of-2019-10-10.patch \
+    file://0010-Update-kube-state-metrics-1.8.0-to-commit-09daf19.patch \
+    file://0011-update-init-container-env-to-include-node-name.patch \
+    file://0012-Add-imagePullSecrets.patch \
+    file://0013-removed-unused-images.patch \
+    file://index.yaml \
+    file://repositories.yaml \
+    "
+
+PATCHTOOL = "git"
+PATCH_COMMIT_FUNCTIONS = "1"
+
+S = "${WORKDIR}/git"
+
+inherit allarch
+
+helm_folder = "${nonarch_libdir}/helm"
+helmchart_version = "0.1.0"
+
+do_configure[noexec] = "1"
+
+do_compile () {
+       # initialize helm and build the toolkit
+       # helm init --client-only does not work if there is no networking
+       # The following commands do essentially the same as: helm init
+       export HOME="${B}/${USER}"
+       export helm_home="${B}/${USER}/.helm"
+       rm -rf ${helm_home}
+
+       mkdir -p ${helm_home}
+       mkdir ${helm_home}/repository
+       mkdir ${helm_home}/repository/cache
+       mkdir ${helm_home}/repository/local
+       mkdir ${helm_home}/plugins
+       mkdir ${helm_home}/starters
+       mkdir ${helm_home}/cache
+       mkdir ${helm_home}/cache/archive
+
+       # Stage a repository file that only has a local repo
+       install -m 0644 ${WORKDIR}/repositories.yaml ${helm_home}/repository/repositories.yaml
+
+       # Stage a local repo index that can be updated by the build
+       install -m 0644 ${WORKDIR}/index.yaml ${helm_home}/repository/local/index.yaml
+
+       # Host a server for the charts
+       helm serve --repo-path . &
+       sleep 1
+       helm repo rm local
+       helm repo add local http://localhost:8879/charts
+
+       # Create the tgz files
+       cd stable
+       make filebeat
+       make metricbeat
+       make kube-state-metrics
+       make kibana
+       make nginx-ingress
+       make logstash
+       make elasticsearch-curator
+
+       # terminate helm server (the last backgrounded task)
+       kill $!
+       rm -rf ${helm_home}
+}
+
+do_install () {
+       install -d -m 755 ${D}${helm_folder}
+       install -p -D -m 755 ${S}/stable/*.tgz ${D}${helm_folder}
+}
+
+FILES_${PN} = "${helm_folder}"
+
+RDEPENDS_${PN} = " \
+    helm \
+    monitor-helm-elastic \
+"