Merge "Add stx-platform-helm RPM"
This commit is contained in:
commit
f61784180d
@ -40,3 +40,6 @@ ansible
|
|||||||
|
|
||||||
# playbookconfig
|
# playbookconfig
|
||||||
playbookconfig
|
playbookconfig
|
||||||
|
|
||||||
|
# Platform helm charts
|
||||||
|
stx-platform-helm
|
||||||
|
@ -1,4 +1,5 @@
|
|||||||
kubernetes/applications/stx-openstack/stx-openstack-helm
|
kubernetes/applications/stx-openstack/stx-openstack-helm
|
||||||
|
kubernetes/platform/stx-platform/stx-platform-helm
|
||||||
worker-utils
|
worker-utils
|
||||||
workerconfig
|
workerconfig
|
||||||
controllerconfig
|
controllerconfig
|
||||||
|
@ -160,7 +160,6 @@ apiVersion: v1
|
|||||||
kind: ConfigMap
|
kind: ConfigMap
|
||||||
metadata:
|
metadata:
|
||||||
name: ceph-etc
|
name: ceph-etc
|
||||||
# This is the name of the openstack application's namespace
|
|
||||||
namespace: {{ $root.Release.Namespace }}
|
namespace: {{ $root.Release.Namespace }}
|
||||||
data:
|
data:
|
||||||
ceph.conf: |
|
ceph.conf: |
|
||||||
|
@ -0,0 +1,7 @@
|
|||||||
|
SRC_DIR="stx-platform-helm"
|
||||||
|
|
||||||
|
COPY_LIST_TO_TAR="\
|
||||||
|
$PKG_BASE/../../../helm-charts/rbd-provisioner \
|
||||||
|
$PKG_BASE/../../../helm-charts/ceph-pools-audit"
|
||||||
|
|
||||||
|
TIS_PATCH_VER=1
|
@ -0,0 +1,99 @@
|
|||||||
|
# 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 .
|
||||||
|
|
||||||
|
# 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
|
||||||
|
make rbd-provisioner
|
||||||
|
make ceph-pools-audit
|
||||||
|
|
||||||
|
# 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 *.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}
|
||||||
|
|
||||||
|
%files
|
||||||
|
%defattr(-,root,root,-)
|
||||||
|
%{app_folder}/*
|
@ -0,0 +1,43 @@
|
|||||||
|
#
|
||||||
|
# Copyright 2017 The Openstack-Helm Authors.
|
||||||
|
#
|
||||||
|
# Copyright (c) 2019 Wind River Systems, Inc.
|
||||||
|
#
|
||||||
|
# SPDX-License-Identifier: Apache-2.0
|
||||||
|
#
|
||||||
|
# It's necessary to set this because some environments don't link sh -> bash.
|
||||||
|
SHELL := /bin/bash
|
||||||
|
TASK := build
|
||||||
|
|
||||||
|
EXCLUDES := helm-toolkit doc tests tools logs tmp
|
||||||
|
CHARTS := helm-toolkit $(filter-out $(EXCLUDES), $(patsubst %/.,%,$(wildcard */.)))
|
||||||
|
|
||||||
|
.PHONY: $(EXCLUDES) $(CHARTS)
|
||||||
|
|
||||||
|
all: $(CHARTS)
|
||||||
|
|
||||||
|
$(CHARTS):
|
||||||
|
@if [ -d $@ ]; then \
|
||||||
|
echo; \
|
||||||
|
echo "===== Processing [$@] chart ====="; \
|
||||||
|
make $(TASK)-$@; \
|
||||||
|
fi
|
||||||
|
|
||||||
|
init-%:
|
||||||
|
if [ -f $*/Makefile ]; then make -C $*; fi
|
||||||
|
if [ -f $*/requirements.yaml ]; then helm dep up $*; fi
|
||||||
|
|
||||||
|
lint-%: init-%
|
||||||
|
if [ -d $* ]; then helm lint $*; fi
|
||||||
|
|
||||||
|
build-%: lint-%
|
||||||
|
if [ -d $* ]; then helm package $*; fi
|
||||||
|
|
||||||
|
clean:
|
||||||
|
@echo "Clean all build artifacts"
|
||||||
|
rm -f */templates/_partials.tpl */templates/_globals.tpl
|
||||||
|
rm -f *tgz */charts/*tgz */requirements.lock
|
||||||
|
rm -rf */charts */tmpcharts
|
||||||
|
|
||||||
|
%:
|
||||||
|
@:
|
@ -0,0 +1,6 @@
|
|||||||
|
This directory contains all StarlingX charts that need to be built to support
|
||||||
|
platform integration immediately after installation. Some charts are common
|
||||||
|
across applications. These common charts reside in the
|
||||||
|
stx-config/kubernetes/helm-charts directory. To include these in this
|
||||||
|
application update the build_srpm.data file and use the COPY_LIST_TO_TAR
|
||||||
|
mechanism to populate these commom charts.
|
@ -0,0 +1,3 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
entries: {}
|
||||||
|
generated: 2019-01-07T12:33:46.098166523-06:00
|
@ -0,0 +1,3 @@
|
|||||||
|
app_name: @APP_NAME@
|
||||||
|
app_version: @APP_VERSION@
|
||||||
|
helm_repo: @HELM_REPO@
|
@ -0,0 +1,12 @@
|
|||||||
|
apiVersion: v1
|
||||||
|
generated: 2019-01-02T15:19:36.215111369-06:00
|
||||||
|
repositories:
|
||||||
|
- caFile: ""
|
||||||
|
cache: /builddir/.helm/repository/cache/local-index.yaml
|
||||||
|
certFile: ""
|
||||||
|
keyFile: ""
|
||||||
|
name: local
|
||||||
|
password: ""
|
||||||
|
url: http://127.0.0.1:8879/charts
|
||||||
|
username: ""
|
||||||
|
|
@ -0,0 +1,103 @@
|
|||||||
|
---
|
||||||
|
schema: armada/Chart/v1
|
||||||
|
metadata:
|
||||||
|
schema: metadata/Document/v1
|
||||||
|
name: helm-toolkit
|
||||||
|
data:
|
||||||
|
chart_name: helm-toolkit
|
||||||
|
release: helm-toolkit
|
||||||
|
namespace: helm-toolkit
|
||||||
|
values: {}
|
||||||
|
source:
|
||||||
|
type: tar
|
||||||
|
location: http://172.17.0.1:8080/helm_charts/stx-platform/helm-toolkit-0.1.0.tgz
|
||||||
|
subpath: helm-toolkit
|
||||||
|
reference: master
|
||||||
|
dependencies: []
|
||||||
|
---
|
||||||
|
schema: armada/Chart/v1
|
||||||
|
metadata:
|
||||||
|
schema: metadata/Document/v1
|
||||||
|
name: kube-system-rbd-provisioner
|
||||||
|
data:
|
||||||
|
chart_name: rbd-provisioner
|
||||||
|
release: rbd-provisioner
|
||||||
|
namespace: kube-system
|
||||||
|
wait:
|
||||||
|
timeout: 1800
|
||||||
|
labels:
|
||||||
|
app: rbd-provisioner
|
||||||
|
install:
|
||||||
|
no_hooks: false
|
||||||
|
upgrade:
|
||||||
|
no_hooks: false
|
||||||
|
pre:
|
||||||
|
delete:
|
||||||
|
- type: job
|
||||||
|
labels:
|
||||||
|
app: rbd-provisioner
|
||||||
|
values:
|
||||||
|
images:
|
||||||
|
tags:
|
||||||
|
# TODO: Remove after ceph upgrade
|
||||||
|
rbd_provisioner_storage_init: docker.io/starlingx/stx-ceph-config-helper:master-centos-stable-latest
|
||||||
|
rbac:
|
||||||
|
clusterRole: stx-rbd-provisioner
|
||||||
|
clusterRoleBinding: stx-rbd-provisioner
|
||||||
|
serviceAccount: stx-rbd-provisioner
|
||||||
|
source:
|
||||||
|
type: tar
|
||||||
|
location: http://172.17.0.1:8080/helm_charts/stx-platform/rbd-provisioner-0.1.0.tgz
|
||||||
|
subpath: rbd-provisioner
|
||||||
|
reference: master
|
||||||
|
dependencies:
|
||||||
|
- helm-toolkit
|
||||||
|
---
|
||||||
|
schema: armada/Chart/v1
|
||||||
|
metadata:
|
||||||
|
schema: metadata/Document/v1
|
||||||
|
name: kube-system-ceph-pools-audit
|
||||||
|
data:
|
||||||
|
chart_name: ceph-pools-audit
|
||||||
|
release: ceph-pools-audit
|
||||||
|
namespace: kube-system
|
||||||
|
wait:
|
||||||
|
timeout: 1800
|
||||||
|
labels:
|
||||||
|
app: rbd-provisioner
|
||||||
|
install:
|
||||||
|
no_hooks: false
|
||||||
|
upgrade:
|
||||||
|
no_hooks: false
|
||||||
|
pre:
|
||||||
|
delete:
|
||||||
|
- type: job
|
||||||
|
labels:
|
||||||
|
app: ceph-pools-audit
|
||||||
|
source:
|
||||||
|
type: tar
|
||||||
|
location: http://172.17.0.1:8080/helm_charts/stx-platform/ceph-pools-audit-0.1.0.tgz
|
||||||
|
subpath: ceph-pools-audit
|
||||||
|
reference: master
|
||||||
|
dependencies:
|
||||||
|
- helm-toolkit
|
||||||
|
---
|
||||||
|
schema: armada/ChartGroup/v1
|
||||||
|
metadata:
|
||||||
|
schema: metadata/Document/v1
|
||||||
|
name: starlingx-ceph-charts
|
||||||
|
data:
|
||||||
|
description: StarlingX Ceph Charts
|
||||||
|
sequenced: true
|
||||||
|
chart_group:
|
||||||
|
- kube-system-rbd-provisioner
|
||||||
|
- kube-system-ceph-pools-audit
|
||||||
|
---
|
||||||
|
schema: armada/Manifest/v1
|
||||||
|
metadata:
|
||||||
|
schema: metadata/Document/v1
|
||||||
|
name: platform-integration-manifest
|
||||||
|
data:
|
||||||
|
release_prefix: stx
|
||||||
|
chart_groups:
|
||||||
|
- starlingx-ceph-charts
|
Loading…
Reference in New Issue
Block a user