Metrics Service Development and Maintenance Guide📜
To Upgrade the Metrics Server Package📜
NOTE: Metrics Server Renovate updates differ from most other BigBang Renovate updates because Metrics Server uses a wrapper chart, rather than a fork of the upstream chart.
- Navigate to the upstream chart repo and folder and find the appropriate tag that corresponds with the latest chart version for this update. The tag should follow this format: 
metrics-server-helm-chart-x.x.x. - 
Review the upstream release-notes for important changes and upgrade notices.
 - 
git clonethe Metrics Server repository from Repo1 and checkout therenovate/ironbankbranch. - 
Modify the chart version in
./chart/Chart.yamland append-bb.0(if missing or incorrect) to the chart version from upstream. - 
Ensure the BB
./chart/Chart.yamland the target upstream versionChart.yamlalign correctly with the following: - Check 
appVersionandbigbang.dev/applicationVersionsin./chart/Chart.yamlto make sure they match and have updated to the correct version - Check the upstream chart 
dependenciesand compare the dependency versions against the corresponding image tags in./chart/values.yamlto make sure they match 
NOTICE: The upgrade issue may be blocked under one or more of the following conditions: - You are trying to upgrade to a new image or image tag that does not yet exist in Ironbank. - To remediate; Ensure that an Ironbank issue exists that is tracking this upgrade or request. Link the Ironbank issue to your upgrade issue for tracking purposes. - You are trying to upgrade to a newer image tag in Ironbank, but is not yet supported or tested by upstream. - To remediate; Consider opening your own MR to upgrade upstream if the maintainers have not done so in a timely manner.
- Update the image tags in BB 
./chart/values.yamlto match the target upstream version with their Ironbank equivalent for the following: - 
upstream.image.tag - 
Update the
./chart/Chart.yamlannotationshelm.sh/imagesto match the updated tags from previous step. - 
Update dependencies and binaries using
helm dependency update ./chart. - 
If needed, log into registry1.
# Note, if you are using Ubuntu on WSL and get an error about storing credentials or about how `The name org.freedesktop.secrets was not # provided by any .service files` when you run the command below, install the libsecret-1-dev and gnome-keyring packages. After doing this, # you'll be prompted to set a keyring password the first time you run this command. # helm registry login https://registry1.dso.mil -u ${registry1.username} - 
Pull assets and commit the binaries as well as the Chart.lock file that was generated.
# Note: You may need to resolve merge conflicts in chart/values.yaml before these commands work. Refer to the "Modifications made to upstream" # section below for hints on how to resolve them. Also, you need to be logged in to registry1 thorough docker. helm dependency update ./chartThen log out.
helm registry logout https://registry1.dso.mil - 
Update
./CHANGELOG.mdadding an entry for the new version and noting all changes in a list (at minimum should include- Updated <chart or dependency> to x.x.x). - 
Generate the
./README.mdupdates by following the guide in gluon. - 
Commit and push up your changes, add upgrade notices to the MR if applicable, validate that CI passes.
 - If there are any failures, follow the information in the pipeline to make the necessary updates.
 - Add the 
debuglabel to the MR for more detailed information. - 
Reach out to the CODEOWNERS if needed.
 - 
As part of your MR that modifies bigbang packages, you should modify the bigbang bigbang/tests/test-values.yaml against your branch for the CI/CD MR testing by enabling your packages.
 - To do this, at a minimum, you will need to follow the instructions at bigbang/docs/developer/test-package-against-bb.md with changes for Metrics Server enabled (the below is a reference, actual changes could be more depending on what changes where made to Metrics Server in the package MR).
 
test-values.yaml📜
```yaml
metricsServer:
  enabled: true
  git:
    tag: null
    branch: <my-package-branch-that-needs-testing>
  values:
    istio:
      hardened:
        enabled: true
  ### Additional compononents of Metrics Server should be changed to reflect testing changes introduced in the package MR
```
- Perform the steps below for manual testing
 
Modifications made to upstream📜
Section not applicable as Metrics Server was implemented as a wrapper chart, changes to ./chart/values.yaml should not be lost when upgrading.
Manual Testing📜
NOTE: For these testing steps it is good to do them on both a clean install and an upgrade. For clean install, point
metrics-serverto your branch. For an upgrade do an install withmetrics-serverpointing to the latest tag, then perform a helm upgrade withmetrics-serverpointing to your branch.
- Deployment of Big Bang with Istio, Monitoring, Network Policies, Authorization Policies, and metrics server enabled will allow the use of 
kubectl top nodesandkubectl top pods -Ato report utilization. 
overrides/metrics-server.yaml
addons:
  metricsServer:
    enabled: true
    sourceType: "git"
    git:
      tag: null
      branch: "renovate/ironbank"
When in doubt with any testing or upgrade steps, reach out to the CODEOWNERS for assistance.