gcloud-lab/apps/base/osint-dashboard/templates/ingress/ingress.yaml
Sirius Devops 8255467313 feat: add OSINT Dashboard Kubernetes infrastructure
- Helm chart scaffold (Chart.yaml, values.yaml, _helpers.tpl)
- Namespace + RBAC manifests
- PostgreSQL (CNPG, 3 replicas, PostGIS + TimescaleDB)
- NATS JetStream (3 replicas, persistent, custom subjects)
- Redis Sentinel (1 primary + 2 replicas, HA)
- MinIO distributed (4 replicas, bucket init job)
- Gateway API HTTPRoute + cert-manager TLS certificates
- Monitoring stack (Prometheus, Grafana, Alertmanager, exporters)
- NetworkPolicies (default deny + per-component policies)
- GitHub Actions CI/CD pipeline (lint, template, security scan)
- Flux CD staging overlay
2026-05-21 13:25:15 +00:00

47 lines
1.1 KiB
YAML

{{- if .Values.ingress.enabled }}
{{- range $host := .Values.ingress.hosts }}
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
name: {{ $host.host | replace "." "-" | trunc 50 | trimSuffix "-" }}
namespace: {{ $.Values.namespace }}
labels:
{{- include "osint-dashboard.labels" $ | nindent 4 }}
spec:
parentRefs:
- name: external-http-gateway
hostnames:
- "{{ $host.host }}"
rules:
{{- range $rule := $host.paths }}
- matches:
- path:
type: PathPrefix
value: {{ $rule.path }}
backendRefs:
- name: dashboard-web
port: 3000
weight: 100
{{- end }}
---
{{- end }}
# TLS Certificate resources
{{- range $tls := .Values.ingress.tls }}
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: {{ $tls.secretName }}
namespace: {{ $.Values.namespace }}
labels:
{{- include "osint-dashboard.labels" $ | nindent 4 }}
spec:
secretName: {{ $tls.secretName }}
issuerRef:
name: {{ $.Values.ingress.certManager.clusterIssuerName }}
kind: ClusterIssuer
dnsNames:
{{- toYaml $tls.hosts | nindent 4 }}
---
{{- end }}
{{- end }}