Files
SpecterOps-Nemesis/mkdocs.yml
Will Schroeder a36be30b39 K8s k3d/k3s support (#106)
* Add k8s/k3d/k3s deployment with Helm, KEDA autoscaling, and connection pool fixes

- Helm chart for full Nemesis deployment (Traefik, Dapr, KEDA, all services)
- KEDA autoscaling for file-enrichment and document-conversion on RabbitMQ queue depth
- Fix PostgreSQL connection exhaustion: configurable pool size (default 20, was 100)
- Cap Dapr statestore connections (maxConns=10), increase postgres max_connections to 300
- Add Prometheus metrics and /system/pool-stats endpoint for connection pool monitoring
- Background pool stats logger with pressure warnings
- Fix Prometheus scrape targets to correct service ports
- Helm-based Dapr install (v1.16.9) instead of CLI
- k8s setup/deploy/build/verify/teardown scripts
- Kubernetes deployment docs and references in CLAUDE.md, AGENTS.md, mkdocs

* Add KEDA autoscaling for titus-scanner and dotnet-service

* Add PgBouncer connection pooling, KEDA gotenberg CPU scaling, and tuning

- Add PgBouncer deployment between services and PostgreSQL (transaction pooling)
- Route all DB connections through pgbouncer instead of postgres directly
- Add KEDA CPU-based autoscaling for gotenberg (1-3 replicas)
- Mirror external images (pgbouncer) into k3d registry via build-and-push.sh
- Reduce queue-based cooldowns to 60s, gotenberg stabilization to 30s
- Add 180s terminationGracePeriodSeconds to gotenberg for in-flight conversions
- Update docs with PgBouncer architecture, connection tuning, and troubleshooting

* Add k3s support, unify Traefik on port 7443, rename scripts

- Add setup-cluster-k3s.sh and teardown-cluster-k3s.sh for native k3s
- Rename scripts with -k3d suffix to distinguish runtimes
- Unify k3s Traefik to HTTPS-only on port 7443 (matching k3d)
- Add k3d registry check for --build flag in deploy.sh
- Fix verify.sh arithmetic under set -e with || true
- Update docs with k3s quick start, comparison table, and teardown
- Add image-sync workflow and pgbouncer registry override for values-dev

* Add monitoring, Jupyter, and LLM optional stacks to Helm chart

- Monitoring: Prometheus, Grafana (with dashboards), Loki, Promtail,
  Jaeger, OTEL Collector, Node Exporter, Postgres Exporter
- Jupyter: notebook service with Hasura integration
- LLM: Agents (Dapr-enabled), LiteLLM proxy, Phoenix observability
- Add ingress routes, strip-prefix middleware, litellm database
- Update deploy.sh, build script, README, and test connectivity checks

* Add k3s --build support with auto-detection in deploy.sh

- deploy.sh --build auto-detects k3d registry vs k3s and uses appropriate build script
- Add build-and-load-k3s.sh for building and importing images into k3s containerd
- Add values-dev-k3s.yaml with imagePullPolicy: Never (no pgbouncer registry override)
- Fix jupyter Dockerfile context path in build-and-push-k3d.sh
- Update docs for k3s local build support

---------

Co-authored-by: Lee Chagolla-Christensen <lee@localhost>
2026-03-05 10:29:03 -08:00

79 lines
1.7 KiB
YAML

site_name: Nemesis Documentation
site_url: https://specterops.github.io/Nemesis/
repo_url: https://github.com/SpecterOps/Nemesis
repo_name: SpecterOps/Nemesis
edit_uri: edit/main/docs/
plugins:
- search
exclude_docs: |
/requirements.txt
nav:
- Nemesis: index.md
- Quickstart: quickstart.md
- Usage:
- usage_guide.md
- enrichment_configuration.md
- alerting.md
- cli.md
- agents.md
- chatbot.md
- troubleshooting.md
- yara.md
- Titus Rules: titus_rules.md
- Chromium Analysis: chromium.md
- DPAPI Analysis: dpapi.md
- Container Processing: containers.md
- reporting.md
- Performance Tuning: performance.md
- Services:
- hasura.md
- jupyter.md
- housekeeping.md
- Developer:
- Project Overview: overview.md
- Adding File Enrichment Modules: file_enrichment_modules.md
- Operational Data Reference: odr.md
- Docker Compose Documentation: docker_compose.md
- Kubernetes Deployment (k3d): kubernetes.md
- Nemesis API: api.md
theme:
name: material
locale: en
logo: images/logo.png
favicon: images/logo.png
features:
- navigation.sections
- content.code.copy
icon:
repo: fontawesome/brands/github
palette:
- media: "(prefers-color-scheme: light)"
scheme: nemesis-light
toggle:
icon: material/brightness-7
name: Switch to dark mode
- media: "(prefers-color-scheme: dark)"
scheme: nemesis-dark
toggle:
icon: material/brightness-4
name: Switch to light mode
extra_css:
- stylesheets/colors.css
markdown_extensions:
- admonition
- pymdownx.superfences
- pymdownx.highlight:
use_pygments: true