Compare commits

...

84 Commits

Author SHA1 Message Date
Armel Soro c1b06c96dd
feat: Support autoscaling via HPA (#268)
* feat: expose autoscaling configuration using the HPA resource

Signed-off-by: Armel Soro <asoro@redhat.com>

* Set the Deployment replicas only if autoscaling is not enabled

When autoscaling is enabled, the HPA controller controls the number of replicas [1]

[1] https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/\#migrating-deployments-and-statefulsets-to-horizontal-autoscaling

Signed-off-by: Armel Soro <asoro@redhat.com>

* Add CI values file with autoscaling enabled

Signed-off-by: Armel Soro <asoro@redhat.com>

* Bump chart version

This is a backward-compatible change

Signed-off-by: Armel Soro <asoro@redhat.com>

* Update values schema

Signed-off-by: Armel Soro <asoro@redhat.com>

* Update README

Signed-off-by: Armel Soro <asoro@redhat.com>

---------

Signed-off-by: Armel Soro <asoro@redhat.com>
2025-07-09 21:16:13 +01:00
dependabot[bot] 3b72b98b16
chore(deps): bump sigstore/cosign-installer from 3.8.2 to 3.9.1 (#267)
* chore(deps): bump sigstore/cosign-installer from 3.8.2 to 3.9.1

Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.8.2 to 3.9.1.
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](3454372f43...398d4b0eee)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-version: 3.9.1
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>

* fix: schema references

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* bumps chart version to 2.5.3

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>
2025-06-23 17:54:27 +01:00
dependabot[bot] 45ba9bd1de
chore(deps): bump actions/setup-go from 5.4.0 to 5.5.0 (#265) 2025-05-24 06:18:15 +01:00
dependabot[bot] a8c862044a
chore(deps): bump actions/setup-python from 5.5.0 to 5.6.0 (#263)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.5.0 to 5.6.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](8d9ed9ac5c...a26af69be9)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-version: 5.6.0
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-10 15:05:28 +01:00
dependabot[bot] 6dcd9bb905
chore(deps): bump sigstore/cosign-installer from 3.8.1 to 3.8.2 (#262)
Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.8.1 to 3.8.2.
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](d7d6bc7722...3454372f43)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-version: 3.8.2
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-05-10 15:05:06 +01:00
dependabot[bot] dd66752014
chore(deps): bump oras-project/setup-oras from 1.2.2 to 1.2.3 (#264)
* chore(deps): bump oras-project/setup-oras from 1.2.2 to 1.2.3

Bumps [oras-project/setup-oras](https://github.com/oras-project/setup-oras) from 1.2.2 to 1.2.3.
- [Release notes](https://github.com/oras-project/setup-oras/releases)
- [Commits](5c0b487ce3...8d34698a59)

---
updated-dependencies:
- dependency-name: oras-project/setup-oras
  dependency-version: 1.2.3
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>

* adds schema

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* bumps chart

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

---------

Signed-off-by: dependabot[bot] <support@github.com>
Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
Co-authored-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>
2025-05-10 15:00:20 +01:00
Chris Burns ebba2e3094
feat: adds codespell action to ensure correct spelling (#259)
* feat: adds codespell action to ensure correct spelling

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* bumps chart version

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* merge conflicts

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* adds codespell action

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* bumps chart

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

---------

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>
Signed-off-by: Chris Burns <29541485+ChrisJBurns@users.noreply.github.com>
2025-04-14 15:56:44 +02:00
Ilan Zerath 63ec4eb19e
feat: Add PDB (#248)
Signed-off-by: Ilan Zerath <contact@fuegobyp.business>
Co-authored-by: Ilan Zerath <contact@fuegobyp.business>
2025-04-10 17:18:00 +01:00
dependabot[bot] da59cbc874
chore(deps): bump actions/setup-python from 5.4.0 to 5.5.0 (#260)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.4.0 to 5.5.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](42375524e2...8d9ed9ac5c)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-31 18:12:30 +01:00
Chris Burns cb7f0d4955
fix: serviceMonitor port is a string not integer (#258) 2025-03-31 01:08:44 +01:00
dependabot[bot] 9bbdaf000b
chore(deps): bump actions/setup-go from 5.3.0 to 5.4.0 (#257)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5.3.0 to 5.4.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](f111f3307d...0aaccfd150)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-29 14:05:48 +00:00
dependabot[bot] c06522e9c5
chore(deps): bump docker/login-action from 3.3.0 to 3.4.0 (#256)
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](9780b0c442...74a5d14239)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-03-17 17:44:46 +00:00
dependabot[bot] c34f95a3ec
chore(deps): bump azure/setup-helm from 4.2.0 to 4.3.0 (#253) 2025-02-26 11:46:04 +00:00
dependabot[bot] 56dcd7b10c
chore(deps): bump sigstore/cosign-installer from 3.8.0 to 3.8.1 (#254) 2025-02-24 17:57:03 +00:00
Armel Soro 2df03a970e
feat: Allow configuring the Service IP Family policy to make it dual-stack (#252)
* feat: Allow configuring the Service IP Family policy to make it dual-stack

Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services
Signed-off-by: Armel Soro <asoro@redhat.com>

* Bump the Chart version

Signed-off-by: Armel Soro <asoro@redhat.com>

* Update values schema

Signed-off-by: Armel Soro <asoro@redhat.com>

* Add test values file for CI

Signed-off-by: Armel Soro <asoro@redhat.com>

* Run pre-commit hooks

Signed-off-by: Armel Soro <asoro@redhat.com>

---------

Signed-off-by: Armel Soro <asoro@redhat.com>
2025-02-23 14:35:03 +00:00
dependabot[bot] 174eb0ea08
chore(deps): bump sigstore/cosign-installer from 3.7.0 to 3.8.0 (#251)
Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.7.0 to 3.8.0.
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](dc72c7d5c4...c56c2d3e59)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-02-10 18:37:38 +00:00
Vincenzo Scamporlino 672bf55dd3
Bump python version (#249)
* Bump python version

Apparently 3.7 isn't available anymore in the running image which is causing some CI issues

Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>

* Update test.yml

Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>

* Update test.yml

Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>

* fix: updates json schemas

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* chore: bump bugfix chart version

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

---------

Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>
Co-authored-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>
2025-02-08 20:34:58 +00:00
dependabot[bot] 165d184f37
chore(deps): bump actions/setup-python from 5.3.0 to 5.4.0 (#247) 2025-02-04 09:59:03 +00:00
dependabot[bot] 593e6d312e
chore(deps): bump actions/stale from 9.0.0 to 9.1.0 (#246) 2025-02-03 06:47:02 +00:00
dependabot[bot] 65f39ba05c
chore(deps): bump oras-project/setup-oras from 1.2.1 to 1.2.2 (#245) 2025-02-02 00:12:33 +00:00
dependabot[bot] cb8ddd1c15
chore(deps): bump actions/setup-go from 5.2.0 to 5.3.0 (#244) 2025-02-01 13:26:08 +00:00
dependabot[bot] 14b574f9b8
chore(deps): bump helm/chart-releaser-action from 1.6.0 to 1.7.0 (#243)
Bumps [helm/chart-releaser-action](https://github.com/helm/chart-releaser-action) from 1.6.0 to 1.7.0.
- [Release notes](https://github.com/helm/chart-releaser-action/releases)
- [Commits](a917fd15b2...cae68fefc6)

---
updated-dependencies:
- dependency-name: helm/chart-releaser-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-20 15:19:10 +00:00
dependabot[bot] 805abd937f
chore(deps): bump helm/chart-testing-action from 2.6.1 to 2.7.0 (#242)
Bumps [helm/chart-testing-action](https://github.com/helm/chart-testing-action) from 2.6.1 to 2.7.0.
- [Release notes](https://github.com/helm/chart-testing-action/releases)
- [Commits](e6669bcd63...0d28d3144d)

---
updated-dependencies:
- dependency-name: helm/chart-testing-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2025-01-20 15:18:41 +00:00
dependabot[bot] 1a215fc9dc
chore(deps): bump helm/kind-action from 1.11.0 to 1.12.0 (#240)
Bumps [helm/kind-action](https://github.com/helm/kind-action) from 1.11.0 to 1.12.0.
- [Release notes](https://github.com/helm/kind-action/releases)
- [Commits](ae94020eaf...a1b0e39133)

---
updated-dependencies:
- dependency-name: helm/kind-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-28 15:25:48 +00:00
dependabot[bot] f035007788
chore(deps): bump helm/kind-action from 1.10.0 to 1.11.0 (#238)
Bumps [helm/kind-action](https://github.com/helm/kind-action) from 1.10.0 to 1.11.0.
- [Release notes](https://github.com/helm/kind-action/releases)
- [Commits](0025e74a8c...ae94020eaf)

---
updated-dependencies:
- dependency-name: helm/kind-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-17 22:30:09 +01:00
dependabot[bot] 0972ad802e
chore(deps): bump actions/setup-go from 5.1.0 to 5.2.0 (#239)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5.1.0 to 5.2.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](41dfa10bad...3041bf56c9)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-12-17 22:29:45 +01:00
RedlineTriad df1d5e8e63
feat: allow extra ports to be added to the backend service (#237)
This is useful when prometheus metrics are exposed on a different port.
This resolves #236.

Signed-off-by: RedlineTriad <39059512+RedlineTriad@users.noreply.github.com>
2024-12-10 17:24:34 +01:00
Corey Daley 51294434ea
fix: Updates to jsonschema dereference script (#235)
- Fix linting errors when opening files without selecting an encoding
 - Search for values.schema.tmpl.json instead of Chart.lock files
 - Rename 'schema' variables to prevent shadowing or redefining
 - Add Module docstring
 - Add comments explaining what is being done
 - Rename file to follow Python module naming convention of snake_case
 - Rename some variables to correctly represent what they are doing, schema_template instead of chart, etc.
 - Update pre-commit to point to new jsonschema_dereference script name

Signed-off-by: Corey Daley <cdaley@redhat.com>
2024-11-25 16:14:42 +00:00
Corey Daley b0e982d951
Add support for hostAliases (#234)
* Add support for hostAliases

Signed-off-by: Joel Damata <damatj@pointclickcare.com>

* bump chart version and run pre-commit

Signed-off-by: Corey Daley <cdaley@redhat.com>

---------

Signed-off-by: Joel Damata <damatj@pointclickcare.com>
Signed-off-by: Corey Daley <cdaley@redhat.com>
Co-authored-by: Joel Damata <damatj@pointclickcare.com>
2024-11-13 19:34:50 +00:00
Corey Daley 560f425eb7
Update derived charts list and link (#233)
Signed-off-by: Corey Daley <cdaley@redhat.com>
2024-11-10 20:25:21 +00:00
Philipp Eckel 3c11e5bf74
Allow to customize the metrics port of the ServiceMonitor (#228)
fixes backstage/charts#221

Signed-off-by: Philipp Eckel <philipp.eckel@intive.com>
2024-10-31 15:58:33 +01:00
dependabot[bot] 963ffa5b00
chore(deps): bump actions/setup-go from 5.0.2 to 5.1.0 (#229)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5.0.2 to 5.1.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](0a12ed9d6a...41dfa10bad)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-30 21:35:21 +01:00
dependabot[bot] 04027ec1e5
chore(deps): bump actions/checkout from 4.2.1 to 4.2.2 (#230)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.1 to 4.2.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](eef61447b9...11bd71901b)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-30 21:35:06 +01:00
dependabot[bot] cacc587fa0
chore(deps): bump actions/setup-python from 5.2.0 to 5.3.0 (#231)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.2.0 to 5.3.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](f677139bbe...0b93645e9f)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-30 21:34:48 +01:00
Nikolai Røed Kristiansen d77bf20a9a
fix!: Use builtin probe endpoints (#216)
* fix!: Use builtin probe endpoints

These are `/.backstage/health/v1/readiness` and `/.backstage/health/v1/liveness` and were added in v1.29

Ref: https://backstage.io/docs/releases/v1.29.0#backend-health-service

Signed-off-by: Nikolai Røed Kristiansen <nikolai.kristiansen@remarkable.no>

* chore(ci): Fix test failures in v1.31

Techdocs needs to be configured in app config.
Point our image-digest test to the v1.31.0 sha

Signed-off-by: Nikolai Røed Kristiansen <nikolai.kristiansen@remarkable.no>

---------

Signed-off-by: Nikolai Røed Kristiansen <nikolai.kristiansen@remarkable.no>
2024-10-22 14:59:05 +02:00
dependabot[bot] d8e2ab88cc
chore(deps): bump oras-project/setup-oras from 1.2.0 to 1.2.1 (#227)
Bumps [oras-project/setup-oras](https://github.com/oras-project/setup-oras) from 1.2.0 to 1.2.1.
- [Release notes](https://github.com/oras-project/setup-oras/releases)
- [Commits](ca28077386...9c92598691)

---
updated-dependencies:
- dependency-name: oras-project/setup-oras
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-21 23:41:39 +02:00
David Roberts e7efd3e447
Add option to set Topology Spread Constraints, rather than just Affinity (#217)
* add option to set Topology Spread Constraints, rather than just Affinity

Signed-off-by: David Roberts <David.Roberts@orbis.com>

* add lint values for topologySpreadConstraints

Signed-off-by: David Roberts <David.Roberts@orbis.com>

* bump chart version

Signed-off-by: David Roberts <David.Roberts@orbis.com>

* remove the zone constraint, since the test environment is more limited

Signed-off-by: David Roberts <David.Roberts@orbis.com>

---------

Signed-off-by: David Roberts <David.Roberts@orbis.com>
2024-10-18 15:21:14 +02:00
dependabot[bot] 9ffb2b1045
chore(deps): bump actions/checkout from 4.2.0 to 4.2.1 (#226)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.2.0 to 4.2.1.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](d632683dd7...eef61447b9)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-14 17:17:02 +02:00
Patrik Oldsberg 978e586ef7
README: notice sections for important information (#225)
Just suggesting that we highlight things that I think are commonly missed

Signed-off-by: Patrik Oldsberg <poldsberg@gmail.com>
2024-10-11 15:48:23 +02:00
Marcus Söderberg b2e1d7dad3
feat: add support for multiple hosts and tls configurations in ingress (#218)
* feat: add support for multiple hosts and tls configurations in ingress

Signed-off-by: Marcus Söderberg <msoderb@gmail.com>

* chore(test): add ingress CI tests

Signed-off-by: Marcus Söderberg <msoderb@gmail.com>

---------

Signed-off-by: Marcus Söderberg <msoderb@gmail.com>
2024-10-10 14:34:31 +02:00
dependabot[bot] 9385bf3a19
chore(deps): bump sigstore/cosign-installer from 3.6.0 to 3.7.0 (#224)
Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.6.0 to 3.7.0.
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](4959ce089c...dc72c7d5c4)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-10 14:32:13 +02:00
dependabot[bot] 112e1f743d
chore(deps): bump actions/checkout from 4.1.7 to 4.2.0 (#222)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.7 to 4.2.0.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](692973e3d9...d632683dd7)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-10-01 11:55:07 +02:00
dependabot[bot] c0b0a9b21d
chore(deps): bump actions/setup-python from 5.1.1 to 5.2.0 (#219)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.1.1 to 5.2.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](39cd14951b...f677139bbe)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-09-05 20:57:08 +01:00
jack 0aa17f4fd6
feat(backstage): option to pass in image by digest (#208)
* feat(backstage): option to pass in image by digest

Signed-off-by: 1602077 <62025739+1602077@users.noreply.github.com>

* test: add ci test for digest

Signed-off-by: 1602077 <62025739+1602077@users.noreply.github.com>

* chore: rerun precommit hook

Signed-off-by: 1602077 <62025739+1602077@users.noreply.github.com>

---------

Signed-off-by: 1602077 <62025739+1602077@users.noreply.github.com>
2024-08-22 16:26:35 +01:00
dependabot[bot] 9d0c0627b5
chore(deps): bump sigstore/cosign-installer from 3.5.0 to 3.6.0 (#215)
Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.5.0 to 3.6.0.
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](59acb6260d...4959ce089c)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-08-12 20:03:37 +01:00
dependabot[bot] 88240ce7a0
chore(deps): bump docker/login-action from 3.2.0 to 3.3.0 (#210)
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](0d4c9c5ea7...9780b0c442)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-27 15:39:43 +01:00
dependabot[bot] e1a709207c
chore(deps): bump actions/setup-python from 5.1.0 to 5.1.1 (#205)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.1.0 to 5.1.1.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](82c7e631bb...39cd14951b)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-16 21:08:10 +01:00
dependabot[bot] d8fe7d03ca
chore(deps): bump actions/setup-go from 5.0.1 to 5.0.2 (#206)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5.0.1 to 5.0.2.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](cdcb360436...0a12ed9d6a)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-07-16 21:07:53 +01:00
dependabot[bot] d16ce968d8
chore(deps): bump actions/checkout from 4.1.6 to 4.1.7 (#202)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.6 to 4.1.7.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](a5ac7e51b4...692973e3d9)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-24 20:55:51 +02:00
dependabot[bot] 864c683f5f
chore(deps): bump oras-project/setup-oras from 1.1.0 to 1.2.0 (#200)
Bumps [oras-project/setup-oras](https://github.com/oras-project/setup-oras) from 1.1.0 to 1.2.0.
- [Release notes](https://github.com/oras-project/setup-oras/releases)
- [Commits](ee7dbe1144...ca28077386)

---
updated-dependencies:
- dependency-name: oras-project/setup-oras
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-11 14:49:08 +01:00
Jason Díaz G b77ce14166
feat(ingress): add path as property configurable (#196)
* feat(ingress): add path as property configurable

Signed-off-by: Jason Diaz G. <jasondiazg@gmail.com>
Signed-off-by: Jason Diaz <jasondiazg@gmail.com>

* fix(docs): Add the correct expected ingress default value in README.md file

Signed-off-by: Jason Diaz <jasondiazg@gmail.com>

* chore(chart-version): Bump chart version to 1.9.5

Signed-off-by: Jason Diaz <jasondiazg@gmail.com>

* fix(schema): Change ingress path examples in chart schema

Signed-off-by: Jason Diaz <jasondiazg@gmail.com>

* chore(chart-version): Bump chart version to 1.9.5 in README.md

---------

Signed-off-by: Jason Diaz G. <jasondiazg@gmail.com>
Signed-off-by: Jason Diaz <jasondiazg@gmail.com>
Co-authored-by: Jason Diaz G <jason.rene.diaz.gonzalez@ericsson.com>
2024-06-04 15:48:30 -05:00
dependabot[bot] ddaaa45fa1
chore(deps): bump docker/login-action from 3.1.0 to 3.2.0 (#198)
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.1.0 to 3.2.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](e92390c5fb...0d4c9c5ea7)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-06-04 08:52:46 +02:00
Chris Burns d0314410f4
fix: move dependencies to OCI registry (#192)
* fix: migrates to bitnami oci registry

OCI is the Bitnami recommended registry to use as described in
https://blog.bitnami.com/2023/04/httpsblog.bitnami.com202304bitnami-helm-charts-now-oci.html.

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* Removes remaining Chart references for Bitnami

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* JSON Schema updates

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

---------

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>
2024-05-30 20:17:07 +02:00
Chris Burns bcf7046104
chore(docs): contributing docs (#189)
Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>
2024-05-22 14:29:52 +02:00
dependabot[bot] 5cc3fc62b0
chore(deps): bump actions/checkout from 4.1.5 to 4.1.6 (#197)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.5 to 4.1.6.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](44c2b7a8a4...a5ac7e51b4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-22 14:06:01 +02:00
Chris Burns 62c2605e13
chore(test) adds postgres CI tests (#193)
* chore(test) adds basic postgres test

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* bumps version

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* renames file for pickup during test

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* adds ci password for postgres

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* update schema

Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>

---------

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
Co-authored-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2024-05-22 14:05:44 +02:00
dependabot[bot] 21e6b5fa4a
chore(deps): bump actions/checkout from 4.1.4 to 4.1.5 (#194)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.4 to 4.1.5.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](0ad4b8fada...44c2b7a8a4)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-13 18:40:15 +01:00
Nick Boldt 0bf76cc58d
fix: add namespace to configmap = .Release.Namespace; bump chart version to 1.9.3; update/regen docs (#178)
Signed-off-by: Nick Boldt <nboldt@redhat.com>
2024-05-09 21:52:00 +02:00
Chris Burns 68d8aec463
fix(test): adds auth test key as auth is mandatory (#187)
* fix(test): adds auth test key as auth is mandatory

Authentication has been enabled by default in newer versions of
Backstage. This adds a dummy secret so tests can continue as normal

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* updates schema json

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* bump version

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* Adds a more representative secret

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* moves comment

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* whitespace :(

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* adds test auth key

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* adds missing node

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* adds app baseurl

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* adds base url

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>

* ci: add missing techdocs config

Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>

* chore: upgrade schema

Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>

* Apply suggestions from code review

Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>

---------

Signed-off-by: ChrisJBurns <29541485+ChrisJBurns@users.noreply.github.com>
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
Co-authored-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2024-05-09 21:45:16 +02:00
dependabot[bot] 9343f0d312
chore(deps): bump actions/setup-go from 5.0.0 to 5.0.1 (#188)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 5.0.0 to 5.0.1.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](0c52d547c9...cdcb360436)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-06 21:48:37 +02:00
dependabot[bot] 259c020ffd
chore(deps): bump actions/checkout from 4.1.2 to 4.1.4 (#184)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.2 to 4.1.4.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](9bb56186c3...0ad4b8fada)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-04 14:03:08 +01:00
dependabot[bot] e7cd943334
chore(deps): bump azure/setup-helm from 4.1.0 to 4.2.0 (#183)
Bumps [azure/setup-helm](https://github.com/azure/setup-helm) from 4.1.0 to 4.2.0.
- [Release notes](https://github.com/azure/setup-helm/releases)
- [Changelog](https://github.com/Azure/setup-helm/blob/main/CHANGELOG.md)
- [Commits](b7246b12e7...fe7b79cd5e)

---
updated-dependencies:
- dependency-name: azure/setup-helm
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-04 14:02:31 +01:00
dependabot[bot] 63d747303f
chore(deps): bump helm/kind-action from 1.9.0 to 1.10.0 (#182)
Bumps [helm/kind-action](https://github.com/helm/kind-action) from 1.9.0 to 1.10.0.
- [Release notes](https://github.com/helm/kind-action/releases)
- [Commits](99576bfa6d...0025e74a8c)

---
updated-dependencies:
- dependency-name: helm/kind-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-05-04 14:01:43 +01:00
dependabot[bot] 45c7cc6a9a
chore(deps): bump azure/setup-helm from 3.5 to 4 (#175)
Bumps [azure/setup-helm](https://github.com/azure/setup-helm) from 3.5 to 4.
- [Release notes](https://github.com/azure/setup-helm/releases)
- [Changelog](https://github.com/Azure/setup-helm/blob/main/CHANGELOG.md)
- [Commits](5119fcb908...b7246b12e7)

---
updated-dependencies:
- dependency-name: azure/setup-helm
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-23 14:49:27 +02:00
dependabot[bot] dbdef5923a
chore(deps): bump sigstore/cosign-installer from 3.4.0 to 3.5.0 (#174)
Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.4.0 to 3.5.0.
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](e1523de757...59acb6260d)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-18 14:57:46 +01:00
dependabot[bot] 659962de79
chore(deps): bump actions/setup-python from 5.0.0 to 5.1.0 (#172)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 5.0.0 to 5.1.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](0a5c615913...82c7e631bb)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-04-01 20:09:18 +02:00
dependabot[bot] f270900ea2
chore(deps): bump actions/checkout from 4.1.1 to 4.1.2 (#170)
Bumps [actions/checkout](https://github.com/actions/checkout) from 4.1.1 to 4.1.2.
- [Release notes](https://github.com/actions/checkout/releases)
- [Changelog](https://github.com/actions/checkout/blob/main/CHANGELOG.md)
- [Commits](b4ffde65f4...9bb56186c3)

---
updated-dependencies:
- dependency-name: actions/checkout
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-19 23:55:10 +01:00
dependabot[bot] 77d3ea2e8b
chore(deps): bump docker/login-action from 3.0.0 to 3.1.0 (#171)
Bumps [docker/login-action](https://github.com/docker/login-action) from 3.0.0 to 3.1.0.
- [Release notes](https://github.com/docker/login-action/releases)
- [Commits](343f7c4344...e92390c5fb)

---
updated-dependencies:
- dependency-name: docker/login-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-03-19 23:54:45 +01:00
Nick Boldt fd3a453edd
chore: update chart readme to recommend newer versions of Helm (not 3.2) (#161)
* chore: update chart readme to recommend newer versions of Helm (not 3.2) - RHIDP-976

Signed-off-by: Nick Boldt <nboldt@redhat.com>

* Apply suggestions from code review

Co-authored-by: Nick Boldt <nboldt@redhat.com>
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>

* fix: update values.yaml schema

Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>

---------

Signed-off-by: Nick Boldt <nboldt@redhat.com>
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
Co-authored-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2024-03-08 15:00:08 +01:00
Vincenzo Scamporlino b1544f660d
add stale workflow (#168)
Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2024-02-28 22:36:09 +01:00
Andreas Stenius 5473e3fde6
fix: render ingress host also when using tls. (#167)
* fix: render ingress host also when using tls.

Signed-off-by: Andreas Stenius <andreas.stenius@svenskaspel.se>

* Fix README

Signed-off-by: Andreas Stenius <andreas.stenius@svenskaspel.se>

---------

Signed-off-by: Andreas Stenius <andreas.stenius@svenskaspel.se>
2024-02-23 23:49:46 +01:00
smcavallo 36f7e34d7d
feat: add support for pod affinity (#162)
* feat: add support for pod affinity
Signed-off-by: smcavallo <smcavallo@hotmail.com>

* update affinity schema
Signed-off-by: smcavallo <smcavallo@hotmail.com>

* docs: fix pod affinity readme

Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>

* bump minor version

Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>

---------

Signed-off-by: Vincenzo Scamporlino <vincenzos@spotify.com>
Co-authored-by: Vincenzo Scamporlino <vincenzos@spotify.com>
2024-02-21 23:14:29 +01:00
smcavallo 92af33b2ed
fix: latest schema gen (#164)
Signed-off-by: smcavallo <smcavallo@hotmail.com>
2024-02-21 22:39:38 +01:00
dependabot[bot] 5d429b09e7
chore(deps): bump helm/kind-action from 1.8.0 to 1.9.0 (#165)
Bumps [helm/kind-action](https://github.com/helm/kind-action) from 1.8.0 to 1.9.0.
- [Release notes](https://github.com/helm/kind-action/releases)
- [Commits](dda0770415...99576bfa6d)

---
updated-dependencies:
- dependency-name: helm/kind-action
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-12 23:26:59 +00:00
dependabot[bot] d6a4ad5bae
chore(deps): bump pre-commit/action from 3.0.0 to 3.0.1 (#166)
Bumps [pre-commit/action](https://github.com/pre-commit/action) from 3.0.0 to 3.0.1.
- [Release notes](https://github.com/pre-commit/action/releases)
- [Commits](646c83fcd0...2c7b3805fd)

---
updated-dependencies:
- dependency-name: pre-commit/action
  dependency-type: direct:production
  update-type: version-update:semver-patch
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-12 23:26:06 +00:00
dependabot[bot] ed9da7489d
chore(deps): bump sigstore/cosign-installer from 3.3.0 to 3.4.0 (#163)
Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.3.0 to 3.4.0.
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](9614fae9e5...e1523de757)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2024-02-10 14:39:03 +00:00
Tom Coufal e122dc571b
fix: remove unused backstage.debug flag (#159)
Signed-off-by: Tomas Coufal <tcoufal@redhat.com>
2024-01-09 14:54:00 +01:00
dependabot[bot] 644d4351ab
chore(deps): bump sigstore/cosign-installer from 3.2.0 to 3.3.0 (#158)
Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.2.0 to 3.3.0.
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](1fc5bd396d...9614fae9e5)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-12 10:06:07 +01:00
dependabot[bot] 56d73be15c
chore(deps): bump actions/setup-go from 4.1.0 to 5.0.0 (#157)
Bumps [actions/setup-go](https://github.com/actions/setup-go) from 4.1.0 to 5.0.0.
- [Release notes](https://github.com/actions/setup-go/releases)
- [Commits](93397bea11...0c52d547c9)

---
updated-dependencies:
- dependency-name: actions/setup-go
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-12 10:05:51 +01:00
dependabot[bot] 51e33cd1c6
chore(deps): bump actions/setup-python from 4.7.1 to 5.0.0 (#156)
Bumps [actions/setup-python](https://github.com/actions/setup-python) from 4.7.1 to 5.0.0.
- [Release notes](https://github.com/actions/setup-python/releases)
- [Commits](65d7f2d534...0a5c615913)

---
updated-dependencies:
- dependency-name: actions/setup-python
  dependency-type: direct:production
  update-type: version-update:semver-major
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-12-12 10:05:36 +01:00
Tom Coufal 1b41758add
fix: honor .global.postgresql.auth values (#154)
Signed-off-by: Tomas Coufal <tcoufal@redhat.com>
2023-12-01 16:43:51 +01:00
Tom Coufal 58edf6ee95
feat: allow for ingress.host templating (#153)
Signed-off-by: Tomas Coufal <tcoufal@redhat.com>
2023-11-24 15:51:35 +01:00
anessi e0d7fb2705
Add support for external configmaps using backstage.extraEnvVarsCM (#152)
Signed-off-by: anessi <anessi@users.noreply.github.com>
Co-authored-by: anessi <anessi@users.noreply.github.com>
2023-11-24 10:35:58 +01:00
dependabot[bot] 2dab094a5b
chore(deps): bump sigstore/cosign-installer from 3.1.2 to 3.2.0 (#151)
Bumps [sigstore/cosign-installer](https://github.com/sigstore/cosign-installer) from 3.1.2 to 3.2.0.
- [Release notes](https://github.com/sigstore/cosign-installer/releases)
- [Commits](11086d2504...1fc5bd396d)

---
updated-dependencies:
- dependency-name: sigstore/cosign-installer
  dependency-type: direct:production
  update-type: version-update:semver-minor
...

Signed-off-by: dependabot[bot] <support@github.com>
Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
2023-11-16 10:14:19 +01:00
37 changed files with 2197 additions and 257 deletions

2
.codespellrc Normal file
View File

@ -0,0 +1,2 @@
[codespell]
ignore-words-list = NotIn,notin

37
.github/workflows/automate_stale.yml vendored Normal file
View File

@ -0,0 +1,37 @@
name: Automate staleness
on:
workflow_dispatch:
schedule:
- cron: "0 6 * * *"
permissions:
contents: read
jobs:
stale:
permissions:
issues: write # for actions/stale to close stale issues
pull-requests: write # for actions/stale to close stale PRs
runs-on: ubuntu-latest
steps:
- uses: actions/stale@5bef64f19d7facfb25b37b414482c7164d639639 # v9.1.0
id: stale
with:
stale-issue-message: >
This issue has been automatically marked as stale because it has not had
recent activity. It will be closed if no further activity occurs. Thank you
for your contributions.
days-before-issue-stale: 60
days-before-issue-close: 7
exempt-issue-labels: after-vacations,will-fix
stale-issue-label: stale
stale-pr-message: >
This PR has been automatically marked as stale because it has not had
recent activity from the author. It will be closed if no further activity occurs.
If the PR was closed and you want it re-opened, let us know
and we'll re-open the PR so that you can continue the contribution!
days-before-pr-stale: 7
days-before-pr-close: 5
exempt-pr-labels: after-vacations,will-fix
stale-pr-label: stale
operations-per-run: 100

27
.github/workflows/lint.yaml vendored Normal file
View File

@ -0,0 +1,27 @@
name: Lint Charts
on:
pull_request:
jobs:
lint:
runs-on: ubuntu-latest
env:
GO111MODULE: on
steps:
- name: Checkout
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # pin@v3
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # pin@v4
with:
python-version: 3.12
- uses: actions/setup-go@d35c59abb061a4a6fb18e82ac0862c26744d6ab5 # pin@v3
with:
go-version: ^1
- name: Setup helm-docs
run: go install github.com/norwoodj/helm-docs/cmd/helm-docs@latest
- name: Run pre-commit
uses: pre-commit/action@2c7b3805fd2a0fd8c1884dcaebf91fc102a13ecd # pin@v3.0.1

View File

@ -18,7 +18,7 @@ jobs:
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v3
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # pin@v3
with:
fetch-depth: 0
@ -27,29 +27,25 @@ jobs:
git config user.name "$GITHUB_ACTOR"
git config user.email "$GITHUB_ACTOR@users.noreply.github.com"
- name: Add dependencies
run: |
helm repo add bitnami https://charts.bitnami.com/bitnami
- name: Run chart-releaser
uses: helm/chart-releaser-action@a917fd15b20e8b64b94d9158ad54cd6345335584 # pin@v1.6.0
uses: helm/chart-releaser-action@cae68fefc6b5f367a0275617c9f83181ba54714f # pin@v1.7.0
with:
config: cr.yaml
env:
CR_TOKEN: "${{ secrets.GITHUB_TOKEN }}"
- name: Login to GitHub Container Registry
uses: docker/login-action@343f7c4344506bcbf9b4de18042ae17996df046d #pin@v3.0.0
uses: docker/login-action@74a5d142397b4f367a81961eba4e8cd7edddf772 #pin@v3.4.0
with:
registry: ghcr.io
username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }}
- name: Install Cosign
uses: sigstore/cosign-installer@11086d25041f77fe8fe7b9ea4e48e3b9192b8f19 #pin@v3.1.2
uses: sigstore/cosign-installer@398d4b0eeef1380460a10c8013a76f728fb906ac #pin@v3.9.1
- name: Install Oras
uses: oras-project/setup-oras@ee7dbe1144cb00080a89497f937dae78f85fce29 # v1.1.0
uses: oras-project/setup-oras@8d34698a59f5ffe24821f0b48ab62a3de8b64b20 # v1.2.3
- name: Publish and Sign OCI Charts
run: |

18
.github/workflows/spellcheck.yaml vendored Normal file
View File

@ -0,0 +1,18 @@
name: Codespell
on:
pull_request:
jobs:
codespell:
name: Codespell
runs-on: ubuntu-latest
steps:
- name: Checkout Code
uses: actions/checkout@v4
- name: Codespell
uses: codespell-project/actions-codespell@v2
with:
skip: .git
check_filenames: true
check_hidden: true

View File

@ -1,64 +1,39 @@
name: Lint Charts
name: Test Charts
on:
pull_request:
paths:
- "charts/**"
jobs:
check-readme:
runs-on: ubuntu-latest
env:
GO111MODULE: on
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v3
- uses: actions/setup-python@65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 # pin@v4
with:
python-version: 3.7
- uses: actions/setup-go@93397bea11091df50f3d7e59dc26a7711a8bcfbe # pin@v3
with:
go-version: ^1
- name: Setup helm-docs
run: go install github.com/norwoodj/helm-docs/cmd/helm-docs@latest
- name: Run pre-commit
uses: pre-commit/action@646c83fcd040023954eafda54b4db0192ce70507 # pin@v3.0.0
test:
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@b4ffde65f46336ab88eb53be808477a3936bae11 # pin@v3
uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # pin@v3
with:
fetch-depth: 0
- name: Set up Helm
uses: azure/setup-helm@5119fcb9089d432beecbf79bb2c7915207344b78 # pin@v3.5
uses: azure/setup-helm@b9e51907a09c216f16ebe8536097933489208112 # pin@v4.3.0
with:
version: v3.10.0
- uses: actions/setup-python@65d7f2d534ac1bc67fcd62888c5f4f3d2cb2b236 # pin@v4
- uses: actions/setup-python@a26af69be951a213d495a4c3e4e4022e16d87065 # pin@v4
with:
python-version: 3.7
python-version: 3.12
- name: Set up chart-testing
uses: helm/chart-testing-action@e6669bcd63d7cb57cb4380c33043eebe5d111992 # pin@v2.3.0
uses: helm/chart-testing-action@0d28d3144d3a25ea2cc349d6e59901c4ff469b3b # pin@v2.3.0
- name: "Add NGINX Ingress and Bitnami Repository"
run: |
helm repo add ingress-nginx "https://kubernetes.github.io/ingress-nginx"
helm repo add bitnami "https://charts.bitnami.com/bitnami"
helm repo update
- name: Run chart-testing (lint)
run: ct lint --config ct.yaml
- name: Create KIND Cluster
uses: helm/kind-action@dda0770415bac9fc20092cacbc54aa298604d140 # pin@v1.8.0
uses: helm/kind-action@a1b0e391336a6ee6713a0583f8c6240d70863de3 # pin@v1.12.0
- name: Install Ingress Controller
run: "helm install ingress-nginx/ingress-nginx --generate-name --set controller.service.type='NodePort' --set controller.admissionWebhooks.enabled=false"

View File

@ -14,7 +14,12 @@ repos:
hooks:
- id: jsonschema-dereference
name: jsonschema-dereference
entry: python .pre-commit/jsonschema-dereference.py
entry: python .pre-commit/jsonschema_dereference.py
additional_dependencies: [jsonref]
language: python
types_or: [yaml, json]
- repo: https://github.com/codespell-project/codespell
rev: v2.4.1
hooks:
- id: codespell

View File

@ -1,34 +0,0 @@
import json
from typing import List, Dict, Any
from pathlib import Path
import jsonref
JSONSCHEMA_TEMPLATE_NAME = "values.schema.tmpl.json"
JSONSCHEMA_NAME = "values.schema.json"
CHART_LOCK = "Chart.lock"
def load_template_schema(chart_dir: Path) -> Dict[str, Any]:
"""Load values.schema.tmpl.json and template it via Jinja2."""
with open(chart_dir / JSONSCHEMA_TEMPLATE_NAME, "r") as f:
return json.loads(f.read())
def save(chart_dir: Path, schema: Any):
"""Take schema containing $refs and dereference them."""
with open(chart_dir / JSONSCHEMA_NAME, "w") as f:
json.dump(schema, f, indent=4, sort_keys=True)
if __name__ == '__main__':
charts = [p.parent for p in Path(".").rglob(CHART_LOCK)]
errors: List[BaseException] = []
for chart in charts:
try:
schema_template = load_template_schema(chart)
schema = jsonref.replace_refs(schema_template)
save(chart, schema)
except BaseException as e:
print(f"Could not process schema for '{chart}': {e}")
errors.append(e)
if errors:
exit(1)

View File

@ -0,0 +1,54 @@
"""
This Python module:
- Searches for JSON Schema templates with the name values.schema.tmpl.json
- Dereferences any $refs contained in those files
- Outputs the new Schema to a values.schema.json file in the same directory
"""
import sys
import json
from typing import List, Dict, Any
from pathlib import Path
# External library dependency
# Install with 'pip install jsonref'
import jsonref
# File to write the dereferenced JSON Schema to
JSONSCHEMA_NAME = "values.schema.json"
# File that contains the JSON Schema that needs dereferencing
JSONSCHEMA_TEMPLATE_NAME = "values.schema.tmpl.json"
def load_template_schema(schema_dir: Path) -> Dict[str, Any]:
"""Load the schema template values.schema.tmpl.json"""
with open(schema_dir / JSONSCHEMA_TEMPLATE_NAME, "r", encoding="utf-8") as f:
return json.loads(f.read())
def save(schema_dir: Path, schema_data: Any):
"""Save the dereferenced schema to values.schema.json"""
with open(schema_dir / JSONSCHEMA_NAME, "w", encoding="utf-8") as f:
json.dump(schema_data, f, indent=4, sort_keys=True)
if __name__ == '__main__':
# Search for all values.schema.tmpl.json files
schema_templates = [p.parent for p in Path(".").rglob(JSONSCHEMA_TEMPLATE_NAME)]
# Create a list to hold any exceptions
errors: List[BaseException] = []
# Iterate over the List of found schema templates
for schema_template in schema_templates:
try:
# Load the schema into a variable as JSON
st = load_template_schema(schema_template)
# Dereference all of the $refs
s = jsonref.replace_refs(st)
# Save the dereferenced JSON
save(schema_template, s)
except BaseException as e:
# Print any errors to the screen
print(f"Could not process schema for '{schema_template}': {e}")
# Append any exceptions to the errors List
errors.append(e)
if errors:
# Exit with status 1 if any exceptions were thrown
sys.exit(1)

8
CONTRIBUTING.md Normal file
View File

@ -0,0 +1,8 @@
# Contributing to Backstage Charts
Before making a contribution to the [Backstage Helm Chart](https://github.com/backstage/charts) you will need to ensure the following steps have been done:
- [Sign your commits](https://docs.github.com/en/authentication/managing-commit-signature-verification/signing-commits)
- Run `helm template` on the changes you're making to ensure they are correctly rendered into Kubernetes manifests.
- Lint tests has been run for the Chart using the [Chart Testing](https://github.com/helm/chart-testing) tool and the `ct lint` command.
- Ensure variables are documented in `values.yaml` and the [pre-commit](https://pre-commit.com/) hook has been run with `pre-commit run --all-files` to generate the `README.md` documentation. To preview the content, use `helm-docs --dry-run`.
- If you are making changes to the Chart - remember to bump the Chart version following [SemVer](https://semver.org/). You will need to change the [Chart Version](https://github.com/backstage/charts/blob/main/charts/backstage/Chart.yaml#L41) and the [Chart Badge](https://github.com/backstage/charts/blob/main/charts/backstage/README.md?plain=1#L5) on the README.

View File

@ -4,19 +4,23 @@
Backstage unifies all your infrastructure tooling, services, and documentation to create a streamlined development environment from end to end.
> Disclaimer: This Helm chart deploys a pre-packaged container image which contains a vanilla Backstage instance for demo purposes. This image is probably not suitable for use in production. For further customization of the Backstage instance (plugin installation, UI changes, etc.) please create your own custom instance and container image. For details please consult the [Backstage documentation](https://backstage.io/docs)
> [!CAUTION]
> This Helm chart deploys a pre-packaged container image which contains a vanilla Backstage instance for demo purposes. This image is probably not suitable for use in production. For further customization of the Backstage instance (plugin installation, UI changes, etc.) please create your own custom instance and container image. For details please consult the [Backstage documentation](https://backstage.io/docs)
## Scope
This chart focuses on providing users the same experience and functionality no matter what flavor of Kubernetes they use. This chart will support only patterns that are either customary for all Kubernetes flavors, are commonly used in the Bitnami charts ecosystem, and recognized as Backstage official patterns.
We welcome other, more specialized, charts to use this cannonical chart as a direct dependency, expanding the feature set further, beyond this scope.
We welcome other, more specialized, charts to use this canonical chart as a direct dependency, expanding the feature set further, beyond this scope.
A list of derived charts:
- OpenShift specialized chart: [Janus Backstage Helm chart](https://github.com/janus-idp/helm-backstage/tree/main/charts/backstage)
- OpenShift specialized chart: [Red Hat Developer Hub Helm chart](https://github.com/redhat-developer/rhdh-chart/tree/main/charts/backstage)
## Usage
> [!NOTE]
> Documentation for the Backstage chart can be found [here](charts/backstage)
Charts are available in the following formats:
* [Chart Repository](https://helm.sh/docs/topics/chart_repository/)
@ -27,7 +31,6 @@ Charts are available in the following formats:
The following command can be used to add the chart repository:
```console
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add backstage https://backstage.github.io/charts
```

View File

@ -1,9 +1,9 @@
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
repository: oci://registry-1.docker.io/bitnamicharts
version: 2.10.0
- name: postgresql
repository: https://charts.bitnami.com/bitnami
repository: oci://registry-1.docker.io/bitnamicharts
version: 12.10.0
digest: sha256:e50e9681e108218aed1e8acaf4877290278a857a785dcd0cd28b92a73f2e8b05
generated: "2023-09-05T14:49:26.276046+02:00"
digest: sha256:77630aa988cef5e3a9f64a9fc3427345f451534e973dbece805850be587cb59e
generated: "2024-05-11T14:39:32.274594+01:00"

View File

@ -12,14 +12,14 @@ apiVersion: v2
description: A Helm chart for deploying a Backstage application
dependencies:
- name: common
repository: https://charts.bitnami.com/bitnami
repository: oci://registry-1.docker.io/bitnamicharts
tags:
- bitnami-common
version: 2.x.x
version: 2.10.0
- condition: postgresql.enabled
name: postgresql
repository: https://charts.bitnami.com/bitnami
version: 12.x.x
repository: oci://registry-1.docker.io/bitnamicharts
version: 12.10.0
home: https://backstage.io
icon: https://raw.githubusercontent.com/cncf/artwork/master/projects/backstage/icon/color/backstage-icon-color.svg
keywords:
@ -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: 1.6.1
version: 2.6.0

View File

@ -2,7 +2,7 @@
# Backstage Helm Chart
[![Artifact Hub](https://img.shields.io/endpoint?url=https://artifacthub.io/badge/repository/backstage)](https://artifacthub.io/packages/search?repo=backstage)
![Version: 1.6.1](https://img.shields.io/badge/Version-1.6.1-informational?style=flat-square)
![Version: 2.6.0](https://img.shields.io/badge/Version-2.6.0-informational?style=flat-square)
![Type: application](https://img.shields.io/badge/Type-application-informational?style=flat-square)
A Helm chart for deploying a Backstage application
@ -31,7 +31,6 @@ Backstage unifies all your infrastructure tooling, services, and documentation t
## TL;DR
```console
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add backstage https://backstage.github.io/charts
helm install my-release backstage/backstage
@ -43,8 +42,8 @@ This chart bootstraps a [Backstage](https://backstage.io/docs/deployment/docker)
## Prerequisites
- Kubernetes 1.19+
- Helm 3.2.0+
- Kubernetes 1.25+
- Helm 3.10+ minimum, 3.14+ recommended
- PV provisioner support in the underlying infrastructure
- [Backstage container image](https://backstage.io/docs/deployment/docker)
@ -52,7 +51,7 @@ This chart bootstraps a [Backstage](https://backstage.io/docs/deployment/docker)
This chart focuses on providing users the same experience and functionality no matter what flavor of Kubernetes they use. This chart will support only patterns that are either customary for all Kubernetes flavors, are commonly used in the Bitnami charts ecosystem, and recognized as Backstage official patterns.
We welcome other, more specialized, charts to use this cannonical chart as a direct dependency, expanding the feature set further, beyond this scope.
We welcome other, more specialized, charts to use this canonical chart as a direct dependency, expanding the feature set further, beyond this scope.
A list of derived charts:
- OpenShift specialized chart: [Janus Backstage Helm chart](https://github.com/janus-idp/helm-backstage/tree/main/charts/backstage)
@ -106,27 +105,32 @@ Kubernetes: `>= 1.19.0-0`
| Repository | Name | Version |
|------------|------|---------|
| https://charts.bitnami.com/bitnami | common | 2.x.x |
| https://charts.bitnami.com/bitnami | postgresql | 12.x.x |
| oci://registry-1.docker.io/bitnamicharts | common | 2.10.0 |
| oci://registry-1.docker.io/bitnamicharts | postgresql | 12.10.0 |
## Values
| Key | Description | Type | Default |
|-----|-------------|------|---------|
| backstage | Backstage parameters | object | See below |
| backstage.affinity | Affinity for pod assignment <br /> Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity | object | `{}` |
| backstage.annotations | Additional custom annotations for the `Deployment` resource | object | `{}` |
| backstage.appConfig | Generates ConfigMap and configures it in the Backstage pods | object | `{}` |
| backstage.args | Backstage container command arguments | list | `[]` |
| backstage.autoscaling | Autoscaling configuration. <br /> Ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/ | object | `{"enabled":false,"maxReplicas":100,"minReplicas":1,"targetCPUUtilizationPercentage":80}` |
| backstage.command | Backstage container command | list | `["node","packages/backend"]` |
| backstage.containerPorts | Container ports on the Deployment | object | `{"backend":7007}` |
| backstage.containerSecurityContext | Security settings for a Container. <br /> Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-container | object | `{}` |
| backstage.extraAppConfig | Extra app configuration files to inline into command arguments | list | `[]` |
| backstage.extraContainers | Deployment sidecars | list | `[]` |
| backstage.extraEnvVars | Backstage container environment variables | list | `[]` |
| backstage.extraEnvVarsSecrets | Backstage container environment variables from Secrets | list | `[]` |
| backstage.extraEnvVarsCM | Backstage container environment variables from existing ConfigMaps | list | `[]` |
| backstage.extraEnvVarsSecrets | Backstage container environment variables from existing Secrets | list | `[]` |
| backstage.extraPorts | Backstage container additional ports | list | `[]` |
| backstage.extraVolumeMounts | Backstage container additional volume mounts | list | `[]` |
| backstage.extraVolumes | Backstage container additional volumes | list | `[]` |
| backstage.image.debug | Set to true if you would like to see extra information on logs | bool | `false` |
| backstage.hostAliases | Host Aliases for the pod <br /> Ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/ | list | `[]` |
| backstage.image.digest | Backstage image digest (digest takes precedence over image tag) | string | `""` |
| backstage.image.pullPolicy | Specify a imagePullPolicy. Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent' <br /> Ref: https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy | string | `"Always"` |
| backstage.image.pullSecrets | Optionally specify an array of imagePullSecrets. Secrets must be manually created in the namespace. <br /> Ref: https://kubernetes.io/docs/tasks/configure-pod-container/pull-image-private-registry/ <br /> E.g: `pullSecrets: [myRegistryKeySecretName]` | list | `[]` |
| backstage.image.registry | Backstage image registry | string | `"ghcr.io"` |
@ -134,17 +138,19 @@ 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.livenessProbe | Liveness Probe Backstage doesn't provide any health endpoints by default. A simple one can be added like this: https://backstage.io/docs/plugins/observability/#health-checks <br /> Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes <!-- E.g. livenessProbe: failureThreshold: 3 httpGet: path: /healthcheck port: 7007 scheme: HTTP initialDelaySeconds: 60 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 2 | object | `{}` |
| backstage.livenessProbe | Liveness Probe Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes <!-- E.g. livenessProbe: failureThreshold: 3 httpGet: path: /.backstage/health/v1/liveness port: 7007 scheme: HTTP initialDelaySeconds: 60 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 2 | object | `{"httpGet":{"path":"/.backstage/health/v1/liveness","port":7007,"scheme":"HTTP"}}` |
| backstage.nodeSelector | Node labels for pod assignment <br /> Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector | object | `{}` |
| backstage.pdb | Pod Disruption Budget configuration ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/ | object | `{"create":false,"maxUnavailable":"","minAvailable":""}` |
| backstage.podAnnotations | Annotations to add to the backend deployment pods | object | `{}` |
| backstage.podLabels | Labels to add to the backend deployment pods | object | `{}` |
| backstage.podSecurityContext | Security settings for a Pod. The security settings that you specify for a Pod apply to all Containers in the Pod. <br /> Ref: https://kubernetes.io/docs/tasks/configure-pod-container/security-context/#set-the-security-context-for-a-pod | object | `{}` |
| backstage.readinessProbe | Readiness Probe Backstage doesn't provide any health endpoints by default. A simple one can be added like this: https://backstage.io/docs/plugins/observability/#health-checks <br /> Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes <!-- E.g. readinessProbe: failureThreshold: 3 httpGet: path: /healthcheck port: 7007 scheme: HTTP initialDelaySeconds: 30 periodSeconds: 10 successThreshold: 2 timeoutSeconds: 2 | object | `{}` |
| backstage.readinessProbe | Readiness Probe Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes <!-- E.g. readinessProbe: failureThreshold: 3 httpGet: path: /.backstage/health/v1/readiness port: 7007 scheme: HTTP initialDelaySeconds: 30 periodSeconds: 10 successThreshold: 2 timeoutSeconds: 2 | object | `{"httpGet":{"path":"/.backstage/health/v1/readiness","port":7007,"scheme":"HTTP"}}` |
| backstage.replicas | Number of deployment replicas | int | `1` |
| backstage.resources | Resource requests/limits <br /> Ref: https://kubernetes.io/docs/concepts/configuration/manage-resources-containers/#resource-requests-and-limits-of-pod-and-container <!-- E.g. resources: limits: memory: 1Gi cpu: 1000m requests: memory: 250Mi cpu: 100m --> | 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 Backstage doesn't provide any health endpoints by default. A simple one can be added like this: https://backstage.io/docs/plugins/observability/#health-checks <br /> Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes <!-- E.g. startupProbe: failureThreshold: 3 httpGet: path: /healthcheck port: 7007 scheme: HTTP initialDelaySeconds: 60 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 2 | object | `{}` |
| backstage.startupProbe | Startup Probe Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes <!-- E.g. startupProbe: failureThreshold: 3 httpGet: path: /.backstage/health/v1/liveness port: 7007 scheme: HTTP initialDelaySeconds: 60 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 2 | object | `{"httpGet":{"path":"/.backstage/health/v1/liveness","port":7007,"scheme":"HTTP"}}` |
| backstage.tolerations | Node tolerations for server scheduling to nodes with taints <br /> Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/taint-and-toleration/ | list | `[]` |
| backstage.topologySpreadConstraints | Topology Spread Constraints for pod assignment <br /> Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#pod-topology-spread-constraints | list | `[]` |
| clusterDomain | Default Kubernetes cluster domain | string | `"cluster.local"` |
| commonAnnotations | Annotations to add to all deployed objects | object | `{}` |
| commonLabels | Labels to add to all deployed objects | object | `{}` |
@ -157,22 +163,26 @@ Kubernetes: `>= 1.19.0-0`
| global | Global parameters Global Docker image parameters Please, note that this will override the image parameters, including dependencies, configured to use the global value Current available global Docker image parameters: imageRegistry, imagePullSecrets and storageClass | object | See below |
| global.imagePullSecrets | Global Docker registry secret names as an array </br> E.g. `imagePullSecrets: [myRegistryKeySecretName]` | list | `[]` |
| global.imageRegistry | Global Docker image registry | string | `""` |
| ingress | Ingress parameters | object | `{"annotations":{},"className":"","enabled":false,"host":"","tls":{"enabled":false,"secretName":""}}` |
| ingress | Ingress parameters | object | `{"annotations":{},"className":"","enabled":false,"extraHosts":[],"extraTls":[],"host":"","path":"/","tls":{"enabled":false,"secretName":""}}` |
| ingress.annotations | Additional annotations for the Ingress resource | object | `{}` |
| ingress.className | Name of the IngressClass cluster resource which defines which controller will implement the resource (e.g nginx) | string | `""` |
| ingress.enabled | Enable the creation of the ingress resource | bool | `false` |
| ingress.extraHosts | List of additional hostnames to be covered with this ingress record (e.g. a CNAME) <!-- E.g. extraHosts: - name: backstage.env.example.com path: / (Optional) pathType: Prefix (Optional) port: 7007 (Optional) --> | list | `[]` |
| ingress.extraTls | The TLS configuration for additional hostnames to be covered with this ingress record. <br /> Ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls <!-- E.g. extraTls: - hosts: - backstage.env.example.com secretName: backstage-env --> | list | `[]` |
| ingress.host | Hostname to be used to expose the route to access the backstage application (e.g: backstage.IP.nip.io) | string | `""` |
| ingress.path | Path to be used to expose the full route to access the backstage application (e.g: IP.nip.io/backstage) | string | `"/"` |
| ingress.tls | Ingress TLS parameters | object | `{"enabled":false,"secretName":""}` |
| ingress.tls.enabled | Enable TLS configuration for the host defined at `ingress.host` parameter | bool | `false` |
| ingress.tls.secretName | The name to which the TLS Secret will be called | string | `""` |
| kubeVersion | Override Kubernetes version | string | `""` |
| metrics | Metrics configuration | object | `{"serviceMonitor":{"annotations":{},"enabled":false,"interval":null,"labels":{},"path":"/metrics"}}` |
| metrics.serviceMonitor | ServiceMonitor configuration <br /> Allows configuring your backstage instance as a scrape target for [Prometheus](https://github.com/prometheus/prometheus) using a ServiceMonitor custom resource that [Prometheus Operator](https://github.com/prometheus-operator/prometheus-operator) can understand. | object | `{"annotations":{},"enabled":false,"interval":null,"labels":{},"path":"/metrics"}` |
| metrics | Metrics configuration | object | `{"serviceMonitor":{"annotations":{},"enabled":false,"interval":null,"labels":{},"path":"/metrics","port":"http-backend"}}` |
| metrics.serviceMonitor | ServiceMonitor configuration <br /> Allows configuring your backstage instance as a scrape target for [Prometheus](https://github.com/prometheus/prometheus) using a ServiceMonitor custom resource that [Prometheus Operator](https://github.com/prometheus-operator/prometheus-operator) can understand. | object | `{"annotations":{},"enabled":false,"interval":null,"labels":{},"path":"/metrics","port":"http-backend"}` |
| metrics.serviceMonitor.annotations | ServiceMonitor annotations | object | `{}` |
| metrics.serviceMonitor.enabled | If enabled, a ServiceMonitor resource for Prometheus Operator is created <br /> Prometheus Operator must be installed in your cluster prior to enabling. | bool | `false` |
| metrics.serviceMonitor.interval | ServiceMonitor scrape interval | string | `nil` |
| metrics.serviceMonitor.labels | Additional ServiceMonitor labels | object | `{}` |
| metrics.serviceMonitor.path | ServiceMonitor endpoint path <br /> Note that the /metrics endpoint is NOT present in a freshly scaffolded Backstage app. To setup, follow the [Prometheus metrics tutorial](https://github.com/backstage/backstage/blob/master/contrib/docs/tutorials/prometheus-metrics.md). | string | `"/metrics"` |
| metrics.serviceMonitor.port | ServiceMonitor endpoint port <br /> The port where the metrics are exposed. If using OpenTelemetry as [documented here](https://backstage.io/docs/tutorials/setup-opentelemetry/), then the port needs to be explicitly specified. OpenTelemetry's default port is 9464. | string | `"http-backend"` |
| nameOverride | String to partially override common.names.fullname | string | `""` |
| networkPolicy.egressRules.customRules | Additional custom egress rules | list | `[]` |
| networkPolicy.egressRules.denyConnectionsToExternal | Deny external connections. Should not be enabled when working with an external database. | bool | `false` |
@ -196,6 +206,8 @@ Kubernetes: `>= 1.19.0-0`
| service.clusterIP | Backstage service Cluster IP <br /> E.g `clusterIP: None` | string | `""` |
| service.externalTrafficPolicy | Backstage service external traffic policy Ref: https://kubernetes.io/docs/tasks/access-application-cluster/create-external-load-balancer/#preserving-the-client-source-ip | string | `"Cluster"` |
| service.extraPorts | Extra ports to expose in the Backstage service (normally used with the `sidecar` value) | list | `[]` |
| service.ipFamilies | IP Families <br /> Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack | list | `[]` |
| service.ipFamilyPolicy | IP Family Policy <br /> Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack | string | `""` |
| service.loadBalancerIP | Backstage service Load Balancer IP <br /> Ref: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer | string | `""` |
| service.loadBalancerSourceRanges | Load Balancer sources <br /> Ref: https://kubernetes.io/docs/concepts/services-networking/service/#loadbalancer <br /> E.g `loadBalancerSourceRanges: [10.10.10.0/24]` | list | `[]` |
| service.nodePorts | Node port for the Backstage client connections Choose port between `30000-32767` | object | `{"backend":""}` |

View File

@ -25,7 +25,6 @@ Backstage unifies all your infrastructure tooling, services, and documentation t
## TL;DR
```console
helm repo add bitnami https://charts.bitnami.com/bitnami
helm repo add backstage https://backstage.github.io/charts
helm install my-release backstage/backstage
@ -37,8 +36,8 @@ This chart bootstraps a [Backstage](https://backstage.io/docs/deployment/docker)
## Prerequisites
- Kubernetes 1.19+
- Helm 3.2.0+
- Kubernetes 1.25+
- Helm 3.10+ minimum, 3.14+ recommended
- PV provisioner support in the underlying infrastructure
- [Backstage container image](https://backstage.io/docs/deployment/docker)
@ -46,7 +45,7 @@ This chart bootstraps a [Backstage](https://backstage.io/docs/deployment/docker)
This chart focuses on providing users the same experience and functionality no matter what flavor of Kubernetes they use. This chart will support only patterns that are either customary for all Kubernetes flavors, are commonly used in the Bitnami charts ecosystem, and recognized as Backstage official patterns.
We welcome other, more specialized, charts to use this cannonical chart as a direct dependency, expanding the feature set further, beyond this scope.
We welcome other, more specialized, charts to use this canonical chart as a direct dependency, expanding the feature set further, beyond this scope.
A list of derived charts:
- OpenShift specialized chart: [Janus Backstage Helm chart](https://github.com/janus-idp/helm-backstage/tree/main/charts/backstage)

View File

@ -1,5 +1,7 @@
backstage:
appConfig:
techdocs:
builder: "local"
app:
# Let's test that everything is fine with comments
title: The very best Backstage Helm Chart! :D
@ -8,3 +10,7 @@ backstage:
baseUrl: https://somedomain.tl
listen:
port: 12345
auth:
keys:
# Is just a random b64 string for test purposes
- secret: N4+P+zJrErWRUGm0ZbVVhX1ZC81aSP81

View File

@ -0,0 +1,7 @@
backstage:
autoscaling:
enabled: true
minReplicas: 1
maxReplicas: 3
targetCPUUtilizationPercentage: 75
targetMemoryUtilizationPercentage: 90

View File

@ -0,0 +1,5 @@
backstage:
image:
registry: ghcr.io
repository: backstage/backstage
digest: "sha256:f9ffa809e2c3f351699129d57edd6e64ca9ea5a4d4dd6339fed1ec80a30bc042"

View File

@ -0,0 +1,12 @@
ingress:
enabled: true
host: backstage.example.com
tls:
enabled: true
secretName: "backstage-tls"
extraHosts:
- name: backstage.dev.example.com
extraTls:
- hosts:
- backstage.dev.example.com
secretName: "backstage-dev-tls"

View File

@ -0,0 +1,6 @@
ingress:
enabled: true
host: backstage.example.com
tls:
enabled: true
secretName: "backstage-tls"

View File

@ -0,0 +1,8 @@
postgresql:
enabled: true
# we enable postgres and allow the subchart to automatically generate the credentials
# that backstage will use
auth:
existingSecret: ""
password: ""

View File

@ -0,0 +1,8 @@
postgresql:
enabled: true
auth:
existingSecret: ""
# we provide a password for the subchart to use.
# this is just a password for purposes of CI tests
password: "mytestpassword"

View File

@ -1,8 +1,21 @@
backstage:
appConfig:
techdocs:
builder: "local"
app:
# Let's test that everything is fine with comments
title: The very best Backstage Helm Chart! :D
baseUrl: https://somedomain.tl
backend:
baseUrl: https://somedomain.tl
auth:
keys:
# Is just a random b64 string for test purposes
- secret: N4+P+zJrErWRUGm0ZbVVhX1ZC81aSP81
readinessProbe:
failureThreshold: 3
httpGet:
path: /healthcheck
path: /.backstage/health/v1/readiness
port: 7007
scheme: HTTP
initialDelaySeconds: 30
@ -12,7 +25,7 @@ backstage:
livenessProbe:
failureThreshold: 3
httpGet:
path: /healthcheck
path: /.backstage/health/v1/liveness
port: 7007
scheme: HTTP
initialDelaySeconds: 60
@ -22,7 +35,7 @@ backstage:
startupProbe:
failureThreshold: 3
httpGet:
path: /healthcheck
path: /.backstage/health/v1/liveness
port: 7007
scheme: HTTP
initialDelaySeconds: 60

View File

@ -0,0 +1,4 @@
service:
ipFamilyPolicy: PreferDualStack
ipFamilies:
- IPv4

View File

@ -0,0 +1,9 @@
metrics:
serviceMonitor:
enabled: true
annotations:
test: test
labels:
test: test
path: /metrics
port: http-backend

View File

@ -0,0 +1,10 @@
backstage:
topologySpreadConstraints:
- maxSkew: 1
topologyKey: kubernetes.io/hostname
whenUnsatisfiable: DoNotSchedule
labelSelector:
matchLabels:
app.kubernetes.io/component: backstage
matchLabelKeys:
- pod-template-hash

View File

@ -46,7 +46,9 @@ Return the Postgres Database hostname
Return the Postgres Database Secret Name
*/}}
{{- define "backstage.postgresql.databaseSecretName" -}}
{{- if .Values.postgresql.auth.existingSecret }}
{{- if ((((.Values).global).postgresql).auth).existingSecret }}
{{- tpl .Values.global.postgresql.auth.existingSecret $ -}}
{{- else if .Values.postgresql.auth.existingSecret }}
{{- tpl .Values.postgresql.auth.existingSecret $ -}}
{{- else -}}
{{- default (include "backstage.postgresql.fullname" .) (tpl .Values.postgresql.auth.existingSecret $) -}}
@ -57,9 +59,16 @@ Return the Postgres Database Secret Name
Return the Postgres databaseSecret key to retrieve credentials for database
*/}}
{{- define "backstage.postgresql.databaseSecretKey" -}}
{{- if .Values.postgresql.auth.existingSecret -}}
{{- .Values.postgresql.auth.secretKeys.userPasswordKey -}}
{{- $defaultDatabaseSecretKey := "password" -}}
{{- if (or ((((.Values).global).postgresql).auth).existingSecret .Values.postgresql.auth.existingSecret) }}
{{- if (((((.Values).global).postgresql).auth).secretKeys).userPasswordKey -}}
{{- .Values.global.postgresql.auth.secretKeys.userPasswordKey -}}
{{- else if ((((.Values).postgresql).auth).secretKeys).userPasswordKey -}}
{{- .Values.postgresql.auth.secretKeys.userPasswordKey -}}
{{- else -}}
{{- print $defaultDatabaseSecretKey -}}
{{- end -}}
{{- else -}}
{{- print "password" -}}
{{- print $defaultDatabaseSecretKey -}}
{{- end -}}
{{- end -}}

View File

@ -3,6 +3,7 @@ apiVersion: v1
kind: ConfigMap
metadata:
name: {{ include "common.names.fullname" . }}-app-config
namespace: {{ .Release.Namespace | quote }}
data:
app-config.yaml: |
{{- include "common.tplvalues.render" ( dict "value" .Values.backstage.appConfig "context" $) | nindent 4 }}

View File

@ -20,7 +20,9 @@ metadata:
{{- include "common.tplvalues.render" ( dict "value" .Values.backstage.annotations "context" $) | nindent 4 }}
{{- end }}
spec:
{{- if not .Values.backstage.autoscaling.enabled }}
replicas: {{ .Values.backstage.replicas }}
{{- end }}
revisionHistoryLimit: {{ .Values.backstage.revisionHistoryLimit }}
selector:
matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }}
@ -43,6 +45,14 @@ spec:
securityContext:
{{- include "common.tplvalues.render" ( dict "value" .Values.backstage.podSecurityContext "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.backstage.affinity }}
affinity:
{{- include "common.tplvalues.render" ( dict "value" .Values.backstage.affinity "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.backstage.topologySpreadConstraints }}
topologySpreadConstraints:
{{- include "common.tplvalues.render" ( dict "value" .Values.backstage.topologySpreadConstraints "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.backstage.nodeSelector }}
nodeSelector:
{{- include "common.tplvalues.render" ( dict "value" .Values.backstage.nodeSelector "context" $) | nindent 8 }}
@ -51,6 +61,10 @@ spec:
tolerations:
{{- include "common.tplvalues.render" ( dict "value" .Values.backstage.tolerations "context" $) | nindent 8 }}
{{- end }}
{{- if .Values.backstage.hostAliases }}
hostAliases:
{{- include "common.tplvalues.render" ( dict "value" .Values.backstage.hostAliases "context" $) | nindent 8 }}
{{- end }}
volumes:
{{- if (or .Values.backstage.extraAppConfig (and .Values.backstage.extraVolumeMounts .Values.backstage.extraVolumes)) }}
{{- range .Values.backstage.extraAppConfig }}
@ -116,8 +130,12 @@ spec:
{{- if .Values.backstage.startupProbe }}
startupProbe: {{- include "common.tplvalues.render" (dict "value" .Values.backstage.startupProbe "context" $) | nindent 12 }}
{{- end }}
{{- if .Values.backstage.extraEnvVarsSecrets }}
{{- if (or .Values.backstage.extraEnvVarsCM .Values.backstage.extraEnvVarsSecrets) }}
envFrom:
{{- range .Values.backstage.extraEnvVarsCM }}
- configMapRef:
name: {{ . }}
{{- end }}
{{- range .Values.backstage.extraEnvVarsSecrets }}
- secretRef:
name: {{ . }}
@ -146,6 +164,9 @@ spec:
- name: backend
containerPort: {{ .Values.backstage.containerPorts.backend }}
protocol: TCP
{{- if .Values.backstage.extraPorts }}
{{- include "common.tplvalues.render" ( dict "value" .Values.backstage.extraPorts "context" $) | nindent 12 }}
{{- end }}
{{- if (or .Values.backstage.extraAppConfig .Values.backstage.appConfig (and .Values.backstage.extraVolumeMounts .Values.backstage.extraVolumes)) }}
volumeMounts:
{{- range .Values.backstage.extraAppConfig }}

View File

@ -0,0 +1,43 @@
{{- if .Values.backstage.autoscaling.enabled }}
apiVersion: autoscaling/v2
kind: HorizontalPodAutoscaler
metadata:
name: {{ include "common.names.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
labels: {{ include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: backstage
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
annotations:
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.backstage.annotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.backstage.annotations "context" $) | nindent 4 }}
{{- end }}
spec:
scaleTargetRef:
apiVersion: apps/v1
kind: Deployment
name: {{ include "common.names.fullname" . }}
minReplicas: {{ .Values.backstage.autoscaling.minReplicas }}
maxReplicas: {{ .Values.backstage.autoscaling.maxReplicas }}
metrics:
{{- if .Values.backstage.autoscaling.targetCPUUtilizationPercentage }}
- type: Resource
resource:
name: cpu
target:
type: Utilization
averageUtilization: {{ .Values.backstage.autoscaling.targetCPUUtilizationPercentage }}
{{- end }}
{{- if .Values.backstage.autoscaling.targetMemoryUtilizationPercentage }}
- type: Resource
resource:
name: memory
target:
type: Utilization
averageUtilization: {{ .Values.backstage.autoscaling.targetMemoryUtilizationPercentage }}
{{- end }}
{{- end }}

View File

@ -20,21 +20,38 @@ spec:
{{- if .Values.ingress.className }}
ingressClassName: {{ .Values.ingress.className | quote }}
{{- end }}
{{- if .Values.ingress.tls.enabled }}
{{- if or .Values.ingress.tls.enabled .Values.ingress.extraTls }}
tls:
{{- if .Values.ingress.tls.enabled }}
- hosts:
- {{ .Values.ingress.host }}
secretName: {{ .Values.ingress.tls.secretName }}
- {{ include "common.tplvalues.render" ( dict "value" .Values.ingress.host "context" $ ) }}
secretName: {{ include "common.tplvalues.render" ( dict "value" .Values.ingress.tls.secretName "context" $ ) }}
{{- end }}
{{- if .Values.ingress.extraTls }}
{{- include "common.tplvalues.render" ( dict "value" .Values.ingress.extraTls "context" $ ) | nindent 4 }}
{{- end }}
{{- end }}
rules:
- host: {{ .Values.ingress.host }}
- host: {{ include "common.tplvalues.render" ( dict "value" .Values.ingress.host "context" $ ) }}
http:
paths:
- path: /
- path: {{ .Values.ingress.path }}
pathType: Prefix
backend:
service:
name: {{ include "common.names.fullname" . }}
port:
number: {{ .Values.service.ports.backend }}
{{- range .Values.ingress.extraHosts }}
- host: {{ .name | quote }}
http:
paths:
- path: {{ default $.Values.ingress.path .path }}
pathType: {{ default "Prefix" .pathType }}
backend:
service:
name: {{ include "common.names.fullname" $ }}
port:
number: {{ default $.Values.service.ports.backend .port }}
{{- end }}
{{- end }}

View File

@ -0,0 +1,29 @@
{{- if .Values.backstage.pdb.create }}
apiVersion: policy/v1
kind: PodDisruptionBudget
metadata:
name: {{ include "common.names.fullname" . }}
namespace: {{ .Release.Namespace | quote }}
labels: {{ include "common.labels.standard" . | nindent 4 }}
app.kubernetes.io/component: backstage
{{- if .Values.commonLabels }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonLabels "context" $ ) | nindent 4 }}
{{- end }}
annotations:
{{- if .Values.commonAnnotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.commonAnnotations "context" $ ) | nindent 4 }}
{{- end }}
{{- if .Values.backstage.annotations }}
{{- include "common.tplvalues.render" ( dict "value" .Values.backstage.annotations "context" $) | nindent 4 }}
{{- end }}
spec:
{{- if .Values.backstage.pdb.minAvailable }}
minAvailable: {{ .Values.backstage.pdb.minAvailable }}
{{- end }}
{{- if or .Values.backstage.pdb.maxUnavailable ( not .Values.backstage.pdb.minAvailable ) }}
maxUnavailable: {{ .Values.backstage.pdb.maxUnavailable | default 1 }}
{{- end }}
selector:
matchLabels: {{- include "common.labels.matchLabels" . | nindent 6 }}
app.kubernetes.io/component: backstage
{{- end }}

View File

@ -34,6 +34,13 @@ spec:
{{- if .Values.service.sessionAffinity }}
sessionAffinity: {{ .Values.service.sessionAffinity }}
{{- end }}
{{- if .Values.service.ipFamilyPolicy }}
ipFamilyPolicy: {{ .Values.service.ipFamilyPolicy }}
{{- end }}
{{- with .Values.service.ipFamilies }}
ipFamilies:
{{- toYaml . | nindent 4 }}
{{- end }}
ports:
- name: {{ .Values.service.ports.name }}
port: {{ .Values.service.ports.backend }}

View File

@ -29,7 +29,7 @@ spec:
matchLabels: {{ include "common.labels.standard" . | nindent 6 }}
app.kubernetes.io/component: backstage
endpoints:
- port: http-backend
- port: {{ .Values.metrics.serviceMonitor.port | quote }}
path: {{ .Values.metrics.serviceMonitor.path }}
{{- with .Values.metrics.serviceMonitor.interval }}
interval: {{ . }}

File diff suppressed because it is too large Load Diff

View File

@ -143,6 +143,37 @@
"backstage.10.0.0.1.nip.io"
]
},
"extraHosts": {
"title": "List of additional hostnames to be covered with this ingress record",
"type": "array",
"default": [],
"items": {
"type": "object",
"additionalProperties": false,
"properties": {
"name": {
"type": "string"
},
"path": {
"type": "string"
},
"pathType": {
"type": "string"
},
"port": {
"type": "integer"
}
}
}
},
"path": {
"title": "Path to be used to expose the full route to access the backstage application.",
"type": "string",
"default": "/",
"examples": [
"/backstage"
]
},
"tls": {
"title": "Ingress TLS parameters",
"type": "object",
@ -160,6 +191,14 @@
"default": ""
}
}
},
"extraTls": {
"title": "The TLS configuration for additional hostnames to be covered with this ingress record.",
"type": "array",
"items": {
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/master/_definitions.json#/definitions/io.k8s.api.networking.v1.IngressTLS"
},
"default": []
}
}
},
@ -185,6 +224,12 @@
"type": "object",
"additionalProperties": false,
"properties": {
"digest": {
"default": "",
"description": "digest takes precedence over image tag",
"title": "Backstage image digest",
"type": "string"
},
"registry": {
"title": "Backstage image registry",
"type": "string",
@ -227,11 +272,67 @@
"examples": [
"myRegistryKeySecretName"
]
},
"debug": {
"title": "Set to true if you would like to see extra information on logs",
}
}
},
"autoscaling": {
"title": "Autoscaling parameters",
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"description": "Enable autoscaling",
"title": "Backstage Autoscaling",
"type": "boolean",
"default": false
},
"minReplicas": {
"title": "Minimum number of Backstage pod replicas that the autoscaler is allowed to scale down to",
"type": "integer",
"default": 1
},
"maxReplicas": {
"title": "Maximum number of Backstage pod replicas that the autoscaler is allowed to scale up to",
"type": "integer",
"default": 100
},
"targetCPUUtilizationPercentage": {
"title": "Percentage of CPU that each Backstage pod should be using on average before the autoscaler decides to scale",
"type": "integer",
"default": 80
},
"targetMemoryUtilizationPercentage": {
"title": "Percentage of memory that each Backstage pod should be using on average before the autoscaler decides to scale",
"type": "integer"
}
}
},
"pdb": {
"title": "PDB parameters",
"type": "object",
"additionalProperties": false,
"properties": {
"create": {
"description": "Create a PDB",
"title": "Backstage PDB",
"type": "boolean",
"default": false
},
"minAvailable": {
"title": "Backstage PDB minAvailable",
"type": [
"string",
"integer"
],
"default": ""
},
"maxUnavailable": {
"title": "Backstage PDB maxUnavailable",
"type": [
"string",
"integer"
],
"default": ""
}
}
},
@ -258,6 +359,35 @@
"packages/backend"
]
},
"affinity": {
"default": {},
"description": "Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity",
"properties": {
"nodeAffinity": {
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/master/_definitions.json#/definitions/io.k8s.api.core.v1.NodeAffinity",
"description": "Describes node affinity scheduling rules for the pod."
},
"podAffinity": {
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/master/_definitions.json#/definitions/io.k8s.api.core.v1.PodAffinity",
"description": "Describes pod affinity scheduling rules (e.g. co-locate this pod in the same node, zone, etc. as some other pod(s))."
},
"podAntiAffinity": {
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/master/_definitions.json#/definitions/io.k8s.api.core.v1.PodAntiAffinity",
"description": "Describes pod anti-affinity scheduling rules (e.g. avoid putting this pod in the same node, zone, etc. as some other pod(s))."
}
},
"title": "Affinity for pod assignment",
"type": "object"
},
"topologySpreadConstraints": {
"default": [],
"description": "Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#pod-topology-spread-constraints",
"items": {
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/master/_definitions.json#/definitions/io.k8s.api.core.v1.TopologySpreadConstraint"
},
"title": "Topology Spread Constraint for pod assignment",
"type": "array"
},
"args": {
"title": "Backstage container command arguments",
"type": "array",
@ -307,8 +437,22 @@
]
]
},
"extraEnvVarsCM": {
"title": "Backstage container environment variables from existing ConfigMaps",
"type": "array",
"description": "Translates into array of `envFrom.[].configMapRef.name`",
"items": {
"type": "string"
},
"default": [],
"examples": [
[
"my-backstage-configmap"
]
]
},
"extraEnvVarsSecrets": {
"title": "Backstage container environment variables from Secrets",
"title": "Backstage container environment variables from existing Secrets",
"type": "array",
"description": "Translates into array of `envFrom.[].secretRef.name`",
"items": {
@ -321,6 +465,14 @@
]
]
},
"extraPorts": {
"title": "Extra ports to expose in the Backstage container",
"type": "array",
"items": {
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/master/_definitions.json#/definitions/io.k8s.api.core.v1.ContainerPort"
},
"default": []
},
"extraVolumeMounts": {
"title": "Backstage container additional volume mounts",
"type": "array",
@ -372,12 +524,18 @@
"title": "Readiness probe",
"description": "Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/",
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/master/_definitions.json#/definitions/io.k8s.api.core.v1.Probe",
"default": {},
"default": {
"httpGet": {
"path": "/.backstage/health/v1/readiness",
"port": 7007,
"scheme": "HTTP"
}
},
"examples": [
{
"failureThreshold": 3,
"httpGet": {
"path": "/healthcheck",
"path": "/.backstage/health/v1/readiness",
"port": 7007,
"scheme": "HTTP"
},
@ -392,12 +550,18 @@
"title": "Liveness probe",
"description": "Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/",
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/master/_definitions.json#/definitions/io.k8s.api.core.v1.Probe",
"default": {},
"default": {
"httpGet": {
"path": "/.backstage/health/v1/liveness",
"port": 7007,
"scheme": "HTTP"
}
},
"examples": [
{
"failureThreshold": 3,
"httpGet": {
"path": "/healthcheck",
"path": "/.backstage/health/v1/liveness",
"port": 7007,
"scheme": "HTTP"
},
@ -412,12 +576,18 @@
"title": "Startup probe",
"description": "Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes/",
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/master/_definitions.json#/definitions/io.k8s.api.core.v1.Probe",
"default": {},
"default": {
"httpGet": {
"path": "/.backstage/health/v1/liveness",
"port": 7007,
"scheme": "HTTP"
}
},
"examples": [
{
"failureThreshold": 3,
"httpGet": {
"path": "/healthcheck",
"path": "/.backstage/health/v1/liveness",
"port": 7007,
"scheme": "HTTP"
},
@ -473,6 +643,15 @@
},
"default": []
},
"hostAliases": {
"title": "Adding entries to a Pod's /etc/hosts file provides Pod-level override of hostname resolution when DNS and other options are not applicable",
"description": "Ref: https://kubernetes.io/docs/tasks/network/customize-hosts-file-for-pods/#adding-additional-entries-with-hostaliases",
"type": "array",
"items": {
"$ref": "https://raw.githubusercontent.com/yannh/kubernetes-json-schema/master/master/_definitions.json#/definitions/io.k8s.api.core.v1.HostAlias"
},
"default": []
},
"podAnnotations": {
"title": "Annotations to add to the backend deployment pods",
"type": "object",
@ -612,6 +791,28 @@
"type": "object"
},
"default": []
},
"ipFamilyPolicy": {
"title": "Backstage service IP family policy",
"description": "Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services",
"type": "string",
"default": "",
"enum": [
"",
"SingleStack",
"PreferDualStack",
"RequireDualStack"
]
},
"ipFamilies": {
"title": "Backstage service IP families",
"description": "Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack/#services",
"type": "array",
"items": {
"type": "string",
"enum": ["IPv4", "IPv6"]
},
"default": []
}
}
},
@ -763,10 +964,23 @@
"description": "ote that the /metrics endpoint is NOT present in a freshly scaffolded Backstage app. To setup, follow the Prometheus metrics tutorial. https://github.com/backstage/backstage/blob/master/contrib/docs/tutorials/prometheus-metrics.md",
"type": "string",
"default": "/metrics"
},
"port": {
"default": "http-backend",
"description": "The port where the metrics are exposed. If using OpenTelemetry as [documented here](https://backstage.io/docs/tutorials/setup-opentelemetry/), then the port needs to be explicitly specified. OpenTelemetry's default port is 9464.",
"title": "ServiceMonitor endpoint port",
"anyOf": [
{
"type": "string"
},
{
"type": "integer"
}
]
}
}
}
}
}
}
}
}

View File

@ -67,6 +67,18 @@ ingress:
# -- Hostname to be used to expose the route to access the backstage application (e.g: backstage.IP.nip.io)
host: ""
# -- List of additional hostnames to be covered with this ingress record (e.g. a CNAME)
# <!-- E.g.
# extraHosts:
# - name: backstage.env.example.com
# path: / (Optional)
# pathType: Prefix (Optional)
# port: 7007 (Optional) -->
extraHosts: []
# -- Path to be used to expose the full route to access the backstage application (e.g: IP.nip.io/backstage)
path: "/"
# -- Ingress TLS parameters
tls:
@ -76,6 +88,15 @@ ingress:
# -- The name to which the TLS Secret will be called
secretName: ""
# -- The TLS configuration for additional hostnames to be covered with this ingress record.
# <br /> Ref: https://kubernetes.io/docs/concepts/services-networking/ingress/#tls
# <!-- E.g.
# extraTls:
# - hosts:
# - backstage.env.example.com
# secretName: backstage-env -->
extraTls: []
# -- Backstage parameters
# @default -- See below
backstage:
@ -98,6 +119,9 @@ backstage:
# -- Backstage image tag (immutable tags are recommended)
tag: latest
# -- Backstage image digest (digest takes precedence over image tag)
digest: ""
# -- Specify a imagePullPolicy.
# Defaults to 'Always' if image tag is 'latest', else set to 'IfNotPresent'
# <br /> Ref: https://kubernetes.io/docs/concepts/containers/images/#image-pull-policy
@ -109,8 +133,21 @@ backstage:
# <br /> E.g: `pullSecrets: [myRegistryKeySecretName]`
pullSecrets: []
# -- Set to true if you would like to see extra information on logs
debug: false
# -- Pod Disruption Budget configuration
# ref: https://kubernetes.io/docs/tasks/run-application/configure-pdb/
pdb:
create: false
minAvailable: ""
maxUnavailable: ""
# -- Autoscaling configuration.
# <br /> Ref: https://kubernetes.io/docs/tasks/run-application/horizontal-pod-autoscale/
autoscaling:
enabled: false
minReplicas: 1
maxReplicas: 100
targetCPUUtilizationPercentage: 80
# targetMemoryUtilizationPercentage: 80
# -- Container ports on the Deployment
containerPorts:
@ -131,9 +168,15 @@ backstage:
# -- Backstage container environment variables
extraEnvVars: []
# -- Backstage container environment variables from Secrets
# -- Backstage container environment variables from existing ConfigMaps
extraEnvVarsCM: []
# -- Backstage container environment variables from existing Secrets
extraEnvVarsSecrets: []
# -- Backstage container additional ports
extraPorts: []
# -- Backstage container additional volume mounts
extraVolumeMounts: []
@ -159,52 +202,61 @@ backstage:
resources: {}
# -- Readiness Probe
# Backstage doesn't provide any health endpoints by default. A simple one can be added like this: https://backstage.io/docs/plugins/observability/#health-checks
# <br /> Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes
# <!-- E.g.
# readinessProbe:
# failureThreshold: 3
# httpGet:
# path: /healthcheck
# path: /.backstage/health/v1/readiness
# port: 7007
# scheme: HTTP
# initialDelaySeconds: 30
# periodSeconds: 10
# successThreshold: 2
# timeoutSeconds: 2
readinessProbe: {}
readinessProbe:
httpGet:
path: /.backstage/health/v1/readiness
port: 7007
scheme: HTTP
# -- Liveness Probe
# Backstage doesn't provide any health endpoints by default. A simple one can be added like this: https://backstage.io/docs/plugins/observability/#health-checks
# <br /> Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes
# <!-- E.g.
# livenessProbe:
# failureThreshold: 3
# httpGet:
# path: /healthcheck
# path: /.backstage/health/v1/liveness
# port: 7007
# scheme: HTTP
# initialDelaySeconds: 60
# periodSeconds: 10
# successThreshold: 1
# timeoutSeconds: 2
livenessProbe: {}
livenessProbe:
httpGet:
path: /.backstage/health/v1/liveness
port: 7007
scheme: HTTP
# -- Startup Probe
# Backstage doesn't provide any health endpoints by default. A simple one can be added like this: https://backstage.io/docs/plugins/observability/#health-checks
# <br /> Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes
# -- Startup Probe
# Ref: https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-startup-probes
# <!-- E.g.
# startupProbe:
# failureThreshold: 3
# httpGet:
# path: /healthcheck
# path: /.backstage/health/v1/liveness
# port: 7007
# scheme: HTTP
# initialDelaySeconds: 60
# periodSeconds: 10
# successThreshold: 1
# timeoutSeconds: 2
startupProbe: {}
startupProbe:
httpGet:
path: /.backstage/health/v1/liveness
port: 7007
scheme: HTTP
# -- Security settings for a Pod.
# The security settings that you specify for a Pod apply to all Containers in the Pod.
@ -225,6 +277,14 @@ backstage:
# -- Generates ConfigMap and configures it in the Backstage pods
appConfig: {}
# -- Affinity for pod assignment
# <br /> Ref: https://kubernetes.io/docs/concepts/configuration/assign-pod-node/#affinity-and-anti-affinity
affinity: {}
# -- Topology Spread Constraints for pod assignment
# <br /> Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#pod-topology-spread-constraints
topologySpreadConstraints: []
# -- Node labels for pod assignment
# <br /> Ref: https://kubernetes.io/docs/concepts/scheduling-eviction/assign-pod-node/#nodeselector
nodeSelector: {}
@ -237,6 +297,10 @@ backstage:
# value: "value"
# effect: "NoSchedule|PreferNoSchedule|NoExecute"
# -- Host Aliases for the pod
# <br /> Ref: https://kubernetes.io/docs/concepts/services-networking/add-entries-to-pod-etc-hosts-with-host-aliases/
hostAliases: []
# -- Annotations to add to the backend deployment pods
podAnnotations: {}
@ -304,6 +368,16 @@ service:
# -- Extra ports to expose in the Backstage service (normally used with the `sidecar` value)
extraPorts: []
# -- IP Family Policy
#
# <br /> Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack
ipFamilyPolicy: ""
# -- IP Families
#
# <br /> Ref: https://kubernetes.io/docs/concepts/services-networking/dual-stack
ipFamilies: []
## @section NetworkPolicy parameters
##
networkPolicy:
@ -419,3 +493,7 @@ metrics:
# -- ServiceMonitor endpoint path
# <br /> Note that the /metrics endpoint is NOT present in a freshly scaffolded Backstage app. To setup, follow the [Prometheus metrics tutorial](https://github.com/backstage/backstage/blob/master/contrib/docs/tutorials/prometheus-metrics.md).
path: /metrics
# -- ServiceMonitor endpoint port
# <br /> The port where the metrics are exposed. If using OpenTelemetry as [documented here](https://backstage.io/docs/tutorials/setup-opentelemetry/), then the port needs to be explicitly specified. OpenTelemetry's default port is 9464.
port: http-backend