Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| df30877b5e | |||
| 9297398d56 | |||
| b0804e1e6a | |||
| 8216399155 | |||
| a70f078bbb | |||
| a24e61d538 | |||
| 275ec675da | |||
| 0a98674a27 | |||
| b713ec853c |
@@ -0,0 +1,20 @@
|
||||
on:
|
||||
push:
|
||||
branches:
|
||||
- main
|
||||
pull_request:
|
||||
|
||||
jobs:
|
||||
test:
|
||||
runs-on: ubuntu-latest
|
||||
steps:
|
||||
- name: Checkout code
|
||||
uses: actions/checkout@v4
|
||||
with:
|
||||
fetch-depth: 0
|
||||
- name: Install TruffleHog
|
||||
run: |
|
||||
curl -sSfL https://raw.githubusercontent.com/trufflesecurity/trufflehog/main/scripts/install.sh \
|
||||
| sh -s -- -b /usr/local/bin
|
||||
- name: Secret Scanning
|
||||
run: trufflehog git file://. --fail --no-update --results=verified,unknown
|
||||
@@ -77,6 +77,12 @@ spec:
|
||||
mc rm --recursive --force --older-than 30d "obj/${S3_BUCKET}/_pgbackups/" || true
|
||||
echo "backup retention pass complete"
|
||||
env:
|
||||
# mc writes its config under $MC_CONFIG_DIR; point it at the shared
|
||||
# emptyDir (writable by uid 65532 via fsGroup). Without this it tries
|
||||
# to mkdir /.mc on the read-only-to-nonroot root fs -> "mkdir /.mc:
|
||||
# permission denied" and every run fails before uploading.
|
||||
- name: MC_CONFIG_DIR
|
||||
value: "/work/.mc"
|
||||
- name: S3_ENDPOINT
|
||||
valueFrom:
|
||||
secretKeyRef: { name: forte-drop-secrets, key: S3_ENDPOINT }
|
||||
|
||||
@@ -5,9 +5,9 @@ metadata:
|
||||
namespace: argocd
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "1"
|
||||
notifications.argoproj.io/subscribe.on-sync-succeeded.slack: ""
|
||||
notifications.argoproj.io/subscribe.on-sync-failed.slack: ""
|
||||
notifications.argoproj.io/subscribe.on-degraded.slack: ""
|
||||
# notifications.argoproj.io/subscribe.on-sync-succeeded.slack: ""
|
||||
# notifications.argoproj.io/subscribe.on-sync-failed.slack: ""
|
||||
# notifications.argoproj.io/subscribe.on-degraded.slack: ""
|
||||
labels:
|
||||
app.kubernetes.io/name: forte-drop
|
||||
app.kubernetes.io/part-of: apps
|
||||
|
||||
@@ -1,8 +1,3 @@
|
||||
# Labeled config Secret read by the Keycloak Client Registrar. Kyverno clones it
|
||||
# to the keycloak namespace; a CronJob registers the OIDC client in the forte
|
||||
# realm and writes the credentials back as forte-drop-oidc-credentials in THIS
|
||||
# namespace (~2 min). The forte-helm auth sidecar (auth.type: oidc) consumes that
|
||||
# registrar-created Secret automatically — no manual SealedSecret step needed.
|
||||
apiVersion: v1
|
||||
kind: Secret
|
||||
metadata:
|
||||
@@ -24,8 +19,8 @@ stringData:
|
||||
"directAccessGrantsEnabled": false,
|
||||
"serviceAccountsEnabled": false,
|
||||
"publicClient": false,
|
||||
"redirectUris": ["https://drop-k8s.hackathon.forteapps.net/auth/callback"],
|
||||
"webOrigins": ["https://drop-k8s.hackathon.forteapps.net"],
|
||||
"redirectUris": ["https://drop.forteapps.net/auth/callback"],
|
||||
"webOrigins": ["https://drop.forteapps.net"],
|
||||
"defaultClientScopes": ["openid","email","profile"],
|
||||
"secret": {
|
||||
"namespace": "forte-drop",
|
||||
|
||||
@@ -1,7 +1,6 @@
|
||||
apiVersion: kustomize.config.k8s.io/v1beta1
|
||||
kind: Kustomization
|
||||
resources:
|
||||
- namespace.yaml
|
||||
- forte-drop.yaml
|
||||
- keycloak-client-forte-drop.yaml
|
||||
- forte-drop-pdb.yaml
|
||||
|
||||
@@ -1,17 +0,0 @@
|
||||
# Owns the forte-drop namespace shared by the web + mcp deployments and the
|
||||
# postgres StatefulSet (infra overlay). sync-wave -1 ensures the namespace exists
|
||||
# before the namespaced Secrets/PDB in this base apply (avoids a first-sync
|
||||
# "namespaces forte-drop not found" race when the business-apps parent syncs).
|
||||
# Prune=false so removing this base never cascade-deletes the namespace (and with
|
||||
# it postgres data + the mcp deployment) — matches the earlier decision to keep
|
||||
# namespace ownership decoupled from any single workload.
|
||||
apiVersion: v1
|
||||
kind: Namespace
|
||||
metadata:
|
||||
name: forte-drop
|
||||
annotations:
|
||||
argocd.argoproj.io/sync-wave: "-1"
|
||||
argocd.argoproj.io/sync-options: Prune=false
|
||||
labels:
|
||||
app.kubernetes.io/managed-by: argocd
|
||||
app.kubernetes.io/part-of: apps
|
||||
@@ -8,6 +8,6 @@ resources:
|
||||
|
||||
# No patches needed — base apps already default to "upc-dev" value paths
|
||||
# (upc-dev is the default/base cluster).
|
||||
# forte-drop (postgres + web + mcp) and dbunk-demo are upc-dev-only apps — they
|
||||
# have hackathon-domain hardcoded values and must not sync to upc-prod, so they
|
||||
# live here in the overlay rather than in apps/base/.
|
||||
# forte-drop (postgres + web + mcp) and dbunk-demo are upc-dev-only apps — their
|
||||
# values hardcode upc-dev hosts (drop.forteapps.net etc.) and must not sync to
|
||||
# upc-prod, so they live here in the overlay rather than in apps/base/.
|
||||
|
||||
@@ -17,7 +17,7 @@ spec:
|
||||
sources:
|
||||
- repoURL: https://dl.gitea.com/charts
|
||||
chart: gitea
|
||||
targetRevision: "12.5.0"
|
||||
targetRevision: "12.6.0"
|
||||
helm:
|
||||
releaseName: gitea
|
||||
valueFiles:
|
||||
|
||||
@@ -59,10 +59,6 @@ config:
|
||||
href: https://benken.hackathon.forteapps.net
|
||||
description: Teknisk kompetanse fra offentlige anbud
|
||||
icon: forte
|
||||
- Forte Drop:
|
||||
href: https://drop.hackathon.forteapps.net
|
||||
description: Self-hosted HTML-drops + MCP for Claude
|
||||
icon: forte
|
||||
- Forte Feedback:
|
||||
href: https://feedback.forteapps.net
|
||||
description: Fortes internal feedback app
|
||||
|
||||
Reference in New Issue
Block a user