Add FluxCD version of the ptp-notification app
Add new manifest files to the ptp-notification app to enable FluxCD support. The new spec will now generate 2 rpms: - the original one that contains the armada version of the ptp-notification app - a new one that contains the new FluxCD version of ptp-notification app Test Cases: PASS: Verify that there are no changes to the armada rpm generated PASS: Run the rpm build and verify that two packages are generated: stx-ptp-notification-helm-<version>.tis.noarch.rpm and stx-ptp-notification-helm-fluxcd-<version>.tis.noarch.rpm PASS: Install the new package with kustomize and verify that ptp-notification pod is deployed and running with success PASS: Verify that both armada and fluxcd generated the same ptp-notification application version PASS: Deleting app. Task: 44662 Story: 2009138 Change-Id: I20e6dcffb82ba8ed10b222459ac5fe37070d7493
This commit is contained in:
parent
f9023204a2
commit
bd67460482
@ -1 +1,2 @@
|
||||
stx-ptp-notification-helm
|
||||
stx-ptp-notification-helm
|
||||
stx-ptp-notification-helm-fluxcd
|
||||
|
@ -1,3 +1,8 @@
|
||||
#
|
||||
# Copyright (c) 2021-2022 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
# Application tunables (maps to metadata)
|
||||
%global app_name ptp-notification
|
||||
%global helm_repo stx-platform
|
||||
@ -31,6 +36,14 @@ BuildRequires: python-k8sapp-ptp-notification-wheels
|
||||
%description
|
||||
StarlingX PTP Notification Helm Charts
|
||||
|
||||
%package fluxcd
|
||||
Summary: StarlingX PTP Notification Application FluxCD Helm Charts
|
||||
Group: base
|
||||
License: Apache-2.0
|
||||
|
||||
%description fluxcd
|
||||
StarlingX PTP Notification Application FluxCD Helm Charts
|
||||
|
||||
%prep
|
||||
%setup -n %{name}-%{version}
|
||||
|
||||
@ -50,12 +63,15 @@ 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
|
||||
%define app_tarball_armada %{app_name}-%{version}-%{tis_patch_ver}.tgz
|
||||
%define app_tarball_fluxcd %{app_name}-fluxcd-%{version}-%{tis_patch_ver}.tgz
|
||||
%define armada_app_path %{_builddir}/%{app_tarball_armada}
|
||||
%define fluxcd_app_path %{_builddir}/%{app_tarball_fluxcd}
|
||||
|
||||
# Setup staging
|
||||
mkdir -p %{app_staging}
|
||||
cp files/metadata.yaml %{app_staging}
|
||||
cp manifests/*.yaml %{app_staging}
|
||||
cp manifests/ptp_notification_manifest.yaml %{app_staging}
|
||||
mkdir -p %{app_staging}/charts
|
||||
cp helm-charts/*.tgz %{app_staging}/charts
|
||||
#cp %{helm_folder}/*.tgz %{app_staging}/charts
|
||||
@ -66,22 +82,39 @@ 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
|
||||
|
||||
|
||||
# Copy the plugins: installed in the buildroot
|
||||
mkdir -p %{app_staging}/plugins
|
||||
cp /plugins/%{app_name}/*.whl %{app_staging}/plugins
|
||||
|
||||
# package it up
|
||||
find . -type f ! -name '*.md5' -print0 | xargs -0 md5sum > checksum.md5
|
||||
tar -zcf %{_builddir}/%{app_tarball} -C %{app_staging}/ .
|
||||
tar -zcf %armada_app_path -C %{app_staging}/ .
|
||||
|
||||
# package fluxcd
|
||||
rm -f %{app_staging}/ptp_notification_manifest.yaml
|
||||
|
||||
cd -
|
||||
cp -R fluxcd-manifests %{app_staging}/
|
||||
|
||||
# calculate checksum of all files in app_staging
|
||||
cd %{app_staging}
|
||||
find . -type f ! -name '*.md5' -print0 | xargs -0 md5sum > checksum.md5
|
||||
tar -zcf %fluxcd_app_path -C %{app_staging}/ .
|
||||
|
||||
cd -
|
||||
|
||||
# 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 -p -D -m 755 %armada_app_path %{buildroot}/%{app_folder}
|
||||
install -p -D -m 755 %fluxcd_app_path %{buildroot}/%{app_folder}
|
||||
|
||||
%files
|
||||
%defattr(-,root,root,-)
|
||||
%{app_folder}/*
|
||||
%{app_folder}/%{app_tarball_armada}
|
||||
|
||||
%files fluxcd
|
||||
%defattr(-,root,root,-)
|
||||
%{app_folder}/%{app_tarball_fluxcd}
|
||||
|
@ -0,0 +1,13 @@
|
||||
#
|
||||
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
# HelmRepository YAML for Starlingx helm repository.
|
||||
apiVersion: source.toolkit.fluxcd.io/v1beta1
|
||||
kind: HelmRepository
|
||||
metadata:
|
||||
name: stx-platform
|
||||
spec:
|
||||
url: http://192.168.206.1:8080/helm_charts/stx-platform
|
||||
interval: 60m # interval to check the repository for updates
|
@ -0,0 +1,2 @@
|
||||
resources:
|
||||
- helmrepository.yaml
|
@ -0,0 +1,8 @@
|
||||
#
|
||||
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: notification
|
@ -0,0 +1,12 @@
|
||||
#
|
||||
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
namespace: notification
|
||||
resources:
|
||||
- base
|
||||
- ptp-notification
|
||||
- ptp-notification-psp-rolebinding
|
@ -0,0 +1,35 @@
|
||||
#
|
||||
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: ptp-notification-psp-rolebinding
|
||||
labels:
|
||||
chart_group: ptp-notification
|
||||
spec:
|
||||
releaseName: ptp-ptp-notification-psp-rolebinding
|
||||
chart:
|
||||
spec:
|
||||
chart: psp-rolebinding
|
||||
version: 0.1.0
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: stx-platform
|
||||
interval: 5m
|
||||
timeout: 30m
|
||||
test:
|
||||
enable: false
|
||||
install:
|
||||
disableHooks: false
|
||||
upgrade:
|
||||
disableHooks: false
|
||||
valuesFrom:
|
||||
- kind: Secret
|
||||
name: ptp-notification-psp-rolebinding-static-overrides
|
||||
valuesKey: ptp-notification-psp-rolebinding-static-overrides.yaml
|
||||
- kind: Secret
|
||||
name: ptp-notification-psp-rolebinding-system-overrides
|
||||
valuesKey: ptp-notification-psp-rolebinding-system-overrides.yaml
|
@ -0,0 +1,17 @@
|
||||
#
|
||||
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
namespace: notification
|
||||
resources:
|
||||
- helmrelease.yaml
|
||||
secretGenerator:
|
||||
- name: ptp-notification-psp-rolebinding-static-overrides
|
||||
files:
|
||||
- ptp-notification-psp-rolebinding-static-overrides.yaml
|
||||
- name: ptp-notification-psp-rolebinding-system-overrides
|
||||
files:
|
||||
- ptp-notification-psp-rolebinding-system-overrides.yaml
|
||||
generatorOptions:
|
||||
disableNameSuffixHash: true
|
@ -0,0 +1,7 @@
|
||||
#
|
||||
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
rolebindingNamespace: notification
|
||||
serviceAccount: notification
|
@ -0,0 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
@ -0,0 +1,35 @@
|
||||
#
|
||||
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: ptp-notification
|
||||
labels:
|
||||
chart_group: ptp-notification
|
||||
spec:
|
||||
releaseName: ptp-ptp-notification
|
||||
chart:
|
||||
spec:
|
||||
chart: ptp-notification
|
||||
version: 0.1.0
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: stx-platform
|
||||
interval: 5m
|
||||
timeout: 30m
|
||||
test:
|
||||
enable: false
|
||||
install:
|
||||
disableHooks: false
|
||||
upgrade:
|
||||
disableHooks: false
|
||||
valuesFrom:
|
||||
- kind: Secret
|
||||
name: ptp-notification-static-overrides
|
||||
valuesKey: ptp-notification-static-overrides.yaml
|
||||
- kind: Secret
|
||||
name: ptp-notification-system-overrides
|
||||
valuesKey: ptp-notification-system-overrides.yaml
|
@ -0,0 +1,17 @@
|
||||
#
|
||||
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
namespace: notification
|
||||
resources:
|
||||
- helmrelease.yaml
|
||||
secretGenerator:
|
||||
- name: ptp-notification-static-overrides
|
||||
files:
|
||||
- ptp-notification-static-overrides.yaml
|
||||
- name: ptp-notification-system-overrides
|
||||
files:
|
||||
- ptp-notification-system-overrides.yaml
|
||||
generatorOptions:
|
||||
disableNameSuffixHash: true
|
@ -0,0 +1,6 @@
|
||||
#
|
||||
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
replicaCount: 1
|
@ -0,0 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
Loading…
x
Reference in New Issue
Block a user