Add FluxCD version of metrics-server
Add new manifest files for the FluxCD version of metrics-server This will create 2 rpms, one for armada and one for FluxCD. Ubuntu integration already implemented. TEST PLAN PASS Install new .deb and install FluxCD nginx PASS Verify created resources PASS Install .rpm and test on CentOS PASS Verify created resources PASS Install .rpm and test on Debian Story: 2009138 Task: 45412 Signed-off-by: Luiz Felipe Kina <LuizFelipe.EiskeKina@windriver.com> Change-Id: I40a3feb61360eebafa9253495e1c487b56e4f75f
This commit is contained in:
parent
512747aec4
commit
03e2d54d7c
@ -1 +1,3 @@
|
||||
stx-metrics-server-helm
|
||||
stx-metrics-server-helm-fluxcd
|
||||
|
||||
|
@ -1 +1 @@
|
||||
metrics-server-e67ee73cfc51e27eaf46b2af0ae8debd16c86d26.tgz#metrics-server#https://github.com/kubernetes-sigs/metrics-server/releases/download/metrics-server-helm-chart-3.8.2/metrics-server-3.8.2.tgz#http##
|
||||
metrics-server-e67ee73cfc51e27eaf46b2af0ae8debd16c86d26.tgz#metrics-server#https://github.com/kubernetes-sigs/metrics-server/releases/tag/metrics-server-helm-chart-3.8.2/metrics-server-3.8.2.tgz#http##
|
||||
|
@ -5,7 +5,7 @@ src_path: files
|
||||
dl_files:
|
||||
metrics-server-3.8.2.tgz:
|
||||
topdir: null
|
||||
url: https://github.com/kubernetes-sigs/metrics-server/releases/download/metrics-server-helm-chart-3.8.2/metrics-server-3.8.2.tgz
|
||||
url: https://github.com/kubernetes-sigs/metrics-server/releases/tag/metrics-server-helm-chart-3.8.2/metrics-server-3.8.2.tgz
|
||||
md5sum: 93f38ed20dd55618b4bf67584908b56c
|
||||
revision:
|
||||
dist: $STX_DIST
|
||||
|
@ -4,8 +4,6 @@
|
||||
%global helm_folder /usr/lib/helm
|
||||
%global armada_folder /usr/lib/armada
|
||||
%global app_folder /usr/local/share/applications/helm
|
||||
%global helmchart_version 0.1.0
|
||||
|
||||
|
||||
Summary: StarlingX Metrics Server Armada Helm Charts
|
||||
Name: stx-metrics-server-helm
|
||||
@ -27,6 +25,14 @@ BuildRequires: metrics-server-helm
|
||||
%description
|
||||
StarlingX Metrics Server Armada Helm Charts
|
||||
|
||||
%package fluxcd
|
||||
Summary: StarlingX Metrics Server Controller Application FluxCD Helm Charts
|
||||
Group: base
|
||||
License: Apache-2.0
|
||||
|
||||
%description fluxcd
|
||||
StarlingX Metrics Server Controller Application FluxCD Helm Charts
|
||||
|
||||
%prep
|
||||
%setup
|
||||
|
||||
@ -46,7 +52,8 @@ 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
|
||||
|
||||
# Setup staging
|
||||
mkdir -p %{app_staging}
|
||||
@ -62,17 +69,24 @@ 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
|
||||
# package armada
|
||||
find . -type f ! -name '*.md5' -print0 | xargs -0 md5sum > checksum.md5
|
||||
tar -zcf %{_builddir}/%{app_tarball} -C %{app_staging}/ .
|
||||
tar -zcf %{_builddir}/%{app_tarball_armada} -C %{app_staging}/ .
|
||||
|
||||
#package fluxcd
|
||||
cd %{_builddir}/%{name}-%{version}
|
||||
cp -Rv fluxcd-manifests %{app_staging}/
|
||||
|
||||
find . -type f ! -name '*.md5' -print0 | xargs -0 md5sum > checksum.md5
|
||||
tar -zcf %{_builddir}/%{app_tarball_fluxcd} -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 -p -D -m 755 %{_builddir}/%{app_tarball_fluxcd} %{buildroot}/%{app_folder}
|
||||
|
||||
%files
|
||||
%files fluxcd
|
||||
%defattr(-,root,root,-)
|
||||
%{app_folder}/*
|
||||
%{app_folder}/%{app_tarball_fluxcd}
|
||||
|
@ -10,14 +10,20 @@ export MINOR_PATCH = $(shell echo $(DEB_VERSION) | cut -f 2 -d '.')
|
||||
|
||||
export APP_NAME = metrics-server
|
||||
export APP_VERSION = $(MAJOR).$(MINOR_PATCH)
|
||||
export APP_TARBALL = $(APP_NAME)-$(APP_VERSION).tgz
|
||||
export APP_TARBALL_ARMADA = $(APP_NAME)-$(APP_VERSION).tgz
|
||||
export APP_TARBALL_FLUXCD = $(APP_NAME)-fluxcd-$(APP_VERSION).tgz
|
||||
export HELM_REPO = stx-platform
|
||||
export STAGING = staging
|
||||
export STAGING_ARMADA = staging-armada
|
||||
export STAGING_FLUXCD = staging-fluxcd
|
||||
|
||||
%:
|
||||
dh $@
|
||||
|
||||
override_dh_auto_build:
|
||||
|
||||
############
|
||||
# COMMON #
|
||||
############
|
||||
# Host a server for the helm charts.
|
||||
chartmuseum --debug --port=8879 --context-path='/charts' --storage="local" --storage-local-rootdir="." &
|
||||
sleep 2
|
||||
@ -26,27 +32,61 @@ override_dh_auto_build:
|
||||
cd helm-charts && make
|
||||
# Terminate the helm chart server.
|
||||
pkill chartmuseum
|
||||
|
||||
############
|
||||
# ARMADA #
|
||||
############
|
||||
# Setup the staging directory.
|
||||
mkdir -p $(STAGING)
|
||||
cp files/metadata.yaml $(STAGING)
|
||||
cp manifests/*.yaml $(STAGING)
|
||||
mkdir -p $(STAGING)/charts
|
||||
cp helm-charts/*.tgz $(STAGING)/charts
|
||||
mkdir -p $(STAGING_ARMADA)
|
||||
cp files/metadata.yaml $(STAGING_ARMADA)
|
||||
cp manifests/metrics-server_manifest.yaml $(STAGING_ARMADA)
|
||||
mkdir -p $(STAGING_ARMADA)/charts
|
||||
cp helm-charts/*.tgz $(STAGING_ARMADA)/charts
|
||||
|
||||
# Populate metadata.
|
||||
sed -i 's/@APP_NAME@/$(APP_NAME)/g' $(STAGING)/metadata.yaml
|
||||
sed -i 's/@APP_VERSION@/$(APP_VERSION)/g' $(STAGING)/metadata.yaml
|
||||
sed -i 's/@HELM_REPO@/$(HELM_REPO)/g' $(STAGING)/metadata.yaml
|
||||
sed -i 's/@APP_NAME@/$(APP_NAME)/g' $(STAGING_ARMADA)/metadata.yaml
|
||||
sed -i 's/@APP_VERSION@/$(APP_VERSION)/g' $(STAGING_ARMADA)/metadata.yaml
|
||||
sed -i 's/@HELM_REPO@/$(HELM_REPO)/g' $(STAGING_ARMADA)/metadata.yaml
|
||||
|
||||
# Create the app package.
|
||||
cd $(STAGING) && find . -type f ! -name '*.md5' -print0 | xargs -0 md5sum > checksum.md5
|
||||
tar cfz $(APP_TARBALL) -C $(STAGING)/ .
|
||||
cd $(STAGING_ARMADA) && find . -type f ! -name '*.md5' -print0 | xargs -0 md5sum > checksum.md5
|
||||
tar cfz $(APP_TARBALL_ARMADA) -C $(STAGING_ARMADA)/ .
|
||||
|
||||
# Cleanup staging
|
||||
rm -rf $(STAGING)
|
||||
rm -rf $(STAGING_ARMADA)
|
||||
|
||||
############
|
||||
# FLUXCD #
|
||||
############
|
||||
# Setup the staging directory.
|
||||
mkdir -p $(STAGING_FLUXCD)
|
||||
cp files/metadata.yaml $(STAGING_FLUXCD)
|
||||
cp -Rv fluxcd-manifests $(STAGING_FLUXCD)
|
||||
mkdir -p $(STAGING_FLUXCD)/charts
|
||||
cp helm-charts/*.tgz $(STAGING_FLUXCD)/charts
|
||||
|
||||
# Populate metadata.
|
||||
sed -i 's/@APP_NAME@/$(APP_NAME)/g' $(STAGING_FLUXCD)/metadata.yaml
|
||||
sed -i 's/@APP_VERSION@/$(APP_VERSION)/g' $(STAGING_FLUXCD)/metadata.yaml
|
||||
sed -i 's/@HELM_REPO@/$(HELM_REPO)/g' $(STAGING_FLUXCD)/metadata.yaml
|
||||
|
||||
# Package fluxcd
|
||||
cp -R fluxcd-manifests $(STAGING_FLUXCD)/
|
||||
|
||||
# calculate checksum of all files in app_staging
|
||||
cd $(STAGING_FLUXCD) && find . -type f ! -name '*.md5' -print0 | xargs -0 md5sum > checksum.md5
|
||||
tar cfz $(APP_TARBALL_FLUXCD) -C $(STAGING_FLUXCD)/ .
|
||||
|
||||
# Cleanup staging
|
||||
rm -rf $(STAGING_FLUXCD)
|
||||
|
||||
override_dh_auto_install:
|
||||
# Install the app tar file.
|
||||
install -d -m 755 $(APP_FOLDER)
|
||||
install -p -D -m 755 $(APP_TARBALL) $(APP_FOLDER)
|
||||
install -p -D -m 755 $(APP_TARBALL_ARMADA) $(APP_FOLDER)
|
||||
install -p -D -m 755 $(APP_TARBALL_FLUXCD) $(APP_FOLDER)
|
||||
|
||||
override_dh_auto_test:
|
||||
|
||||
override_dh_usrlocal:
|
||||
|
||||
|
@ -0,0 +1,41 @@
|
||||
# Copyright (c) 2022 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,12 @@
|
||||
#
|
||||
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
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
|
@ -0,0 +1,7 @@
|
||||
#
|
||||
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
resources:
|
||||
- helmrepository.yaml
|
@ -0,0 +1,9 @@
|
||||
#
|
||||
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: metrics-server
|
@ -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: metrics-server
|
||||
resources:
|
||||
- base
|
||||
- metrics-server
|
@ -0,0 +1,60 @@
|
||||
#
|
||||
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: metrics-server
|
||||
labels:
|
||||
chart_group: metrics-server
|
||||
spec:
|
||||
releaseName: ms-metrics-server
|
||||
chart:
|
||||
spec:
|
||||
chart: metrics-server
|
||||
version: 3.8.2
|
||||
sourceRef:
|
||||
kind: HelmRepository
|
||||
name: stx-platform
|
||||
interval: 5m
|
||||
timeout: 30m
|
||||
test:
|
||||
enable: false
|
||||
install:
|
||||
disableHooks: false
|
||||
upgrade:
|
||||
disableHooks: false
|
||||
force: true
|
||||
valuesFrom:
|
||||
- kind: Secret
|
||||
name: metrics-server-static-overrides
|
||||
valuesKey: metrics-server-static-overrides.yaml
|
||||
- kind: Secret
|
||||
name: metrics-server-system-overrides
|
||||
valuesKey: metrics-server-system-overrides.yaml
|
||||
---
|
||||
apiVersion: "helm.toolkit.fluxcd.io/v2beta1"
|
||||
kind: HelmRelease
|
||||
metadata:
|
||||
name: metrics-server-psp-rolebinding
|
||||
labels:
|
||||
chart_group: metrics-server-psp-rolebinding
|
||||
spec:
|
||||
releaseName: ms-metrics-server-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:
|
||||
force: true
|
@ -0,0 +1,17 @@
|
||||
#
|
||||
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
namespace: metrics-server
|
||||
resources:
|
||||
- helmrelease.yaml
|
||||
secretGenerator:
|
||||
- name: metrics-server-static-overrides
|
||||
files:
|
||||
- metrics-server-static-overrides.yaml
|
||||
- name: metrics-server-system-overrides
|
||||
files:
|
||||
- metrics-server-system-overrides.yaml
|
||||
generatorOptions:
|
||||
disableNameSuffixHash: true
|
@ -0,0 +1,18 @@
|
||||
#
|
||||
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
||||
imagePullSecrets: [{"name": "default-registry-key"}]
|
||||
args:
|
||||
- --kubelet-insecure-tls
|
||||
replicas: 1
|
||||
image:
|
||||
repository: k8s.gcr.io/metrics-server/metrics-server
|
||||
tag: "v0.6.1"
|
||||
tolerations:
|
||||
- key: "node-role.kubernetes.io/master"
|
||||
operator: "Exists"
|
||||
effect: "NoSchedule"
|
||||
nodeSelector:
|
||||
node-role.kubernetes.io/master: ""
|
@ -0,0 +1,5 @@
|
||||
#
|
||||
# Copyright (c) 2022 Wind River Systems, Inc.
|
||||
#
|
||||
# SPDX-License-Identifier: Apache-2.0
|
||||
#
|
@ -52,7 +52,7 @@ data:
|
||||
app: metrics-server
|
||||
values:
|
||||
imagePullSecrets: [{"name": "default-registry-key"}]
|
||||
args:
|
||||
args:
|
||||
- --kubelet-insecure-tls
|
||||
replicas: 1
|
||||
image:
|
||||
|
Loading…
x
Reference in New Issue
Block a user