Add Debian packaging for monitor app

Create Debian packages for monitor-helm, monitor-helm-elastic and
stx-monitor-helm packages.

Story: 2009101
Task: 43838

Signed-off-by: Tracey Bogue <tracey.bogue@windriver.com>
Change-Id: I454c69618975324feec4834ea065c0025a9381d1
This commit is contained in:
Tracey Bogue 2021-11-03 07:11:48 -05:00
parent 98f03a1dc0
commit cd71553493
24 changed files with 378 additions and 0 deletions

3
debian_pkg_dirs Normal file
View File

@ -0,0 +1,3 @@
monitor-helm
monitor-helm-elastic
stx-monitor-helm

View File

@ -0,0 +1,5 @@
monitor-helm-elastic (1.0-1) unstable; urgency=medium
* Initial release.
-- Tracey Bogue <tracey.bogue@windriver.com> Tue, 2 Nov 2021 14:06:42 +0000

View File

@ -0,0 +1,18 @@
Source: monitor-helm-elastic
Section: libs
Priority: optional
Maintainer: StarlingX Developers <starlingx-discuss@lists.starlingx.io>
Build-Depends: debhelper-compat (= 13),
chartmuseum,
helm,
procps
Standards-Version: 4.5.1
Homepage: https://www.starlingx.io
Package: monitor-helm-elastic
Section: libs
Architecture: any
Depends: ${misc:Depends}
Description: StarlingX Monitor Elastic Helm Charts
This package contains elastic helm charts for the monitor
application.

View File

@ -0,0 +1,41 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: monitor-helm-elastic
Source: https://opendev.org/starlingx/monitor-armada-app/
Files: *
Copyright: (c) 2013-2021 Wind River Systems, Inc
License: Apache-2
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
https://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian-based systems the full text of the Apache version 2.0 license
can be found in `/usr/share/common-licenses/Apache-2.0'.
# If you want to use GPL v2 or later for the /debian/* files use
# the following clauses, or change it to suit. Delete these two lines
Files: debian/*
Copyright: 2021 Wind River Systems, Inc
License: Apache-2
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
https://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian-based systems the full text of the Apache version 2.0 license
can be found in `/usr/share/common-licenses/Apache-2.0'.

View File

