metrics-server-armada-app/readme.md
dbarbosa 2649b4bf74 Add label platform/application to pods
Add support to 'app.starlingx.io/component' to be overwritten
by user override, with possible values being 'platform' and
'application'. With 'platform' being the default value. This
change will also restart the pods if the label changes.

Test Plan:
PASS: build-pkgs -c -p  metrics-server-helm/stx-metrics-server-helm
PASS: upload/apply/remove/delete/update metrics-server.
PASS: Install metrics-server and check if pods have the label
'app.starlingx.io/component' with the value 'platform'.
PASS: Change the value of the isApplicationLabel to true using
"system helm-override-update" and check, if after re-applying
the app, the label 'app.starlingx.component' changes to
application' in the pods.
PASS: Use 'system application-apply metrics-server' when there is
a change to be applied to 'app.starlingx.component' and verify if the
pod is restarted.
PASS: If "isApplicationLabel" is updated with a value other than
true or false, the label on the pods "app.starlingx.io/component"
will not change.

Story: 2010612
Task: 49098

Change-Id: I9c732fface93ba426b1a1f0421aefaf8a7a10f0a
Signed-off-by: David Barbosa Bastos <david.barbosabastos@windriver.com>
2023-12-13 23:41:44 +00:00

3.2 KiB

Metrics Server Armada App

This Armada App is responsible to deliver the metrics server inside the ISO.

Metrics Server is a scalable, efficient source of container resource metrics for Kubernetes built-in autoscaling pipelines.

Structure

metrics-server-armada-app
├── debian_build_layer.cfg
├── debian_iso_image.inc
├── debian_pkg_dirs
├── debian_stable_docker_images.inc
├── metrics-server-helm
│   ├── debian
│   │   ├── deb_folder
│   │   │   ├── changelog
│   │   │   ├── control
│   │   │   ├── copyright
│   │   │   ├── metrics-server-helm.install
│   │   │   └── rules
│   │   └── meta_data.yaml
│   └── files
│       ├── 0001-Add-sample-app-to-metrics-server.patch
|       ├── 0002-Add-label-platform-application-to-pods.patch
│       └── Makefile
├── readme.md
├── requirements.txt
├── sample-app
│   ├── debian
│   │   └── sample-app.stable_docker_image
│   ├── docker
│   │   ├── Dockerfile.debian
│   │   └── src
│   │       ├── package.json
│   │       └── sample-application.js
│   └── readme.md
├── stx-metrics-server-helm
│   ├── debian
│   │   ├── deb_folder
│   │   │   ├── changelog
│   │   │   ├── control
│   │   │   ├── copyright
│   │   │   ├── rules
│   │   │   ├── source
│   │   │   │   └── format
│   │   │   └── stx-metrics-server-helm.install
│   │   └── meta_data.yaml
│   └── stx-metrics-server-helm
│       ├── files
│       │   ├── Makefile
│       │   └── metadata.yaml
│       ├── fluxcd-manifests
│       │   ├── base
│       │   │   ├── helmrepository.yaml
│       │   │   ├── kustomization.yaml
│       │   │   └── namespace.yaml
│       │   ├── kustomization.yaml
│       │   └── metrics-server
│       │       ├── helmrelease.yaml
│       │       ├── kustomization.yaml
│       │       ├── metrics-server-static-overrides.yaml
│       │       └── metrics-server-system-overrides.yaml
│       └── helm-charts
│           └── Makefile
├── test-requirements.txt
└── tox.ini

Important files

  • metrics-server_manifest.yaml - Armada Manifest
  • helm-charts - Metrics Server helm charts
  • stx-metrics-server-helm.spec - Steps to generate
  • sample-app - Sample app application

Install

  • Navigate to the path /usr/local/share/applications/helm/
  • The metrics-server-1.0-1.tgz will be present
  • Run system application-upload metrics-server-1.0-1.tgz
  • Run system application-list to see if it was uploaded
  • Run system helm-override-update --reuse-values --set sampleApp.create=true metrics-server metrics-server metrics-server If you want to deploy the sample app
  • Run system application-apply metrics-server
  • Run system application-list to see if it was applied
  • Run kubectl get pods -l app=metrics-server -n metrics-server to see the pod running