openstack-armada-app/stx-openstack-helm-fluxcd/debian/deb_folder/rules
Robert Church daef54697f Partial FluxCD version of stx-openstack: initial
This is a mini test version of the openstack app based on FluxCD.
It only has a subset of the charts enabled for testing:
 - build-helm-chart.sh changes
 - FluxCD application framework changes

This change includes the following charts:
psp-rolebinding, ingress, nginx-ports-control, mariadb,
garbd, memcached, rabbitmq.

NOTE: This new change includes the same code from [1] and the fix
for debian package build, the reason why the original change had to
be reverted originally.

Test Plan:
PASS - package build (CentOS)
PASS - package build (Debian)
PASS - build-helm-charts.sh builds a basic FluxCD app tarball
PASS - application upload and overrides generated
PASS - application apply/remove/delete

Debian build logs: https://paste.opendev.org/show/bty7r5Zcn6JJawuwDBm7/
Application Logs: https://paste.opendev.org/show/bFL2fixBwc0vBhqXDC0K/

Story: 2009138
Task: 45462

Signed-off-by: Thales Elero Cervi <thaleselero.cervi@windriver.com>
Co-Authored-by: Robert Church <robert.church@windriver.com>
Change-Id: Id501b4a34b1b54ca72943044fb59b18e064d1042
2022-09-01 11:54:42 -03:00

43 lines
1.4 KiB
Makefile
Executable File

#!/usr/bin/make -f
# export DH_VERBOSE = 1
export ROOT = debian/tmp
export APP_FOLDER = $(ROOT)/usr/lib/application
export FLUXCD_FOLDER = $(ROOT)/usr/lib/fluxcd
export HELM_FOLDER = /usr/lib/helm
export TOOLKIT_VERSION = 0.2.19
%:
dh $@
override_dh_auto_build:
# Stage helm-toolkit in the local repo.
cp $(HELM_FOLDER)/helm-toolkit-$(TOOLKIT_VERSION).tgz helm-charts/
# Host a server for the helm charts.
chartmuseum --debug --port=8879 --context-path='/charts' --storage="local" \
--storage-local-rootdir="./helm-charts" &
sleep 2
helm repo add local http://localhost:8879/charts
# Create the TGZ file.
cd helm-charts && make nova-api-proxy
cd helm-charts && make pci-irq-affinity-agent
cd helm-charts && make garbd
cd helm-charts && make keystone-api-proxy
cd helm-charts && make fm-rest-api
cd helm-charts && make nginx-ports-control
cd helm-charts && make dcdbsync
cd helm-charts && make psp-rolebinding
# Terminate the helm chart server.
pkill chartmuseum
# Remove helm-toolkit. This will be packaged with openstack-helm-infra.
rm helm-charts/helm-toolkit-$(TOOLKIT_VERSION).tgz
override_dh_auto_install:
# Install the app tar file.
install -d -m 755 $(APP_FOLDER)
install -p -D -m 755 files/metadata.yaml $(APP_FOLDER)
install -d -m 755 $(ROOT)$(HELM_FOLDER)
install -p -D -m 755 helm-charts/*.tgz $(ROOT)$(HELM_FOLDER)
install -d -m 755 $(FLUXCD_FOLDER)
cp -pR manifests/* $(FLUXCD_FOLDER)