Compare commits

..
Author SHA1 Message Date
danijel.simeunovic 6140aedcc6 Merge branch 'main' into renovate/kubernetes-monorepo
AI Code Review / ai-review (pull_request) Has been skipped
/ test (pull_request) Successful in 1m24s
2026-09-27 22:13:04 +00:00
2e54387eed chore(deps): update dependency kubectl-tree to v0.6.0 (#39)
/ test (push) Failing after 12m43s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [kubectl-tree](https://github.com/ahmetb/kubectl-tree) | minor | `0.4.3` → `0.6.0` |

---

### Release Notes

<details>
<summary>ahmetb/kubectl-tree (kubectl-tree)</summary>

### [`v0.6.0`](https://github.com/ahmetb/kubectl-tree/releases/tag/v0.6.0)

#### Changelog

- [`07c5f12`](https://github.com/ahmetb/kubectl-tree/commit/07c5f1241c0af99171cd3d3ff5ec0f109f37058f) Release v0.6.0
- [`52dda04`](https://github.com/ahmetb/kubectl-tree/commit/52dda045e341f7b24e4258c0286c3fec10410ed2) feat: filter resources ([#&#8203;115](https://github.com/ahmetb/kubectl-tree/issues/115))
- [`55f6b48`](https://github.com/ahmetb/kubectl-tree/commit/55f6b482b7a828554850d30a603fc7bfcd05ba43) Merge pull request [#&#8203;117](https://github.com/ahmetb/kubectl-tree/issues/117) from ahmetb/dependabot/go\_modules/github.com/fatih/color-1.19.0
- [`f8a3daf`](https://github.com/ahmetb/kubectl-tree/commit/f8a3daf738056f538876d39047c24c7859650884) Merge pull request [#&#8203;116](https://github.com/ahmetb/kubectl-tree/issues/116) from ahmetb/dependabot/go\_modules/kubernetes-cc55a87f86
- [`f524512`](https://github.com/ahmetb/kubectl-tree/commit/f5245124c6dd6885075bc80d1a88a46e515c87ca) chore(deps): bump github.com/fatih/color from 1.15.0 to 1.19.0
- [`9d3c3c9`](https://github.com/ahmetb/kubectl-tree/commit/9d3c3c9aaa641f2c2a2a5a55077acd5d9477144b) chore(deps): bump the kubernetes group with 3 updates

### [`v0.5.0`](https://github.com/ahmetb/kubectl-tree/releases/tag/v0.5.0)

#### Changelog

- [`44b7841`](https://github.com/ahmetb/kubectl-tree/commit/44b784104c46a1ebd3c9a2f990106c2790de7708) chore(deps): bump goreleaser/goreleaser-action from 6 to 7 ([#&#8203;110](https://github.com/ahmetb/kubectl-tree/issues/110))

### [`v0.4.6`](https://github.com/ahmetb/kubectl-tree/releases/tag/v0.4.6)

#### Changelog

- [`ee7f2ca`](https://github.com/ahmetb/kubectl-tree/commit/ee7f2ca11e271c8ece1a8426bce4119d1ff38bac) Fix namespace and CRD handling logic (vibe slop)

</details>

---

### Configuration

📅 **Schedule**: (in timezone Europe/Oslo)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMTIuMyIsInVwZGF0ZWRJblZlciI6IjQ0LjExMi4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->

---------

Co-authored-by: Danijel Simeunovic <danijel.simeunovic@fortedigital.com>
Co-authored-by: Renovate Bot <renovate@forteapps.net>
Reviewed-on: https://git.forteapps.net/Forte/launchpad/pulls/39
Reviewed-by: Danijel Simeunovic <danijel.simeunovic@fortedigital.com>
Co-authored-by: gitea_admin <admin@forteapps.net>
Co-committed-by: gitea_admin <admin@forteapps.net>
2026-09-27 22:12:29 +00:00
danijel.simeunovic f35af13ef3 group:allNonMajor
/ test (push) Failing after 13m29s
2026-09-27 22:11:47 +00:00
Renovate Bot b638dc786f chore(deps): update dependency kubectl to v1.36.3
renovate/stability-days Updates have met minimum release age requirement
/ test (pull_request) Successful in 25s
2026-09-27 00:09:32 +00:00
7abee90f4e chore(deps): update dependency claude-code to v0.2.122 (#27)
/ test (push) Successful in 29s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [claude-code](https://github.com/anthropics/claude-code) | patch | `latest` → `0.2.122` |

---

### Release Notes

<details>
<summary>anthropics/claude-code (claude-code)</summary>

### [`v0.2.107`](https://github.com/anthropics/claude-code/blob/HEAD/CHANGELOG.md#02107)

- CLAUDE.md files can now import other files. Add @&#8203;path/to/file.md to ./CLAUDE.md to load additional files on launch

### [`v0.2.74`](https://github.com/anthropics/claude-code/blob/HEAD/CHANGELOG.md#0274)

- Added support for refreshing dynamically generated API keys (via apiKeyHelper), with a 5 minute TTL
- Task tool can now perform writes and run bash commands

### [`v0.2.69`](https://github.com/anthropics/claude-code/blob/HEAD/CHANGELOG.md#0269)

- Fixed UI glitches with improved Select component behavior
- Enhanced terminal output display with better text truncation logic

### [`v0.2.67`](https://github.com/anthropics/claude-code/blob/HEAD/CHANGELOG.md#0267)

- Shared project permission rules can be saved in .claude/settings.json

### [`v0.2.59`](https://github.com/anthropics/claude-code/blob/HEAD/CHANGELOG.md#0259)

- Copy+paste images directly into your prompt
- Improved progress indicators for bash and fetch tools
- Bugfixes for non-interactive mode (-p)

### [`v0.2.54`](https://github.com/anthropics/claude-code/blob/HEAD/CHANGELOG.md#0254)

- Quickly add to Memory by starting your message with '#'
- Press ctrl+r to see full output for long tool results
- Added support for MCP SSE transport

### [`v0.2.53`](https://github.com/anthropics/claude-code/blob/HEAD/CHANGELOG.md#0253)

- New web fetch tool lets Claude view URLs that you paste in
- Fixed a bug with JPEG detection

### [`v0.2.41`](https://github.com/anthropics/claude-code/blob/HEAD/CHANGELOG.md#0241)

- MCP server startup timeout can now be configured via MCP\_TIMEOUT environment variable
- MCP server startup no longer blocks the app from starting up

### [`v0.2.32`](https://github.com/anthropics/claude-code/blob/HEAD/CHANGELOG.md#0232)

- Interactive MCP setup wizard: Run "claude mcp add" to add MCP servers with a step-by-step interface
- Fix for some PersistentShell issues

### [`v0.2.30`](https://github.com/anthropics/claude-code/blob/HEAD/CHANGELOG.md#0230)

- Added ANSI color theme for better terminal compatibility
- Fixed issue where slash command arguments weren't being sent properly
- (Mac-only) API keys are now stored in macOS Keychain

</details>

---

### Configuration

📅 **Schedule**: (in timezone Europe/Oslo)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMTIuMyIsInVwZGF0ZWRJblZlciI6IjQ0LjExMi4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->

---------

Co-authored-by: Danijel Simeunovic <danijel.simeunovic@fortedigital.com>
Co-authored-by: Renovate Bot <renovate@forteapps.net>
Reviewed-on: #27
Reviewed-by: Danijel Simeunovic <danijel.simeunovic@fortedigital.com>
Co-authored-by: gitea_admin <admin@forteapps.net>
Co-committed-by: gitea_admin <admin@forteapps.net>
2026-09-25 05:47:12 +00:00
bb37c6051f chore(deps): update dependency _1password to v1.12.2 (#30)
/ test (push) Failing after 14m48s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [_1password](https://developer.1password.com/docs/cli/) | minor | `latest` → `1.12.2` |

---

### Configuration

📅 **Schedule**: (in timezone Europe/Oslo)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMTIuMyIsInVwZGF0ZWRJblZlciI6IjQ0LjExMi4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->

---------

Co-authored-by: Danijel Simeunovic <danijel.simeunovic@fortedigital.com>
Co-authored-by: Renovate Bot <renovate@forteapps.net>
Reviewed-on: #30
Reviewed-by: Danijel Simeunovic <danijel.simeunovic@fortedigital.com>
Co-authored-by: gitea_admin <admin@forteapps.net>
Co-committed-by: gitea_admin <admin@forteapps.net>
2026-09-25 05:46:32 +00:00
91c7a90d1b chore(deps): update alpine docker tag to v3.24 (#29)
/ test (push) Failing after 10m45s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [alpine](https://hub.docker.com/_/alpine) ([source](https://github.com/alpinelinux/docker-alpine)) | minor | `3.20` → `3.24` |

---

### Configuration

📅 **Schedule**: (in timezone Europe/Oslo)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMTIuMyIsInVwZGF0ZWRJblZlciI6IjQ0LjExMi4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->

---------

Co-authored-by: Renovate Bot <renovate@forteapps.net>
Reviewed-on: #29
Reviewed-by: Danijel Simeunovic <danijel.simeunovic@fortedigital.com>
Co-authored-by: gitea_admin <admin@forteapps.net>
Co-committed-by: gitea_admin <admin@forteapps.net>
2026-09-25 05:40:40 +00:00
d42b5a89f3 chore(deps): update dependency dotnet-sdk to v2.1.810 (#28)
/ test (push) Failing after 11m30s
This PR contains the following updates:

| Package | Update | Change |
|---|---|---|
| [dotnet-sdk](https://dotnet.github.io/) | patch | `latest` → `2.1.810` |

---

### Configuration

📅 **Schedule**: (in timezone Europe/Oslo)

- Branch creation
  - At any time (no schedule defined)
- Automerge
  - At any time (no schedule defined)

🚦 **Automerge**: Disabled by config. Please merge this manually once you are satisfied.

♻ **Rebasing**: Whenever PR becomes conflicted, or you tick the rebase/retry checkbox.

🔕 **Ignore**: Close this PR and you won't be reminded about this update again.

---

 - [ ] <!-- rebase-check -->If you want to rebase/retry this PR, check this box

---

This PR has been generated by [Mend Renovate CLI](https://github.com/renovatebot/renovate).
<!--renovate-debug:eyJjcmVhdGVkSW5WZXIiOiI0NC4xMTIuMyIsInVwZGF0ZWRJblZlciI6IjQ0LjExMi4zIiwidGFyZ2V0QnJhbmNoIjoibWFpbiIsImxhYmVscyI6WyJyZW5vdmF0ZSJdfQ==-->

---------

Co-authored-by: Renovate Bot <renovate@forteapps.net>
Reviewed-on: #28
Reviewed-by: Danijel Simeunovic <danijel.simeunovic@fortedigital.com>
Co-authored-by: gitea_admin <admin@forteapps.net>
Co-committed-by: gitea_admin <admin@forteapps.net>
2026-09-25 05:39:52 +00:00
danijel.simeunovic c1f4298bfe renovate
/ test (push) Successful in 23s
2026-09-25 00:02:00 +02:00
danijel.simeunovic 14cabaf3f5 version bumps
/ test (push) Successful in 36s
2026-09-24 23:56:20 +02:00
danijel.simeunovic 809e90d12d upgrade loki
/ test (push) Successful in 31s
2026-09-23 20:46:25 +00:00
danijel.simeunovic eeb7321819 loki values
/ test (push) Failing after 11m2s
2026-09-23 20:20:19 +00:00
danijel.simeunovic 133bdb8715 benken secret
/ test (push) Successful in 46s
2026-09-23 20:30:09 +02:00
danijel.simeunovic c47e89e02a Update infra/values/base/loki-values.yaml
/ test (push) Successful in 11s
2026-09-16 17:17:12 +00:00
danijel.simeunovic 3bf6f22a4a keycloak client cleanup: harden candidate selection
/ test (push) Successful in 8s
2026-09-04 12:05:23 +00:00
danijel.simeunovic 10f27fa3c4 harden client cleanup scheduling
/ test (push) Successful in 13s
timeZone: "Europe/Oslo"
    startingDeadlineSeconds: 3600
2026-09-04 11:38:33 +00:00
gitea_admin 90ba7ac905 Keycloak: Run client cleanup once a month
/ test (push) Successful in 13s
2026-09-03 09:52:49 +00:00
13 changed files with 108 additions and 56 deletions
@@ -7,7 +7,8 @@ metadata:
namespace: mcp10x
spec:
encryptedData:
FLOWCASE_TOKEN: AgAjQ0Jm779LiB2/EBKtIl18Iky/tgl7VvEvkJfr82mbe7JIp99+I8WPIMgmlXsxWBDfwJ/DZoDEAKG5o8mvwc7DtaE7LkpPSXKRIviLrm+7amNdEpwb1zKjCmZ3vNOPXLnCTD3W1od8u106MEvrZpt1N1Pzav/QUElAA4lqyf4AZPuio0H/7jF8QciVHIN4BdofodOmWWCTxP1aVMylat3txlkzuqwkXc1fKBPmOKC1qWepAG7dlQ3xJ2C5Cinz5IqOYnQPO6sm/Gp+c8yQSS+0NpKO3dp93yuwRsOLOMNpCeeYOyzn2ypFIdiBuLA5k85l5WyI9BCvRjP+kzRX+u69XL7p2eMEg+vRVfoOWNetysYCdK+96bWNVVleQEuPAFxsbJWK5eV8jTZk+QeFES8kkXQwUoTMqh+JULgONakxrzc1LmA+FtKNwHWCHalh8pLQ9KeI2i9E5CtotjHfEGLE6T0ibwwOg1ZrL3irQVII8VFm4Rk+dSicbeEMAtIaII023NWuZlonrwIIy+GSVzskhhcjV7t51hylqFA3yfb+RQCzdGYA5fySlJBWhli8IotvqnDmWduPBHGb/+yrdXHsaiDqWuUu6JBUg4JqM+AMa8FkaFh8SbctbGBoycpzLVFn9N2qWviojhC9s1NJ4MiCegvE6IsCLaHidY4UXeeGjUK6Mx6h4x3y/q7ZIrBIpUOJ+8I4Mgvi9sTCogeR+vWtpP9ZZ/31MXELuu/ho3Wn9Q==
BENKEN_CLIENT_SECRET: AgBjps8BCn20C8upAaAdb1fG4Qh3eKBbTeFuuWhQb8WoIvHmk+v03mw8i39evkQwlUWvLBWV1mtGiKwpCNhmAAdicRFG6u0m30+21K6ZtYqtKEniPKo/kjPd9nDbtxvIwiaqKs+kvFpqbxKaeqF5THYNxHZBg8gGeSbAkSx+BNIY2iLm8NRBzgC5FME5jbX8pet+DN7tbmsQTtG5f1q+h24aKXjvN5SigPft1BetfleHGlus0hFXpJ7zS4rV7rpSKSiLVV/KtS5YqEDj9uunZKyGT8j93z5xQbj0bCPVF3TU5+RCL6eE/GSgJxM4ePZ2gWZRG4eHDlGK2qE+JaNIng8wWycqLVrbs1kWoP2cdRGq6b8GHwoplAM4h4ud2fac6+5V4alhy8uhRTAX7dUG3UkwOQV/hTRb97pctPwQfltkBpDBhhW3Lfy9whSdqBuD9OqhegTqxCuWXr/P4KVOORUr0V0Iex45oLMqivI3FB2rTq9Lkwpf5YKE14d7RbKWF1G28FCNAcV8vnOIslkztLuu3GgQbVIoIiZGnnYEPofjUxbDZ/Sd1LrGeHEPR+/JJnNhNxv2297UuIIEC8kfiKuwjtLOMVQg51UbESx/+d1XmgLPqkz+jAqEPxvu8u5wO0Dov6vliTbtewJf8+fet3xnFNvyuY5ymmiTla6Gm9XPJscLj5iCzT3VhA/QuhhWXinmE/UnpYP0U4YPl5B/dUA9qT95BA6GBpDXPrDJRWNfpAH1wfG70lEBuBQXgdixYlwvx2JO6OI5+ztBKO0qFkgK
FLOWCASE_TOKEN: AgBLN1BWnFs3R2K+Wvb37ABucQWvx8mVVDEhZiIOYYLE8SDdbshxluP4J4IISmHwLX7Q0gYWeypfTCfvMa9c5b9AEjTcpodv4CMhjp5Mq7zUCtTI6pH6QZgLhjGheKCY+RciIK1DBsNk7CZa9MuVUdd1w0/m2C7fwikPPvNDHcNLR7zBBPWVlprgRyMrsdykcm7cmWcyqTwa/55DVPPJsG9x1K2YnjzgWHlX7BoLB/Nx7qX4XVadKEXnV0jVO5isalARxvke32pwebaiFSg8EZMhe4lntOqMSP26y/9RbveeEZS8qxzoR2OmsVrHUpMeppzpVkvQ9sKi2B4Vx8XoiRY6hZR+TmZKTvFa6JKx9gwAOVs53LEUaF7+uOQOrIcFyOXm7Ibj/azf7opqfvGajygRzSUaffTIixj+M5eJnm/iua/BWarW2w4c+ZIKvQ9DhcYpnF9Gj0U7+EWfNZyzlMoLRHsOIyKNUhOeEaSLoVQGyqRY72ZGqs83EPfQYlEu74PGyXPjd11KMhAayluGLadeAH2QDyigpf7REdXAGULNDhkJrqeYMmmGCZCyrvNOoXjYC4jQQEYA4Sd4QJA05q/EW8aFE/++nY8RqhbHqDz6wshAW/WFsTsR4JC6fc5qR+YVSmjKOa7lnk7I9vD7uPEZzCc6ImvA/NxTCfDKCREvLA5G0lYsmiTuxYmBesUgCSVVMxflEl1GXvGpFniZKPyvxIdna9j7XEQjUZsGTiyN1w==
template:
metadata:
creationTimestamp: null
+5 -5
View File
@@ -1,24 +1,24 @@
{
"$schema": "https://raw.githubusercontent.com/jetify-com/devbox/0.16.0/.schema/devbox.schema.json",
"packages": [
"kubectl@1.33.2",
"kubectl@1.36.3",
"kubernetes-helm@3.18.4",
"k9s@0.50.7",
"kubeseal@0.30.0",
"argocd@2.14.11",
"kubecm@0.33.1",
"kubectl-tree@0.4.3",
"kubectl-tree@0.6.0",
"kind@0.29.0",
"kustomize@5.7.0",
"kyverno@1.14.3",
"syft@1.29.0",
"grype@0.92.2",
"traefik@3.6.7",
"claude-code@latest",
"claude-code@0.2.122",
"go@latest",
"dotnet-sdk@latest",
"dotnet-sdk@2.1.810",
"opentofu@1.11.6",
"_1password@latest",
"_1password@1.12.2",
"github-cli@latest",
"upcloud-cli@3.29.0",
"awscli2@2.34.24"
-6
View File
@@ -1469,12 +1469,6 @@ ArgoCD will sync the Keycloak config, and the registrar CronJob will pick up the
| `k8s.secret.client-id-key` | No | `client-id` | Field name for the client ID in the K8s Secret |
| `k8s.secret.client-secret-key` | No | `client-secret` | Field name for the client secret in the K8s Secret |
#### Public CLI Client (Device-Code Login)
`forte-cli` is a shared **public** client (no secret) with the RFC 8628 device-authorization grant enabled (`oauth2.device.authorization.grant.enabled: "true"`, `standardFlowEnabled: false`, `directAccessGrantsEnabled: false`). Downloaded skills and CLI tools that log in through the Auth Sidecar (forte-drop first) use it with `<PREFIX>_CLIENT_ID=forte-cli`; nothing per-tool needs to be registered in Keycloak.
It must be defined in `forte-realm.json` (this legacy path): the self-service registrar hardcodes `publicClient: false` / `standardFlowEnabled: true` and drops `attributes`, so a `client-config` Secret cannot produce a public device-code client. It carries no `k8s.secret.sync` attribute (the registrar's secret sync skips it) and is listed in the cleanup CronJob's protected clients.
### Retrieving Secrets for External Deployments
The registrar always writes a **central copy** of every synced secret to the `secrets` namespace, in addition to the target namespace. This allows operators to retrieve client credentials for applications deployed outside this cluster:
+1 -1
View File
@@ -17,7 +17,7 @@ spec:
sources:
- repoURL: https://fluent.github.io/helm-charts
chart: fluent-bit
targetRevision: 0.47.10
targetRevision: 0.58.2
helm:
releaseName: fluent-bit
valueFiles:
+1 -1
View File
@@ -36,7 +36,7 @@ spec:
source:
chart: kyverno
repoURL: https://kyverno.github.io/kyverno/
targetRevision: v3.7.0 # Update to latest stable version
targetRevision: 3.9.1
helm:
releaseName: kyverno
valuesObject:
+1 -1
View File
@@ -17,7 +17,7 @@ spec:
sources:
- repoURL: https://grafana.github.io/helm-charts
chart: loki
targetRevision: "6.0.0"
targetRevision: "7.0.0"
helm:
releaseName: loki
valueFiles:
+1 -1
View File
@@ -17,7 +17,7 @@ spec:
sources:
- repoURL: ghcr.io/renovatebot/charts
chart: renovate
targetRevision: "46.109.0"
targetRevision: "46.318.0"
helm:
releaseName: renovate
valueFiles:
+2 -2
View File
@@ -16,8 +16,8 @@ spec:
source:
chart: sealed-secrets
repoURL: https://bitnami-labs.github.io/sealed-secrets
targetRevision: 2.16.2 # Update to latest stable version
repoURL: https://bitnami.github.io/sealed-secrets
targetRevision: 2.20.0
helm:
releaseName: sealed-secrets
parameters:
+1 -1
View File
@@ -17,7 +17,7 @@ spec:
sources:
- repoURL: https://helm.releases.hashicorp.com
chart: vault
targetRevision: "0.32.0"
targetRevision: "0.34.1"
helm:
releaseName: vault
valueFiles:
+12 -36
View File
@@ -186,35 +186,6 @@ keycloakConfigCli:
}
}
]
},
{
"clientId": "forte-cli",
"name": "Forte CLI",
"description": "Shared public client for RFC 8628 device-code login from downloaded skills/CLI tools (forte-drop first) against services behind Auth Sidecar. No client secret.",
"enabled": true,
"protocol": "openid-connect",
"standardFlowEnabled": false,
"directAccessGrantsEnabled": false,
"publicClient": true,
"redirectUris": [],
"webOrigins": [],
"attributes": {
"oauth2.device.authorization.grant.enabled": "true"
},
"protocolMappers": [
{
"name": "audience-forte-drop-mcp",
"protocol": "openid-connect",
"protocolMapper": "oidc-audience-mapper",
"consentRequired": false,
"config": {
"included.custom.audience": "https://mcp.drop.forteapps.net/mcp",
"access.token.claim": "true",
"id.token.claim": "false",
"introspection.token.claim": "true"
}
}
]
}
],
"browserFlow": "browser-auto-idp",
@@ -319,6 +290,7 @@ extraDeploy:
namespace: keycloak
spec:
schedule: "*/2 * * * *"
timeZone: "Europe/Oslo"
concurrencyPolicy: Forbid
successfulJobsHistoryLimit: 1
failedJobsHistoryLimit: 3
@@ -331,7 +303,7 @@ extraDeploy:
restartPolicy: Never
containers:
- name: registrar
image: alpine:3.20
image: alpine:3.24
command: [ "/bin/sh", "-c" ]
args:
- |
@@ -646,7 +618,9 @@ extraDeploy:
name: keycloak-client-cleanup
namespace: keycloak
spec:
schedule: "0 3 * * 0"
schedule: "0 3 1 * *"
timeZone: "Europe/Oslo"
startingDeadlineSeconds: 3600
concurrencyPolicy: Forbid
successfulJobsHistoryLimit: 1
failedJobsHistoryLimit: 3
@@ -659,7 +633,7 @@ extraDeploy:
restartPolicy: Never
containers:
- name: cleanup
image: alpine:3.20
image: alpine:3.24
command: [ "/bin/sh", "-c" ]
args:
- |
@@ -697,19 +671,21 @@ extraDeploy:
MIN_AGE_SEC=$((MIN_AGE_DAYS * 86400))
# Hardcoded protected clients (never delete these)
PROTECTED_JSON='["gitea","grafana","argocd","forte-cli","vaultwarden","account","account-console","admin-cli","broker","realm-management","security-admin-console"]'
PROTECTED_JSON='["gitea","grafana","argocd","vaultwarden","account","account-console","admin-cli","broker","realm-management","security-admin-console"]'
echo "Fetching clients from realm '${REALM}'..."
CLIENTS=$(curl -sf -H "Authorization: Bearer ${TOKEN}" \
"${KEYCLOAK_URL}/admin/realms/${REALM}/clients")
CANDIDATES=$(echo "$CLIENTS" | jq -c --argjson protected "$PROTECTED_JSON" --argjson now "$NOW_SEC" --argjson min_age "$MIN_AGE_SEC" --arg pattern "$CLIENT_ID_PATTERN" '
CANDIDATES=$(echo "$CLIENTS" | jq -c --argjson protected "$PROTECTED_JSON" \
--argjson now "$NOW_SEC" --argjson min_age "$MIN_AGE_SEC" --arg pattern "$CLIENT_ID_PATTERN" '
[
.[]
| select(.clientId as $cid | $protected | index($cid) | not)
| select(.attributes["k8s.secret.sync"] != "true")
| select(.clientId | test($pattern; "i"))
| select((.createdTimestamp // 0) / 1000 < ($now - $min_age))
| select(.attributes["client.secret.creation.time"] != null)
| select((.attributes["client.secret.creation.time"] | tonumber) < ($now - $min_age))
]
')
@@ -757,7 +733,7 @@ extraDeploy:
- name: DRY_RUN
value: "false"
- name: MIN_AGE_DAYS
value: "15"
value: "60"
volumeMounts:
- name: keycloak-credentials
mountPath: /secrets
+9
View File
@@ -17,7 +17,14 @@ loki:
period: 24h
object_store: filesystem # we're storing on filesystem so there's no real persistence here.
schema: v13
compactor:
working_directory: /var/loki/compactor
retention_enabled: true
delete_request_store: filesystem
compaction_interval: 10m
retention_delete_delay: 2h
limits_config:
retention_period: 168h # 7 days
reject_old_samples: true
reject_old_samples_max_age: 168h
ingestion_rate_mb: 15
@@ -28,6 +35,8 @@ chunksCache:
resultsCache:
enabled: false
singleBinary:
persistence:
size: 20Gi
replicas: 1
resources:
requests:
+5
View File
@@ -21,6 +21,11 @@ renovate:
"assignees": ["danijel.simeunovic"],
"reviewers": ["danijel.simeunovic"]
},
{
"matchRepositories": ["**/launchpad"],
"assignees": ["danijel.simeunovic"],
"reviewers": ["danijel.simeunovic"]
},
{
"matchRepositories": ["**/forte-helm"],
"assignees": ["danijel.simeunovic"],
+67
View File
@@ -0,0 +1,67 @@
{
"$schema": "https://docs.renovatebot.com/renovate-schema.json",
"extends": [
"config:recommended",
"group:allNonMajor",
":dependencyDashboard",
":semanticCommits"
],
"timezone": "Europe/Oslo",
"labels": ["renovate"],
"reviewers": ["danijel.simeunovic"],
"prConcurrentLimit": 10,
"prHourlyLimit": 4,
"minimumReleaseAge": "3 days",
"ignorePaths": [
"**/*-sealed.yaml",
"cluster-resources/policies/**",
"private/**",
".devbox/**"
],
"argocd": {
"description": "ArgoCD Applications live under infra/, apps/ and the root app-of-apps files. The manager skips any file without an argoproj.io apiVersion, so matching broadly is safe.",
"managerFilePatterns": [
"/^_app-of-apps-.+\\.yaml$/",
"/^apps/.+\\.yaml$/",
"/^infra/.+\\.yaml$/"
]
},
"helm-values": {
"description": "Values files are named <app>-values.yaml, not the default values.yaml.",
"managerFilePatterns": ["/^infra/values/.+\\.ya?ml$/"]
},
"kubernetes": {
"description": "Plain manifests with inline image references. Kyverno policies are excluded via ignorePaths - their images are Go templates, not tags.",
"managerFilePatterns": [
"/^cluster-resources/.+\\.yaml$/",
"/^apps/.+/resources/.+\\.yaml$/"
]
},
"packageRules": [
{
"description": "Every Application carries a second source pointing at this repo at HEAD for $values. HEAD is not a version.",
"matchDatasources": ["git-tags"],
"matchDepNames": ["/forteapps\\.net/"],
"enabled": false
},
{
"description": "Platform chart majors usually carry values-schema or CRD breaks - flag them for a careful read.",
"matchFileNames": ["infra/**"],
"matchUpdateTypes": ["major"],
"labels": ["renovate", "breaking-change"],
"minimumReleaseAge": "7 days"
},
{
"description": "Patch-level platform bumps are routine - let them through faster.",
"matchFileNames": ["infra/**"],
"matchUpdateTypes": ["patch"],
"minimumReleaseAge": "1 day"
}
]
}