@ -0,0 +1 @@
usr/lib/helm/*

View File

@ -0,0 +1,42 @@
#!/usr/bin/make -f
# export DH_VERBOSE = 1
export ROOT = debian/tmp
export HELM_FOLDER = $(ROOT)/usr/lib/helm
%:
dh $@
override_dh_auto_build:
# Move the source files from the extracted root directory to build root.
mv helm-charts-elastic/* .
# Apply the openstack-helm patches.
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0001-add-makefile.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0002-use-oss-image.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0003-set-initial-masters-to-master-0.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0004-Update-Elastic-Apps-to-7.6.0-Releases.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0005-readiness-probe-enhancements.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0006-Metricbeat-nodeSelector-and-tolerations-config.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0007-Add-command-and-args-parameters-to-beats-and-logstash.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0008-Add-updateStrategy-parameter-to-beats-config.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0010-Fix-esConfig-checksum-annotation.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0011-Fix-Elasticsearch-readiness-probe-http-endpoint.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0012-Add-logstash-ingress.patch
# Host a server for the helm charts.
chartmuseum --debug --port=8879 --context-path='/charts' --storage="local" --storage-local-rootdir="." &
sleep 2
helm repo add local http://localhost:8879/charts
# Create the chart TGZ files.
rm elasticsearch/Makefile kibana/Makefile filebeat/Makefile metricbeat/Makefile logstash/Makefile
make elasticsearch
make kibana
make filebeat
make metricbeat
make logstash
# Terminate the helm chart server.
pkill chartmuseum
override_dh_auto_install:
# Install the app tar file.
install -d -m 755 $(HELM_FOLDER)
install -p -D -m 755 *.tgz $(HELM_FOLDER)

View File

@ -0,0 +1 @@
3.0 (quilt)

View File

@ -0,0 +1,25 @@
#!/bin/bash
set -x
PKG_BUILD_NAME=$1
PKG_BUILD_ROOT=$(realpath `pwd`/${PKG_BUILD_NAME})
PKG_DIR="monitor-helm-elastic"
STX_BASE=$(realpath ${MY_REPO}/stx)
SRC=$(realpath ${STX_BASE}/monitor-armada-app/${PKG_DIR})
mkdir -p ${PKG_BUILD_ROOT}
pushd ${PKG_BUILD_ROOT}
# Local mirror workaround until CGCS_BASE mirror is supported.
STX_MIRROR=$(realpath "/import/mirrors/starlingx")
# Download monitor helm elastic chart source package.
ELASTIC_PKG="helm-charts-elastic-945017287598479ba8653d9baf3ff26f7fe31e50.tar.gz"
ELASTIC_SRC_PATH=$(realpath ${STX_MIRROR}/downloads/${ELASTIC_PKG})
cp ${ELASTIC_SRC_PATH} ${PKG_BUILD_ROOT}
# Extract the monitor helm elastic chart tar file.
tar xfzvv ${ELASTIC_PKG}
# Copy source files to the build directory.
cp -pr ${SRC}/files/* ${PKG_BUILD_ROOT}

View File

@ -0,0 +1,7 @@
---
debname: monitor-helm-elastic
debver: 1.0-1
dl_hook: dl_hook
revision:
dist: $STX_DIST
PKG_GITREVCOUNT: true

View File

@ -0,0 +1,5 @@
monitor-helm (1.0-1) unstable; urgency=medium
* Initial release.
-- Tracey Bogue <tracey.bogue@windriver.com> Tue, 2 Nov 2021 13:37:42 +0000

View File

@ -0,0 +1,17 @@
Source: monitor-helm
Section: libs
Priority: optional
Maintainer: StarlingX Developers <starlingx-discuss@lists.starlingx.io>
Build-Depends: debhelper-compat (= 13),
chartmuseum,
helm,
procps
Standards-Version: 4.5.1
Homepage: https://www.starlingx.io
Package: monitor-helm
Section: libs
Architecture: any
Depends: ${misc:Depends}
Description: StarlingX Monitor Helm Charts
This package contains helm charts for the monitor application.

View File

@ -0,0 +1,41 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: monitor-helm
Source: https://opendev.org/starlingx/monitor-armada-app/
Files: *
Copyright: (c) 2013-2021 Wind River Systems, Inc
License: Apache-2
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
https://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian-based systems the full text of the Apache version 2.0 license
can be found in `/usr/share/common-licenses/Apache-2.0'.
# If you want to use GPL v2 or later for the /debian/* files use
# the following clauses, or change it to suit. Delete these two lines
Files: debian/*
Copyright: 2021 Wind River Systems, Inc
License: Apache-2
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
https://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian-based systems the full text of the Apache version 2.0 license
can be found in `/usr/share/common-licenses/Apache-2.0'.

View File

@ -0,0 +1 @@
usr/lib/helm/*

View File

@ -0,0 +1,47 @@
#!/usr/bin/make -f
# export DH_VERBOSE = 1
export ROOT = debian/tmp
export HELM_FOLDER = $(ROOT)/usr/lib/helm
%:
dh $@
override_dh_auto_build:
# Move the source files from the extracted root directory to build root.
mv helm-charts/* .
# Apply the openstack-helm patches.
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0001-Add-Makefile-for-helm-charts.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0002-kibana-workaround-checksum-for-configmap.yaml.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0003-helm-chart-changes-for-stx-monitor.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0004-ipv6-helm-chart-changes.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0005-decouple-config.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0006-add-system-info.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0007-three-masters.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0008-Update-stx-monitor-for-kubernetes-API-1.16.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0009-add-curator-as-of-2019-10-10.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0010-Update-kube-state-metrics-1.8.0-to-commit-09daf19.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0011-update-init-container-env-to-include-node-name.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0012-Add-imagePullSecrets.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0013-removed-unused-images.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0014-Add-rbac-replicasets-to-apps-apigroup-commit-1717e2d.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0015-script-flexibility.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0016-use-main-container-image-for-initcontainer.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0017-stable-nginx-ingress-allow-nodePort-for-tcp-udp-serv.patch
patch --no-backup-if-mismatch --prefix=/tmp/junk -p1 < 0018-Update-nginx-ingress-chart-for-Helm-v3.patch
# Host a server for the helm charts.
chartmuseum --debug --port=8879 --context-path='/charts' --storage="local" \
--storage-local-rootdir="." &
sleep 2
helm repo add local http://localhost:8879/charts
# Create the chart TGZ files.
cd stable && make kube-state-metrics
cd stable && make nginx-ingress
cd stable && make elasticsearch-curator
# Terminate the helm chart server.
pkill chartmuseum
override_dh_auto_install:
# Install the app tar file.
install -d -m 755 $(HELM_FOLDER)
install -p -D -m 755 stable/*.tgz $(HELM_FOLDER)

View File

@ -0,0 +1 @@
3.0 (quilt)

25
monitor-helm/debian/dl_hook Executable file
View File

@ -0,0 +1,25 @@
#!/bin/bash
set -x
PKG_BUILD_NAME=$1
PKG_BUILD_ROOT=$(realpath `pwd`/${PKG_BUILD_NAME})
PKG_DIR="monitor-helm"
STX_BASE=$(realpath ${MY_REPO}/stx)
SRC=$(realpath ${STX_BASE}/monitor-armada-app/${PKG_DIR})
mkdir -p ${PKG_BUILD_ROOT}
pushd ${PKG_BUILD_ROOT}
# Local mirror workaround until CGCS_BASE mirror is supported.
STX_MIRROR=$(realpath "/import/mirrors/starlingx")
# Download monitor helm chart source package.
MON_PKG="helm-charts-92b6289ae93816717a8453cfe62bad51cbdb8ad0.tar.gz"
MON_SRC_PATH=$(realpath ${STX_MIRROR}/downloads/${MON_PKG})
cp ${MON_SRC_PATH} ${PKG_BUILD_ROOT}
# Extract the monitor helm chart tar file.
tar xfzvv ${MON_PKG}
# Copy source files to the build directory.
cp -pr ${SRC}/files/* ${PKG_BUILD_ROOT}

View File

@ -0,0 +1,7 @@
---
debname: monitor-helm
debver: 1.0-1
dl_hook: dl_hook
revision:
dist: $STX_DIST
PKG_GITREVCOUNT: true

View File

@ -0,0 +1,5 @@
stx-monitor-helm (1.0-1) unstable; urgency=medium
* Initial release.
-- Tracey Bogue <tracey.bogue@windriver.com> Tue, 2 Nov 2021 14:26:42 +0000

View File

@ -0,0 +1,17 @@
Source: stx-monitor-helm
Section: libs
Priority: optional
Maintainer: StarlingX Developers <starlingx-discuss@lists.starlingx.io>
Build-Depends: debhelper-compat (= 13),
monitor-helm,
monitor-helm-elastic
Standards-Version: 4.5.1
Homepage: https://www.starlingx.io
Package: stx-monitor-helm
Section: libs
Architecture: any
Depends: ${misc:Depends}, monitor-helm, monitor-helm-elastic
Description: StarlingX Monitor Armada Helm Charts
This package contains Armada helm charts for the monitor
application.

View File

@ -0,0 +1,41 @@
Format: https://www.debian.org/doc/packaging-manuals/copyright-format/1.0/
Upstream-Name: stx-monitor-helm
Source: https://opendev.org/starlingx/monitor-armada-app/
Files: *
Copyright: (c) 2013-2021 Wind River Systems, Inc
License: Apache-2
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
https://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian-based systems the full text of the Apache version 2.0 license
can be found in `/usr/share/common-licenses/Apache-2.0'.
# If you want to use GPL v2 or later for the /debian/* files use
# the following clauses, or change it to suit. Delete these two lines
Files: debian/*
Copyright: 2021 Wind River Systems, Inc
License: Apache-2
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
.
https://www.apache.org/licenses/LICENSE-2.0
.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
.
On Debian-based systems the full text of the Apache version 2.0 license
can be found in `/usr/share/common-licenses/Apache-2.0'.

View File

@ -0,0 +1,18 @@
#!/usr/bin/make -f
# export DH_VERBOSE = 1
export ROOT = debian/tmp
export APP_FOLDER = $(ROOT)/usr/lib/application
export ARMADA_FOLDER = $(ROOT)/usr/lib/armada
%:
dh $@
override_dh_auto_build:
override_dh_auto_install:
# Install the app files.
install -d -m 755 $(ARMADA_FOLDER)
install -p -D -m 755 manifests/*.yaml $(ARMADA_FOLDER)
install -d -m 755 $(APP_FOLDER)
install -p -D -m 755 files/metadata.yaml $(APP_FOLDER)

View File

@ -0,0 +1 @@
3.0 (quilt)

View File

@ -0,0 +1,2 @@
usr/lib/application/*
usr/lib/armada/*

View File

@ -0,0 +1,7 @@
---
debname: stx-monitor-helm
debver: 1.0-1
src_path: stx-monitor-helm
revision:
dist: $STX_DIST
PKG_GITREVCOUNT: true