Security features:
- Service mesh integration (mTLS)
- Non-root containers
- Network policies (optional)
- RBAC configurations
- No external API keys stored
serviceMesh:
istio: trueProvides:
- ✅ Automatic mTLS
- ✅ Traffic encryption
- ✅ Zero-trust networking
serviceMesh:
linkerd: trueProvides:
- ✅ Automatic mTLS
- ✅ Lightweight
- ✅ Simple setup
gateway:
podSecurityContext:
runAsNonRoot: true
runAsUser: 1000
fsGroup: 1000
seccompProfile:
type: RuntimeDefaultgateway:
securityContext:
allowPrivilegeEscalation: false
readOnlyRootFilesystem: true
runAsNonRoot: true
capabilities:
drop:
- ALLnetworkPolicies:
enabled: trueRestricts:
- Only gateway → runners traffic
- Only ingress → gateway traffic
- Deny all other traffic
apiVersion: networking.k8s.io/v1
kind: NetworkPolicy
metadata:
name: local-llm-gateway
spec:
podSelector:
matchLabels:
app.kubernetes.io/name: local-llm-gateway
policyTypes:
- Ingress
- Egress
ingress:
- from:
- namespaceSelector:
matchLabels:
name: ingress-nginx
egress:
- to:
- podSelector:
matchLabels:
local-llm-gateway.io/runner: llama3-8bGateway only needs:
- Read ConfigMaps
- Read Secrets (if used)
rbac:
create: true
serviceAccount:
create: true
name: local-llm-gatewaygateway:
env:
- name: API_KEY
valueFrom:
secretKeyRef:
name: local-llm-gateway-secrets
key: api-keyapiVersion: external-secrets.io/v1beta1
kind: ExternalSecret
metadata:
name: local-llm-gateway-secrets
spec:
secretStoreRef:
name: aws-secrets-manager
target:
name: local-llm-gateway-secrets
data:
- secretKey: api-key
remoteRef:
key: local-llm-gateway/api-key- Use service mesh for mTLS
- Run as non-root user
- Enable network policies
- Use RBAC
- Regular security updates (Dependabot)
- Scan images with Trivy
- Store API keys in ConfigMaps
- Run as root
- Allow privilege escalation
- Expose metrics publicly
- Use
latestimage tag
Restricted profile:
podSecurityContext:
runAsNonRoot: true
seccompProfile:
type: RuntimeDefault
securityContext:
allowPrivilegeEscalation: false
capabilities:
drop:
- ALLGitHub Actions runs Trivy scan:
- On every PR
- On every release
- Results in Security tab
Enable service mesh audit logs:
Istio:
meshConfig:
accessLogFile: /dev/stdoutLinkerd:
proxy:
logLevel: info- Enable Dependabot (automatic PRs)
- Monitor security advisories
- Update regularly
# Check for updates
helm search repo local-llm-gateway
# Upgrade
helm upgrade local-llm-gateway oci://ghcr.io/.../charts/local-llm-gateway --version 0.2.0