Compare commits

...
2 Commits
Author SHA1 Message Date
duynguyen a06159c8e8 ignis: add basic auth via envoy SecurityPolicy
Ignis has no built-in auth; required now that ignis.fireflylab.cc
is a public hostname. Plain k8s Secret (no Vault yet) holding an
htpasswd hash, enforced at gateway via SecurityPolicy.
2026-08-04 00:14:33 +07:00
duynguyen 3d829d0ded ignis: add public hostname ignis.fireflylab.cc to HTTPRoute
Support multiple hostnames (LAN + public domain) via values list.
2026-08-04 00:08:02 +07:00
4 changed files with 37 additions and 20 deletions
@@ -0,0 +1,22 @@
{{- if .Values.auth.enabled }}
apiVersion: v1
kind: Secret
metadata:
name: {{ .Release.Name }}-basic-auth
type: Opaque
stringData:
.htpasswd: {{ .Values.auth.htpasswd | quote }}
---
apiVersion: gateway.envoyproxy.io/v1alpha1
kind: SecurityPolicy
metadata:
name: {{ .Release.Name }}-basic-auth
spec:
targetRefs:
- group: gateway.networking.k8s.io
kind: HTTPRoute
name: {{ .Release.Name }}
basicAuth:
users:
name: {{ .Release.Name }}-basic-auth
{{- end }}
+6 -3
View File
@@ -3,14 +3,17 @@ apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute kind: HTTPRoute
metadata: metadata:
name: {{ .Release.Name }} name: {{ .Release.Name }}
# No built-in auth in Ignis itself — LAN-only exposure, same tradeoff # Ignis has no built-in auth — basic-auth enforced at the gateway via
# already accepted for Vault in cluster-platform. # SecurityPolicy (see basic-auth.yaml), required since one hostname is
# public-facing (ignis.fireflylab.cc).
spec: spec:
parentRefs: parentRefs:
- name: envoy-gateway - name: envoy-gateway
namespace: envoy-gateway-system namespace: envoy-gateway-system
hostnames: hostnames:
- {{ .Values.httpRoute.hostname | quote }} {{- range .Values.httpRoute.hostnames }}
- {{ . | quote }}
{{- end }}
rules: rules:
- matches: - matches:
- path: - path:
+9 -1
View File
@@ -37,4 +37,12 @@ persistence:
httpRoute: httpRoute:
enabled: true enabled: true
hostname: ignis.fireflylab.local hostnames:
- ignis.fireflylab.local
- ignis.fireflylab.cc
auth:
enabled: true
# bcrypt htpasswd line, e.g. output of: htpasswd -nB <user>
# Generate this yourself — do not put the plaintext password here.
htpasswd: "duynguyen:$2y$05$0hgFpQXdm1arjoEG5Gqs5.Q0Bl8YGOgXVLzBXdQjCnBTRgR1sYb9O"
-16
View File
@@ -1,16 +0,0 @@
services:
ignis:
image: nobbe/ignis:latest
ports:
- "8080:8080"
environment:
- PUID=1000
- PGID=1000
volumes:
- ./vaults:/vaults
- ./data:/app/data
- obsidian-app:/app/obsidian-app
restart: unless-stopped
volumes:
obsidian-app: