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-18 00:57:53 +00:00
|
|
|
{{- 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:
|
2026-05-23 04:38:51 +00:00
|
|
|
{{- if eq $host.host "dashboard.siriusdevops.com" }}
|
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-18 00:57:53 +00:00
|
|
|
- name: dashboard-web
|
|
|
|
|
port: 3000
|
2026-05-23 04:38:51 +00:00
|
|
|
{{- else if eq $host.host "api.siriusdevops.com" }}
|
|
|
|
|
- name: {{ include "osint-dashboard.fullname" $ }}-api
|
|
|
|
|
port: 8000
|
|
|
|
|
{{- else if eq $host.host "ws.siriusdevops.com" }}
|
|
|
|
|
- name: {{ include "osint-dashboard.fullname" $ }}-api
|
|
|
|
|
port: 8000
|
|
|
|
|
{{- else }}
|
|
|
|
|
- name: dashboard-web
|
|
|
|
|
port: 3000
|
|
|
|
|
{{- end }}
|
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-18 00:57:53 +00:00
|
|
|
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 }}
|