
Relocation of helm charts required some modifications to the spec, and relocation of the makefile. Story: 2006166 Task: 35687 Depends-On: I24b16f31820ff44b4c38fe49e84fac000fd0d155 Change-Id: I3bfc1895dcbf84cbc67e8a0b13545d16f727ad51 Signed-off-by: Scott Little <scott.little@windriver.com>
106 lines
2.9 KiB
RPMSpec
106 lines
2.9 KiB
RPMSpec
# Application tunables (maps to metadata)
|
|
%global app_name platform-integ-apps
|
|
%global helm_repo stx-platform
|
|
|
|
# Install location
|
|
%global app_folder /usr/local/share/applications/helm
|
|
|
|
# Build variables
|
|
%global helm_folder /usr/lib/helm
|
|
%global toolkit_version 0.1.0
|
|
|
|
Summary: StarlingX Platform Helm charts
|
|
Name: stx-platform-helm
|
|
Version: 1.0
|
|
Release: %{tis_patch_ver}%{?_tis_dist}
|
|
License: Apache-2.0
|
|
Group: base
|
|
Packager: Wind River <info@windriver.com>
|
|
URL: unknown
|
|
|
|
Source0: %{name}-%{version}.tar.gz
|
|
|
|
BuildArch: noarch
|
|
|
|
BuildRequires: helm
|
|
BuildRequires: openstack-helm-infra
|
|
|
|
%description
|
|
StarlingX Platform Helm charts
|
|
|
|
%prep
|
|
%setup
|
|
|
|
%build
|
|
# 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
|
|
%define helm_home %{getenv:HOME}/.helm
|
|
mkdir %{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
|
|
cp files/repositories.yaml %{helm_home}/repository/repositories.yaml
|
|
|
|
# Stage a local repo index that can be updated by the build
|
|
cp files/index.yaml %{helm_home}/repository/local/index.yaml
|
|
|
|
# Stage helm-toolkit in the local repo
|
|
cp %{helm_folder}/helm-toolkit-%{toolkit_version}.tgz helm-charts/
|
|
|
|
# Host a server for the charts
|
|
helm serve --repo-path . &
|
|
helm repo rm local
|
|
helm repo add local http://localhost:8879/charts
|
|
|
|
# Make the charts. These produce a tgz file
|
|
cd helm-charts
|
|
make rbd-provisioner
|
|
make ceph-pools-audit
|
|
make node-feature-discovery
|
|
cd -
|
|
|
|
# Terminate helm server (the last backgrounded task)
|
|
kill %1
|
|
|
|
# Create a chart tarball compliant with sysinv kube-app.py
|
|
%define app_staging %{_builddir}/staging
|
|
%define app_tarball %{app_name}-%{version}-%{tis_patch_ver}.tgz
|
|
|
|
# Setup staging
|
|
mkdir -p %{app_staging}
|
|
cp files/metadata.yaml %{app_staging}
|
|
cp manifests/manifest.yaml %{app_staging}
|
|
mkdir -p %{app_staging}/charts
|
|
cp helm-charts/*.tgz %{app_staging}/charts
|
|
cd %{app_staging}
|
|
|
|
# Populate metadata
|
|
sed -i 's/@APP_NAME@/%{app_name}/g' %{app_staging}/metadata.yaml
|
|
sed -i 's/@APP_VERSION@/%{version}-%{tis_patch_ver}/g' %{app_staging}/metadata.yaml
|
|
sed -i 's/@HELM_REPO@/%{helm_repo}/g' %{app_staging}/metadata.yaml
|
|
|
|
# package it up
|
|
find . -type f ! -name '*.md5' -print0 | xargs -0 md5sum > checksum.md5
|
|
tar -zcf %{_builddir}/%{app_tarball} -C %{app_staging}/ .
|
|
|
|
# Cleanup staging
|
|
rm -fr %{app_staging}
|
|
|
|
%install
|
|
install -d -m 755 %{buildroot}/%{app_folder}
|
|
install -p -D -m 755 %{_builddir}/%{app_tarball} %{buildroot}/%{app_folder}
|
|
install -d -m 755 ${RPM_BUILD_ROOT}/opt/extracharts
|
|
install -p -D -m 755 helm-charts/node-feature-discovery-*.tgz ${RPM_BUILD_ROOT}/opt/extracharts
|
|
|
|
%files
|
|
%defattr(-,root,root,-)
|
|
%{app_folder}/*
|
|
/opt/extracharts/*
|