diff --git a/charts/backstage/Chart.lock b/charts/backstage/Chart.lock
index 5aa770c1..cc4df62c 100644
--- a/charts/backstage/Chart.lock
+++ b/charts/backstage/Chart.lock
@@ -4,6 +4,6 @@ dependencies:
version: 2.40.0
- name: backstage
repository: file://./vendor/backstage/charts/backstage/
- version: 2.8.0
-digest: sha256:3a285e9b4bb569e1138a09ca0d894f1d09ec053d27901913dbed5a151c591fab
-generated: "2026-06-01T04:30:43.114289007Z"
+ version: 2.10.0
+digest: sha256:9cd4d082d86ac4e2aff208143974e75c5ac7acbe33337d0a56a32ca8c639fffa
+generated: "2026-08-24T03:20:17.732756047Z"
diff --git a/charts/backstage/Chart.yaml b/charts/backstage/Chart.yaml
index 588db207..585a17c8 100644
--- a/charts/backstage/Chart.yaml
+++ b/charts/backstage/Chart.yaml
@@ -25,7 +25,7 @@ dependencies:
version: "2.40.0"
- name: backstage
repository: "file://./vendor/backstage/charts/backstage/"
- version: "2.8.0"
+ version: "2.10.0"
alias: upstream
home: https://red.ht/rhdh
icon: data:image/svg+xml;base64,PD94bWwgdmVyc2lvbj0iMS4wIiBlbmNvZGluZz0iVVRGLTgiIHN0YW5kYWxvbmU9Im5vIj8+CjxzdmcKICAgd2lkdGg9IjE5MS44OCIKICAgaGVpZ2h0PSIxOTEuODgiCiAgIHZpZXdCb3g9IjAgMCAxOTEuODggMTkxLjg4IgogICB2ZXJzaW9uPSIxLjEiCiAgIGlkPSJzdmcyNCIKICAgeG1sbnM9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIgogICB4bWxuczpzdmc9Imh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnIj4KICA8ZGVmcwogICAgIGlkPSJkZWZzMjgiIC8+CiAgPGcKICAgICBpZD0idXVpZC03OTAxZjg3OC1jZTAwLTQ0MWYtYWMyNi1kZGQzNjU0ZDRmNzkiCiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoNS4zMywwLDAsNS4zMywtNS4zMjk5OTc2LC01LjMyOTk5NzYpIj4KICAgIDxyZWN0CiAgICAgICB4PSIxIgogICAgICAgeT0iMSIKICAgICAgIHdpZHRoPSIzNiIKICAgICAgIGhlaWdodD0iMzYiCiAgICAgICByeD0iOSIKICAgICAgIHJ5PSI5IgogICAgICAgc3Ryb2tlLXdpZHRoPSIwIgogICAgICAgaWQ9InJlY3QyIiAvPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMjgsMi4yNSBjIDQuMjczMzYsMCA3Ljc1LDMuNDc2NjQgNy43NSw3Ljc1IHYgMTggYyAwLDQuMjczMzYgLTMuNDc2NjQsNy43NSAtNy43NSw3Ljc1IEggMTAgQyA1LjcyNjY0LDM1Ljc1IDIuMjUsMzIuMjczMzYgMi4yNSwyOCBWIDEwIEMgMi4yNSw1LjcyNjY0IDUuNzI2NjQsMi4yNSAxMCwyLjI1IEggMjggTSAyOCwxIEggMTAgQyA1LjAyOTQ0LDEgMSw1LjAyOTQzIDEsMTAgdiAxOCBjIDAsNC45NzA1NyA0LjAyOTQ0LDkgOSw5IGggMTggYyA0Ljk3MDU2LDAgOSwtNC4wMjk0MyA5LC05IFYgMTAgQyAzNyw1LjAyOTQzIDMyLjk3MDU2LDEgMjgsMSBaIgogICAgICAgZmlsbD0iIzRkNGQ0ZCIKICAgICAgIHN0cm9rZS13aWR0aD0iMCIKICAgICAgIGlkPSJwYXRoNCIgLz4KICA8L2c+CiAgPGcKICAgICBpZD0idXVpZC1jM2NhNjg5MS02ZTE4LTQyY2ItODUyYi0zZGVkZDZjMzFlNjgiCiAgICAgdHJhbnNmb3JtPSJtYXRyaXgoNS4zMywwLDAsNS4zMywtNS4zMjk5OTc2LC01LjMyOTk5NzYpIj4KICAgIDxwYXRoCiAgICAgICBkPSJtIDI2LjQ0MjM4LDI1LjU1ODExIC0zLjc3Mzc0LC0zLjc3Mzc0IGMgMC41OTE0MywtMC43NzcwNCAwLjk1NjM2LC0xLjczNDggMC45NTYzNiwtMi43ODQzNiAwLC0yLjU1MDI5IC0yLjA3NTIsLTQuNjI1IC00LjYyNSwtNC42MjUgLTIuNTUwMjksMCAtNC42MjUsMi4wNzQ3MSAtNC42MjUsNC42MjUgMCwyLjU1MDI5IDIuMDc0NzEsNC42MjUgNC42MjUsNC42MjUgMS4wNDk0NCwwIDIuMDA3MjYsLTAuMzY0OTMgMi43ODQzNiwtMC45NTYzNiBsIDMuNzczMjUsMy43NzMyNSBjIDAuMTIyMDcsMC4xMjIwNyAwLjI4MjIzLDAuMTgzMTEgMC40NDIzOCwwLjE4MzExIDAuMTYwMTUsMCAwLjMyMDMxLC0wLjA2MTA0IDAuNDQyMzgsLTAuMTgzMTEgMC4yNDMxNiwtMC4yNDQxNCAwLjI0MzE2LC0wLjYzOTY1IDAsLTAuODgzNzkgeiBNIDE1LjYyNSwxOSBjIDAsLTEuODYwODQgMS41MTQxNiwtMy4zNzUgMy4zNzUsLTMuMzc1IDEuODYxMzMsMCAzLjM3NSwxLjUxNDE2IDMuMzc1LDMuMzc1IDAsMS44NjA4NCAtMS41MTM2NywzLjM3NSAtMy4zNzUsMy4zNzUgLTEuODYwODQsMCAtMy4zNzUsLTEuNTE0MTYgLTMuMzc1LC0zLjM3NSB6IgogICAgICAgZmlsbD0iI2VlMDAwMCIKICAgICAgIHN0cm9rZS13aWR0aD0iMCIKICAgICAgIGlkPSJwYXRoNyIgLz4KICAgIDxwYXRoCiAgICAgICBkPSJtIDI3LDEzLjYyNSBjIDEuNDQ3MjcsMCAyLjYyNSwtMS4xNzc3MyAyLjYyNSwtMi42MjUgMCwtMS40NDcyNyAtMS4xNzc3MywtMi42MjUgLTIuNjI1LC0yLjYyNSAtMS40NDcyNywwIC0yLjYyNSwxLjE3NzczIC0yLjYyNSwyLjYyNSAwLDAuNDk2NyAwLjE0NjYxLDAuOTU2NTQgMC4zODcyNywxLjM1MzAzIGwgLTEuMjA0NjUsMS4yMDUwOCBjIC0wLjI0NDE0LDAuMjQ0MTQgLTAuMjQzMTYsMC42Mzk2NSA5LjhlLTQsMC44ODM3OSAwLjEyMTA5LDAuMTIyMDcgMC4yODEyNSwwLjE4MzExIDAuNDQxNDEsMC4xODMxMSAwLjE2MDE2LDAgMC4zMjAzMSwtMC4wNjEwNCAwLjQ0MjM4LC0wLjE4MzExIGwgMS4yMDQxLC0xLjIwNDQ3IGMgMC4zOTY2MSwwLjI0MDkxIDAuODU2NjMsMC4zODc1NyAxLjM1MzUyLDAuMzg3NTcgeiBtIDAsLTQgYyAwLjc1NzgxLDAgMS4zNzUsMC42MTY3IDEuMzc1LDEuMzc1IDAsMC43NTgzIC0wLjYxNzE5LDEuMzc1IC0xLjM3NSwxLjM3NSAtMC4zNzgxMSwwIC0wLjcyMTA3LC0wLjE1MzY5IC0wLjk2OTk3LC0wLjQwMTczIC03LjNlLTQsLTcuM2UtNCAtOS44ZS00LC0wLjAwMTggLTAuMDAxNywtMC4wMDI2IC02LjFlLTQsLTYuMWUtNCAtMC4wMDE1LC03LjllLTQgLTAuMDAyMSwtMC4wMDE0IC0wLjI0NzYyLC0wLjI0ODc4IC0wLjQwMTE4LC0wLjU5MTM3IC0wLjQwMTE4LC0wLjk2OTMgMCwtMC43NTgzIDAuNjE3MTksLTEuMzc1IDEuMzc1LC0xLjM3NSB6IgogICAgICAgZmlsbD0iI2ZmZmZmZiIKICAgICAgIHN0cm9rZS13aWR0aD0iMCIKICAgICAgIGlkPSJwYXRoOSIgLz4KICAgIDxwYXRoCiAgICAgICBkPSJtIDE5LDguMzc1IGMgLTEuMTcxODgsMCAtMi4xMjUsMC45NTMxMiAtMi4xMjUsMi4xMjUgMCwxLjE3MTg4IDAuOTUzMTIsMi4xMjUgMi4xMjUsMi4xMjUgMS4xNzE4OCwwIDIuMTI1LC0wLjk1MzEyIDIuMTI1LC0yLjEyNSAwLC0xLjE3MTg4IC0wLjk1MzEyLC0yLjEyNSAtMi4xMjUsLTIuMTI1IHogbSAwLDMgYyAtMC40ODI0MiwwIC0wLjg3NSwtMC4zOTI1OCAtMC44NzUsLTAuODc1IDAsLTAuNDgyNDIgMC4zOTI1OCwtMC44NzUgMC44NzUsLTAuODc1IDAuNDgyNDIsMCAwLjg3NSwwLjM5MjU4IDAuODc1LDAuODc1IDAsMC40ODI0MiAtMC4zOTI1OCwwLjg3NSAtMC44NzUsMC44NzUgeiIKICAgICAgIGZpbGw9IiNmZmZmZmYiCiAgICAgICBzdHJva2Utd2lkdGg9IjAiCiAgICAgICBpZD0icGF0aDExIiAvPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMTksMjUuMzc1IGMgLTEuMTcxODgsMCAtMi4xMjUsMC45NTMxMiAtMi4xMjUsMi4xMjUgMCwxLjE3MTg4IDAuOTUzMTIsMi4xMjUgMi4xMjUsMi4xMjUgMS4xNzE4OCwwIDIuMTI1LC0wLjk1MzEyIDIuMTI1LC0yLjEyNSAwLC0xLjE3MTg4IC0wLjk1MzEyLC0yLjEyNSAtMi4xMjUsLTIuMTI1IHogbSAwLDMgYyAtMC40ODI0MiwwIC0wLjg3NSwtMC4zOTI1OCAtMC44NzUsLTAuODc1IDAsLTAuNDgyNDIgMC4zOTI1OCwtMC44NzUgMC44NzUsLTAuODc1IDAuNDgyNDIsMCAwLjg3NSwwLjM5MjU4IDAuODc1LDAuODc1IDAsMC40ODI0MiAtMC4zOTI1OCwwLjg3NSAtMC44NzUsMC44NzUgeiIKICAgICAgIGZpbGw9IiNmZmZmZmYiCiAgICAgICBzdHJva2Utd2lkdGg9IjAiCiAgICAgICBpZD0icGF0aDEzIiAvPgogICAgPHBhdGgKICAgICAgIGQ9Im0gMjcuNSwxNi44NzUgYyAtMS4xNzE4OCwwIC0yLjEyNSwwLjk1MzEyIC0yLjEyNSwyLjEyNSAwLDEuMTcxODggMC45NTMxMiwyLjEyNSAyLjEyNSwyLjEyNSAxLjE3MTg4LDAgMi4xMjUsLTAuOTUzMTIgMi4xMjUsLTIuMTI1IDAsLTEuMTcxODggLTAuOTUzMTIsLTIuMTI1IC0yLjEyNSwtMi4xMjUgeiBtIDAsMyBjIC0wLjQ4MjQyLDAgLTAuODc1LC0wLjM5MjU4IC0wLjg3NSwtMC44NzUgMCwtMC40ODI0MiAwLjM5MjU4LC0wLjg3NSAwLjg3NSwtMC44NzUgMC40ODI0MiwwIDAuODc1LDAuMzkyNTggMC44NzUsMC44NzUgMCwwLjQ4MjQyIC0wLjM5MjU4LDAuODc1IC0wLjg3NSwwLjg3NSB6IgogICAgICAgZmlsbD0iI2ZmZmZmZiIKICAgICAgIHN0cm9rZS13aWR0aD0iMCIKICAgICAgIGlkPSJwYXRoMTUiIC8+CiAgICA8cGF0aAogICAgICAgZD0ibSAxMi42MjUsMTkgYyAwLC0xLjE3MTg4IC0wLjk1MzEyLC0yLjEyNSAtMi4xMjUsLTIuMTI1IC0xLjE3MTg4LDAgLTIuMTI1LDAuOTUzMTIgLTIuMTI1LDIuMTI1IDAsMS4xNzE4OCAwLjk1MzEyLDIuMTI1IDIuMTI1LDIuMTI1IDEuMTcxODgsMCAyLjEyNSwtMC45NTMxMiAyLjEyNSwtMi4xMjUgeiBtIC0zLDAgYyAwLC0wLjQ4MjQyIDAuMzkyNTgsLTAuODc1IDAuODc1LC0wLjg3NSAwLjQ4MjQyLDAgMC44NzUsMC4zOTI1OCAwLjg3NSwwLjg3NSAwLDAuNDgyNDIgLTAuMzkyNTgsMC44NzUgLTAuODc1LDAuODc1IC0wLjQ4MjQyLDAgLTAuODc1LC0wLjM5MjU4IC0wLjg3NSwtMC44NzUgeiIKICAgICAgIGZpbGw9IiNmZmZmZmYiCiAgICAgICBzdHJva2Utd2lkdGg9IjAiCiAgICAgICBpZD0icGF0aDE3IiAvPgogICAgPHBhdGgKICAgICAgIGQ9Ik0gMTMuMjM3NDMsMTIuMzUzNjQgQyAxMy40NzgzNCwxMS45NTcwMyAxMy42MjUsMTEuNDk2ODkgMTMuNjI1LDExIDEzLjYyNSw5LjU1MjczIDEyLjQ0NzI3LDguMzc1IDExLDguMzc1IDkuNTUyNzMsOC4zNzUgOC4zNzUsOS41NTI3MyA4LjM3NSwxMSBjIDAsMS40NDcyNyAxLjE3NzczLDIuNjI1IDIuNjI1LDIuNjI1IDAuNDk2ODksMCAwLjk1NzAzLC0wLjE0NjY3IDEuMzUzNjQsLTAuMzg3NTcgbCAxLjIwNDQ3LDEuMjA0NDcgYyAwLjEyMjA3LDAuMTIyMDcgMC4yODE3NCwwLjE4MzExIDAuNDQxODksMC4xODMxMSAwLjE2MDE1LDAgMC4zMTk4MiwtMC4wNjEwNCAwLjQ0MTg5LC0wLjE4MzExIDAuMjQ0MTQsLTAuMjQ0MTQgMC4yNDQxNCwtMC42Mzk2NSAwLC0wLjg4Mzc5IEwgMTMuMjM3NDIsMTIuMzUzNjQgWiBNIDkuNjI1LDExIGMgMCwtMC43NTgzIDAuNjE2NywtMS4zNzUgMS4zNzUsLTEuMzc1IDAuNzU4MywwIDEuMzc1LDAuNjE2NyAxLjM3NSwxLjM3NSAwLDAuMzc3OTkgLTAuMTUzNSwwLjcyMDU4IC0wLjQwMTEyLDAuOTY5MzYgLTcuOWUtNCw3LjllLTQgLTAuMDAxOSwxMGUtNCAtMC4wMDI3LDAuMDAxOCAtOGUtNCw3LjllLTQgLTAuMDAxLDAuMDAxOSAtMC4wMDE4LDAuMDAyNyBDIDExLjcyMDU4LDEyLjIyMTUgMTEuMzc3OTksMTIuMzc1IDExLDEyLjM3NSAxMC4yNDE3LDEyLjM3NSA5LjYyNSwxMS43NTgzIDkuNjI1LDExIFoiCiAgICAgICBmaWxsPSIjZmZmZmZmIgogICAgICAgc3Ryb2tlLXdpZHRoPSIwIgogICAgICAgaWQ9InBhdGgxOSIgLz4KICAgIDxwYXRoCiAgICAgICBkPSJtIDEzLjU1ODExLDIzLjU1ODExIC0xLjIwNDQ3LDEuMjA0NDcgQyAxMS45NTcwMywyNC41MjE2NyAxMS40OTY4OSwyNC4zNzUwMSAxMSwyNC4zNzUwMSBjIC0xLjQ0NzI3LDAgLTIuNjI1LDEuMTc3NzMgLTIuNjI1LDIuNjI1IDAsMS40NDcyNyAxLjE3NzczLDIuNjI1IDIuNjI1LDIuNjI1IDEuNDQ3MjcsMCAyLjYyNSwtMS4xNzc3MyAyLjYyNSwtMi42MjUgMCwtMC40OTY4OSAtMC4xNDY2NywtMC45NTcwMyAtMC4zODc1NywtMS4zNTM2NCBMIDE0LjQ0MTksMjQuNDQxOSBjIDAuMjQ0MTQsLTAuMjQ0MTQgMC4yNDQxNCwtMC42Mzk2NSAwLC0wLjg4Mzc5IC0wLjI0NDE0LC0wLjI0NDE0IC0wLjYzOTY1LC0wLjI0NDE0IC0wLjg4Mzc5LDAgeiBNIDExLDI4LjM3NSBjIC0wLjc1ODMsMCAtMS4zNzUsLTAuNjE2NyAtMS4zNzUsLTEuMzc1IDAsLTAuNzU4MyAwLjYxNjcsLTEuMzc1IDEuMzc1LC0xLjM3NSAwLjM3ODg1LDAgMC43MjIyOSwwLjE1Mzk5IDAuOTcxMTksMC40MDI1OSAyLjRlLTQsMi40ZS00IDIuNGUtNCw0LjllLTQgNC45ZS00LDcuM2UtNCAyLjVlLTQsMi40ZS00IDQuOWUtNCwyLjRlLTQgNy4zZS00LDQuOWUtNCAwLjI0ODYsMC4yNDg5IDAuNDAyNTksMC41OTIzNSAwLjQwMjU5LDAuOTcxMTkgMCwwLjc1ODMgLTAuNjE2NywxLjM3NSAtMS4zNzUsMS4zNzUgeiIKICAgICAgIGZpbGw9IiNmZmZmZmYiCiAgICAgICBzdHJva2Utd2lkdGg9IjAiCiAgICAgICBpZD0icGF0aDIxIiAvPgogIDwvZz4KPC9zdmc+Cg==
diff --git a/charts/backstage/vendor/backstage/.github/workflows/automate_stale.yml b/charts/backstage/vendor/backstage/.github/workflows/automate_stale.yml
index 96190958..5d6f06f6 100644
--- a/charts/backstage/vendor/backstage/.github/workflows/automate_stale.yml
+++ b/charts/backstage/vendor/backstage/.github/workflows/automate_stale.yml
@@ -14,7 +14,7 @@ jobs:
pull-requests: write # for actions/stale to close stale PRs
runs-on: ubuntu-latest
steps:
- - uses: actions/stale@eb5cf3af3ac0a1aa4c9c45633dd1ae542a27a899 # v10.3.0
+ - uses: actions/stale@4391f3da665fdf50b6810c1a66712fb9ba21aa93 # v11.0.0
id: stale
with:
stale-issue-message: >
diff --git a/charts/backstage/vendor/backstage/.github/workflows/lint.yaml b/charts/backstage/vendor/backstage/.github/workflows/lint.yaml
index b6bb58a2..6da31359 100644
--- a/charts/backstage/vendor/backstage/.github/workflows/lint.yaml
+++ b/charts/backstage/vendor/backstage/.github/workflows/lint.yaml
@@ -14,11 +14,11 @@ jobs:
GO111MODULE: on
steps:
- name: Checkout
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # pin@v4
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # pin@v4
with:
python-version: 3.12
diff --git a/charts/backstage/vendor/backstage/.github/workflows/pre-commit.yaml b/charts/backstage/vendor/backstage/.github/workflows/pre-commit.yaml
index b8144247..04db2b6a 100644
--- a/charts/backstage/vendor/backstage/.github/workflows/pre-commit.yaml
+++ b/charts/backstage/vendor/backstage/.github/workflows/pre-commit.yaml
@@ -15,21 +15,32 @@ jobs:
GO111MODULE: on
steps:
- name: Checkout
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # pin@v4
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # pin@v4
with:
python-version: 3.12
- - uses: actions/setup-go@4b73464bb391d4059bd26b0524d20df3927bd417 # pin@v3
+ - uses: actions/setup-go@b7ad1dad31e06c5925ef5d2fc7ad053ef454303e # pin@v3
with:
go-version: ^1
- name: Setup helm-docs
run: go install github.com/norwoodj/helm-docs/cmd/helm-docs@latest
+ - name: Set up Helm
+ uses: azure/setup-helm@9bc31f4ebc9c6b171d7bfbaa5d006ae7abdb4310 # pin@v5.0.1
+ with:
+ version: v3.16.4
+
+ - name: Install helm-unittest plugin
+ run: helm plugin install https://github.com/helm-unittest/helm-unittest --version v1.0.3
+
+ - name: Build chart dependencies
+ run: helm dependency build charts/backstage
+
- name: Run pre-commit
uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # pin@v3.0.1
with:
diff --git a/charts/backstage/vendor/backstage/.github/workflows/release.yml b/charts/backstage/vendor/backstage/.github/workflows/release.yml
index 039875e7..98cb4b40 100644
--- a/charts/backstage/vendor/backstage/.github/workflows/release.yml
+++ b/charts/backstage/vendor/backstage/.github/workflows/release.yml
@@ -18,7 +18,7 @@ jobs:
steps:
- name: Checkout
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
@@ -35,7 +35,7 @@ jobs:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: Login to GitHub Container Registry
- uses: docker/login-action@650006c6eb7dba73a995cc03b0b2d7f5ca915bee #pin@v4.2.0
+ uses: docker/login-action@dbcb813823bdd20940b903addbd779551569679f #pin@v4.6.0
with:
registry: ghcr.io
username: ${{ github.actor }}
@@ -45,7 +45,7 @@ jobs:
uses: sigstore/cosign-installer@6f9f17788090df1f26f669e9d70d6ae9567deba6 #pin@v4.1.2
- name: Install Oras
- uses: oras-project/setup-oras@38de303aac69abb66f3e6255b7198bff35f323e3 # v2.0.0
+ uses: oras-project/setup-oras@1d808f7d7f6995cc68b7bf507bfe5c5446e1dc9d # v2.0.1
- name: Publish and Sign OCI Charts
run: |
diff --git a/charts/backstage/vendor/backstage/.github/workflows/spellcheck.yaml b/charts/backstage/vendor/backstage/.github/workflows/spellcheck.yaml
index d278095d..eb8f2212 100644
--- a/charts/backstage/vendor/backstage/.github/workflows/spellcheck.yaml
+++ b/charts/backstage/vendor/backstage/.github/workflows/spellcheck.yaml
@@ -9,7 +9,7 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout Code
- uses: actions/checkout@v6.0.2
+ uses: actions/checkout@v7.0.1
- name: Codespell
uses: codespell-project/actions-codespell@v2
with:
diff --git a/charts/backstage/vendor/backstage/.github/workflows/test.yml b/charts/backstage/vendor/backstage/.github/workflows/test.yml
index 0a4cba8e..065e0657 100644
--- a/charts/backstage/vendor/backstage/.github/workflows/test.yml
+++ b/charts/backstage/vendor/backstage/.github/workflows/test.yml
@@ -12,16 +12,16 @@ jobs:
runs-on: ubuntu-latest
steps:
- name: Checkout
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6
+ uses: actions/checkout@3d3c42e5aac5ba805825da76410c181273ba90b1 # v7.0.1
with:
fetch-depth: 0
- name: Set up Helm
- uses: azure/setup-helm@1a275c3b69536ee54be43f2070a358922e12c8d4 # pin@v4.3.1
+ uses: azure/setup-helm@9bc31f4ebc9c6b171d7bfbaa5d006ae7abdb4310 # pin@v5.0.1
with:
version: v3.10.0
- - uses: actions/setup-python@a309ff8b426b58ec0e2a45f0f869d46889d02405 # pin@v4
+ - uses: actions/setup-python@5fda3b95a4ea91299a34e894583c3862153e4b97 # pin@v4
with:
python-version: 3.12
diff --git a/charts/backstage/vendor/backstage/.pre-commit-config.yaml b/charts/backstage/vendor/backstage/.pre-commit-config.yaml
index 2133a137..69589ff1 100644
--- a/charts/backstage/vendor/backstage/.pre-commit-config.yaml
+++ b/charts/backstage/vendor/backstage/.pre-commit-config.yaml
@@ -19,6 +19,13 @@ repos:
language: python
types_or: [yaml, json]
+ - id: helm-unittest
+ name: helm-unittest
+ entry: helm unittest charts/backstage
+ language: system
+ files: ^charts/backstage/
+ pass_filenames: false
+
- repo: https://github.com/codespell-project/codespell
rev: v2.4.1
hooks:
diff --git a/charts/backstage/vendor/backstage/charts/backstage/.helmignore b/charts/backstage/vendor/backstage/charts/backstage/.helmignore
new file mode 100644
index 00000000..95658e13
--- /dev/null
+++ b/charts/backstage/vendor/backstage/charts/backstage/.helmignore
@@ -0,0 +1,26 @@
+# Patterns to ignore when building packages.
+# This supports shell glob matching, relative path matching, and
+# negation (prefixed with !). Only one pattern per line.
+.DS_Store
+# Common VCS dirs
+.git/
+.gitignore
+.bzr/
+.bzrignore
+.hg/
+.hgignore
+.svn/
+# Common backup files
+*.swp
+*.bak
+*.tmp
+*.orig
+*~
+# Various IDEs
+.project
+.idea/
+*.tmproj
+.vscode/
+
+# Unit tests are not shipped with the packaged chart
+tests/
diff --git a/charts/backstage/vendor/backstage/charts/backstage/Chart.yaml b/charts/backstage/vendor/backstage/charts/backstage/Chart.yaml
index 4640ed9d..4f5235bf 100644
--- a/charts/backstage/vendor/backstage/charts/backstage/Chart.yaml
+++ b/charts/backstage/vendor/backstage/charts/backstage/Chart.yaml
@@ -38,4 +38,4 @@ sources:
# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
-version: 2.8.0
+version: 2.10.0
diff --git a/charts/backstage/vendor/backstage/charts/backstage/README.md b/charts/backstage/vendor/backstage/charts/backstage/README.md
index 8aae00b2..2ec15db7 100644
--- a/charts/backstage/vendor/backstage/charts/backstage/README.md
+++ b/charts/backstage/vendor/backstage/charts/backstage/README.md
@@ -2,7 +2,7 @@
# Backstage Helm Chart
[](https://artifacthub.io/packages/search?repo=backstage)
-
+

A Helm chart for deploying a Backstage application
@@ -138,18 +138,21 @@ Kubernetes: `>= 1.19.0-0`
| backstage.image.tag | Backstage image tag (immutable tags are recommended) | string | `"latest"` |
| backstage.initContainers | Backstage container init containers | list | `[]` |
| backstage.installDir | Directory containing the backstage installation | string | `"/app"` |
+| backstage.lifecycleHooks | Lifecycle hooks for the Backstage container
Ref: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/ | object | `{}` |
| backstage.livenessProbe | Liveness Probe Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes | object | `{}` |
| backstage.revisionHistoryLimit | Define the [count of deployment revisions](https://kubernetes.io/docs/concepts/workloads/controllers/deployment/#clean-up-policy) to be kept. May be set to 0 in case of GitOps deployment approach. | int | `10` |
| backstage.startupProbe | Startup Probe Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes | object | `{}` |
+| backstage.terminationGracePeriodSeconds | Duration in seconds the pod needs to terminate gracefully before being force killed
Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination | string | `nil` |
| backstage.tolerations | Node tolerations for server scheduling to nodes with taints
Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ | list | `[]` |
| backstage.topologySpreadConstraints | Topology Spread Constraints for pod assignment
Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#pod-topology-spread-constraints | list | `[]` |
| clusterDomain | Default Kubernetes cluster domain | string | `"cluster.local"` |
diff --git a/charts/backstage/vendor/backstage/charts/backstage/ci/lifecycle-values.yaml b/charts/backstage/vendor/backstage/charts/backstage/ci/lifecycle-values.yaml
new file mode 100644
index 00000000..278b1d1b
--- /dev/null
+++ b/charts/backstage/vendor/backstage/charts/backstage/ci/lifecycle-values.yaml
@@ -0,0 +1,6 @@
+backstage:
+ lifecycleHooks:
+ preStop:
+ exec:
+ command: ["/bin/sh", "-c", "sleep 10"]
+ terminationGracePeriodSeconds: 60
diff --git a/charts/backstage/vendor/backstage/charts/backstage/ci/priorityClassName-values.yaml b/charts/backstage/vendor/backstage/charts/backstage/ci/priorityClassName-values.yaml
new file mode 100644
index 00000000..36036e99
--- /dev/null
+++ b/charts/backstage/vendor/backstage/charts/backstage/ci/priorityClassName-values.yaml
@@ -0,0 +1,11 @@
+backstage:
+ priorityClassName: backstage-chart-test
+
+extraDeploy:
+ - apiVersion: scheduling.k8s.io/v1
+ kind: PriorityClass
+ metadata:
+ name: backstage-chart-test
+ value: 1000
+ globalDefault: false
+ description: Priority class used to test the Backstage chart
diff --git a/charts/backstage/vendor/backstage/charts/backstage/tests/configmap_test.yaml b/charts/backstage/vendor/backstage/charts/backstage/tests/configmap_test.yaml
new file mode 100644
index 00000000..a1ad4563
--- /dev/null
+++ b/charts/backstage/vendor/backstage/charts/backstage/tests/configmap_test.yaml
@@ -0,0 +1,46 @@
+# Pins the behaviour of the app-config ConfigMap: it must only exist when the
+# user supplies backstage.appConfig, and when it does the rendered config has to
+# land verbatim under the app-config.yaml data key (this is what the deployment
+# mounts and passes to --config).
+suite: app-config configmap
+templates:
+ - app-config-configmap.yaml
+release:
+ name: backstage
+ namespace: backstage-system
+tests:
+ - it: does not render when backstage.appConfig is empty
+ asserts:
+ - hasDocuments:
+ count: 0
+
+ - it: renders a single ConfigMap when backstage.appConfig is set
+ values:
+ - ../ci/appConfig-values.yaml
+ asserts:
+ - hasDocuments:
+ count: 1
+ - isKind:
+ of: ConfigMap
+ - equal:
+ path: metadata.name
+ value: backstage-app-config
+ - equal:
+ path: metadata.namespace
+ value: backstage-system
+
+ - it: embeds the supplied config under the app-config.yaml key
+ values:
+ - ../ci/appConfig-values.yaml
+ asserts:
+ - isNotEmpty:
+ path: data["app-config.yaml"]
+ - matchRegex:
+ path: data["app-config.yaml"]
+ pattern: "title: The very best Backstage Helm Chart"
+ - matchRegex:
+ path: data["app-config.yaml"]
+ pattern: "baseUrl: https://somedomain.tl"
+ - matchRegex:
+ path: data["app-config.yaml"]
+ pattern: "port: 12345"
diff --git a/charts/backstage/vendor/backstage/charts/backstage/tests/deployment_test.yaml b/charts/backstage/vendor/backstage/charts/backstage/tests/deployment_test.yaml
new file mode 100644
index 00000000..51251e14
--- /dev/null
+++ b/charts/backstage/vendor/backstage/charts/backstage/tests/deployment_test.yaml
@@ -0,0 +1,52 @@
+# Pins the optional pod settings: each is omitted by default and, when set, maps to the
+# Backstage pod specification or container.
+suite: backstage deployment
+templates:
+ - backstage-deployment.yaml
+release:
+ name: backstage
+ namespace: backstage-system
+tests:
+ - it: omits the priority class name by default
+ asserts:
+ - notExists:
+ path: spec.template.spec.priorityClassName
+
+ - it: configures the priority class name when set
+ values:
+ - ../ci/priorityClassName-values.yaml
+ asserts:
+ - equal:
+ path: spec.template.spec.priorityClassName
+ value: backstage-chart-test
+
+ - it: renders neither lifecycle hooks nor a termination grace period by default
+ asserts:
+ - notExists:
+ path: spec.template.spec.terminationGracePeriodSeconds
+ - notExists:
+ path: spec.template.spec.containers[0].lifecycle
+
+ - it: renders the preStop hook on the backstage container
+ values:
+ - ../ci/lifecycle-values.yaml
+ asserts:
+ - equal:
+ path: spec.template.spec.containers[0].lifecycle.preStop.exec.command
+ value: ["/bin/sh", "-c", "sleep 10"]
+
+ - it: renders the termination grace period on the pod spec
+ values:
+ - ../ci/lifecycle-values.yaml
+ asserts:
+ - equal:
+ path: spec.template.spec.terminationGracePeriodSeconds
+ value: 60
+
+ - it: renders a termination grace period of zero
+ set:
+ backstage.terminationGracePeriodSeconds: 0
+ asserts:
+ - equal:
+ path: spec.template.spec.terminationGracePeriodSeconds
+ value: 0
diff --git a/charts/backstage/vendor/backstage/charts/backstage/tests/servicemonitor_test.yaml b/charts/backstage/vendor/backstage/charts/backstage/tests/servicemonitor_test.yaml
new file mode 100644
index 00000000..fee8d967
--- /dev/null
+++ b/charts/backstage/vendor/backstage/charts/backstage/tests/servicemonitor_test.yaml
@@ -0,0 +1,76 @@
+# Pins the ServiceMonitor behaviour: off by default, and when enabled it has to
+# render as a valid Prometheus Operator resource whose selector matches the
+# backstage Service and whose endpoint points at the configured port/path.
+suite: servicemonitor
+templates:
+ - servicemonitor.yaml
+release:
+ name: backstage
+ namespace: backstage-system
+tests:
+ - it: does not render when metrics.serviceMonitor is disabled
+ asserts:
+ - hasDocuments:
+ count: 0
+
+ - it: renders a ServiceMonitor when enabled
+ values:
+ - ../ci/service-monitor.yaml
+ asserts:
+ - hasDocuments:
+ count: 1
+ - isKind:
+ of: ServiceMonitor
+ - equal:
+ path: apiVersion
+ value: monitoring.coreos.com/v1
+ - equal:
+ path: metadata.name
+ value: backstage
+
+ - it: targets the configured endpoint port and path
+ values:
+ - ../ci/service-monitor.yaml
+ asserts:
+ - equal:
+ path: spec.endpoints[0].port
+ value: http-backend
+ - equal:
+ path: spec.endpoints[0].path
+ value: /metrics
+ - notExists:
+ path: spec.endpoints[0].interval
+
+ - it: selects the backstage component within the release namespace
+ values:
+ - ../ci/service-monitor.yaml
+ asserts:
+ - equal:
+ path: spec.selector.matchLabels["app.kubernetes.io/component"]
+ value: backstage
+ - equal:
+ path: spec.namespaceSelector.matchNames[0]
+ value: backstage-system
+
+ - it: carries the standard component label plus user-supplied labels and annotations
+ values:
+ - ../ci/service-monitor.yaml
+ asserts:
+ - equal:
+ path: metadata.labels["app.kubernetes.io/component"]
+ value: backstage
+ - equal:
+ path: metadata.labels.test
+ value: test
+ - equal:
+ path: metadata.annotations.test
+ value: test
+
+ - it: emits the scrape interval only when configured
+ set:
+ metrics.serviceMonitor.enabled: true
+ metrics.serviceMonitor.interval: 30s
+ asserts:
+ - equal:
+ path: spec.endpoints[0].interval
+ value: 30s
diff --git a/charts/backstage/vendor/backstage/charts/backstage/values.schema.json b/charts/backstage/vendor/backstage/charts/backstage/values.schema.json
index 9f7c66d3..b2394819 100644
--- a/charts/backstage/vendor/backstage/charts/backstage/values.schema.json
+++ b/charts/backstage/vendor/backstage/charts/backstage/values.schema.json
@@ -5399,6 +5399,238 @@
"title": "Directory containing the backstage installation",
"type": "string"
},
+ "lifecycleHooks": {
+ "description": "Lifecycle describes actions that the management system should take in response to container lifecycle events. For the PostStart and PreStop lifecycle handlers, management of the container blocks until the action is complete, unless the container process fails, in which case the handler is aborted.",
+ "properties": {
+ "postStart": {
+ "description": "LifecycleHandler defines a specific action that should be taken in a lifecycle hook. One and only one of the fields, except TCPSocket must be specified.",
+ "properties": {
+ "exec": {
+ "description": "ExecAction describes a \"run in container\" action.",
+ "properties": {
+ "command": {
+ "description": "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
+ }
+ },
+ "type": "object"
+ },
+ "httpGet": {
+ "description": "HTTPGetAction describes an action based on HTTP Get requests.",
+ "properties": {
+ "host": {
+ "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.",
+ "type": "string"
+ },
+ "httpHeaders": {
+ "description": "Custom headers to set in the request. HTTP allows repeated headers.",
+ "items": {
+ "description": "HTTPHeader describes a custom header to be used in HTTP probes",
+ "properties": {
+ "name": {
+ "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The header field value",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "type": "object"
+ },
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
+ },
+ "path": {
+ "description": "Path to access on the HTTP server.",
+ "type": "string"
+ },
+ "port": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "scheme": {
+ "description": "Scheme to use for connecting to the host. Defaults to HTTP.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "port"
+ ],
+ "type": "object"
+ },
+ "sleep": {
+ "description": "SleepAction describes a \"sleep\" action.",
+ "properties": {
+ "seconds": {
+ "description": "Seconds is the number of seconds to sleep.",
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "seconds"
+ ],
+ "type": "object"
+ },
+ "tcpSocket": {
+ "description": "TCPSocketAction describes an action based on opening a socket",
+ "properties": {
+ "host": {
+ "description": "Optional: Host name to connect to, defaults to the pod IP.",
+ "type": "string"
+ },
+ "port": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ }
+ },
+ "required": [
+ "port"
+ ],
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "preStop": {
+ "description": "LifecycleHandler defines a specific action that should be taken in a lifecycle hook. One and only one of the fields, except TCPSocket must be specified.",
+ "properties": {
+ "exec": {
+ "description": "ExecAction describes a \"run in container\" action.",
+ "properties": {
+ "command": {
+ "description": "Command is the command line to execute inside the container, the working directory for the command is root ('/') in the container's filesystem. The command is simply exec'd, it is not run inside a shell, so traditional shell instructions ('|', etc) won't work. To use a shell, you need to explicitly call out to that shell. Exit status of 0 is treated as live/healthy and non-zero is unhealthy.",
+ "items": {
+ "type": "string"
+ },
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
+ }
+ },
+ "type": "object"
+ },
+ "httpGet": {
+ "description": "HTTPGetAction describes an action based on HTTP Get requests.",
+ "properties": {
+ "host": {
+ "description": "Host name to connect to, defaults to the pod IP. You probably want to set \"Host\" in httpHeaders instead.",
+ "type": "string"
+ },
+ "httpHeaders": {
+ "description": "Custom headers to set in the request. HTTP allows repeated headers.",
+ "items": {
+ "description": "HTTPHeader describes a custom header to be used in HTTP probes",
+ "properties": {
+ "name": {
+ "description": "The header field name. This will be canonicalized upon output, so case-variant names will be understood as the same header.",
+ "type": "string"
+ },
+ "value": {
+ "description": "The header field value",
+ "type": "string"
+ }
+ },
+ "required": [
+ "name",
+ "value"
+ ],
+ "type": "object"
+ },
+ "type": "array",
+ "x-kubernetes-list-type": "atomic"
+ },
+ "path": {
+ "description": "Path to access on the HTTP server.",
+ "type": "string"
+ },
+ "port": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ },
+ "scheme": {
+ "description": "Scheme to use for connecting to the host. Defaults to HTTP.",
+ "type": "string"
+ }
+ },
+ "required": [
+ "port"
+ ],
+ "type": "object"
+ },
+ "sleep": {
+ "description": "SleepAction describes a \"sleep\" action.",
+ "properties": {
+ "seconds": {
+ "description": "Seconds is the number of seconds to sleep.",
+ "format": "int64",
+ "type": "integer"
+ }
+ },
+ "required": [
+ "seconds"
+ ],
+ "type": "object"
+ },
+ "tcpSocket": {
+ "description": "TCPSocketAction describes an action based on opening a socket",
+ "properties": {
+ "host": {
+ "description": "Optional: Host name to connect to, defaults to the pod IP.",
+ "type": "string"
+ },
+ "port": {
+ "oneOf": [
+ {
+ "type": "string"
+ },
+ {
+ "type": "integer"
+ }
+ ]
+ }
+ },
+ "required": [
+ "port"
+ ],
+ "type": "object"
+ }
+ },
+ "type": "object"
+ },
+ "stopSignal": {
+ "description": "StopSignal defines which signal will be sent to a container when it is being stopped. If not specified, the default is defined by the container runtime in use. StopSignal can only be set for Pods with a non-empty .spec.os.name",
+ "type": "string"
+ }
+ },
+ "type": "object"
+ },
"livenessProbe": {
"description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.",
"properties": {
@@ -5750,6 +5982,12 @@
},
"type": "object"
},
+ "priorityClassName": {
+ "default": "",
+ "description": "Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/",
+ "title": "Priority class name for pod scheduling",
+ "type": "string"
+ },
"readinessProbe": {
"description": "Probe describes a health check to be performed against a container to determine whether it is alive or ready to receive traffic.",
"properties": {
@@ -6129,6 +6367,19 @@
"title": "Deployment update strategy",
"type": "object"
},
+ "terminationGracePeriodSeconds": {
+ "default": null,
+ "description": "Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination",
+ "examples": [
+ 60
+ ],
+ "minimum": 0,
+ "title": "Duration in seconds the pod needs to terminate gracefully before being force killed",
+ "type": [
+ "integer",
+ "null"
+ ]
+ },
"tolerations": {
"default": [],
"description": "Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/",
diff --git a/charts/backstage/vendor/backstage/charts/backstage/values.schema.tmpl.json b/charts/backstage/vendor/backstage/charts/backstage/values.schema.tmpl.json
index 640926ae..d4c33845 100644
--- a/charts/backstage/vendor/backstage/charts/backstage/values.schema.tmpl.json
+++ b/charts/backstage/vendor/backstage/charts/backstage/values.schema.tmpl.json
@@ -850,12 +850,37 @@
}
]
},
+ "lifecycleHooks": {
+ "title": "Lifecycle hooks for the Backstage container",
+ "description": "Ref: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/",
+ "$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.33.4/_definitions.json#/definitions/io.k8s.api.core.v1.Lifecycle",
+ "default": {},
+ "examples": [
+ {
+ "preStop": {
+ "exec": {
+ "command": [
+ "/bin/sh",
+ "-c",
+ "sleep 10"
+ ]
+ }
+ }
+ }
+ ]
+ },
"podSecurityContext": {
"title": "Security settings for a Pod.",
"description": "The security settings that you specify for a Pod apply to all Containers in the Pod. Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod",
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/v1.33.4/_definitions.json#/definitions/io.k8s.api.core.v1.SecurityContext",
"default": {}
},
+ "priorityClassName": {
+ "title": "Priority class name for pod scheduling",
+ "description": "Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/",
+ "type": "string",
+ "default": ""
+ },
"containerSecurityContext": {
"title": "Security settings for a Container.",
"description": "Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container",
@@ -904,6 +929,19 @@
},
"default": []
},
+ "terminationGracePeriodSeconds": {
+ "title": "Duration in seconds the pod needs to terminate gracefully before being force killed",
+ "description": "Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination",
+ "type": [
+ "integer",
+ "null"
+ ],
+ "minimum": 0,
+ "default": null,
+ "examples": [
+ 60
+ ]
+ },
"podAnnotations": {
"title": "Annotations to add to the backend deployment pods",
"type": "object",
diff --git a/charts/backstage/vendor/backstage/charts/backstage/values.yaml b/charts/backstage/vendor/backstage/charts/backstage/values.yaml
index aac1f230..b2698c3b 100644
--- a/charts/backstage/vendor/backstage/charts/backstage/values.yaml
+++ b/charts/backstage/vendor/backstage/charts/backstage/values.yaml
@@ -294,11 +294,24 @@ backstage:
port: 7007
scheme: HTTP
+ # -- Lifecycle hooks for the Backstage container
+ #
Ref: https://kubernetes.io/docs/concepts/containers/container-lifecycle-hooks/
+ #
+ lifecycleHooks: {}
+
# -- Security settings for a Pod.
# The security settings that you specify for a Pod apply to all Containers in the Pod.
#
Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod
podSecurityContext: {}
+ # -- Priority class name for pod scheduling
+ #
Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/pod-priority-preemption/
+ priorityClassName: ""
+
# -- Security settings for a Container.
#
Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container
containerSecurityContext: {}
@@ -337,6 +350,12 @@ backstage:
#
Ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
hostAliases: []
+ # -- Duration in seconds the pod needs to terminate gracefully before being force killed
+ #
Ref: https://kubernetes.io/docs/concepts/workloads/pods/pod-lifecycle/#pod-termination
+ #
+ terminationGracePeriodSeconds: null
+
# -- Annotations to add to the backend deployment pods
podAnnotations: {}