42 Commits

Author SHA1 Message Date
Jerry Xie 25804bc01d compose: add AEGIS_SEED_PACKS (catalog packs are data, opt-in, minimal default)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0187EsBsZaut2nMZ3LCrvPhW
2026-08-22 13:05:48 -07:00
Jerry Xie 2236ef6e7f compose: MVP hub-only (drop Envoy/overlay), fix join via HUB_INTERNAL_HOSTS
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_0187EsBsZaut2nMZ3LCrvPhW
2026-08-21 23:03:35 -07:00
Jerry Xie 7583b48329 Use a known default credential (admin/aegis) instead of "changeme"
A fresh install should be predictable: a demo can be handed over without
reading a password off a terminal, and the documented quickstart and the
one-liner installer now agree on the same value rather than diverging the
moment the installer generated a random one.

The trade is deliberate and worth naming. This hub provisions hardware and
runs commands as root on every node it manages, and this file publishes 80
and 443 — so a known default is fine on a laptop or a lab network and is not
fine on anything reachable. The installer now says so in its closing output,
where it will actually be read, rather than only in the docs.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UC1bwEPiq5ytX7VXap8cDK
2026-08-21 11:02:44 -07:00
Jerry Xie c1d77eb738 docs: add a configuration reference, and stop teaching a deprecated variable
The installer asks about a dozen settings and there was nowhere to read what
any of them mean. docs/configuration.md documents every one — installer
prompts, hub environment variables and ports — with defaults, what breaks if
the value is wrong, and worked examples. The installer now links to it, both
before the first question and after the install finishes.

The compose file also shipped AGENT_HOST, which the hub renamed to
HUB_EXTERNAL_HOST: still honoured, but it logs a deprecation on every boot, so
the file everyone copies was teaching the old name and guaranteeing the warning.
Both names are documented; the installer writes whichever key the compose file
actually contains, so an older file or a pinned fork keeps working.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01UC1bwEPiq5ytX7VXap8cDK
2026-08-21 00:44:23 -07:00
Yang Yang Xie cab66b6c4d chore: ignore .DS_Store, and stop tracking the two that slipped in
Committed by accident in the previous commit via 'git add -A'. macOS writes
these into every directory it browses; they have no business in a repo that
strangers clone.
2026-08-20 15:03:58 -07:00
Yang Yang Xie a92bbcd782 docs: rewrite for the product this actually became
The README was written when Aegis was a monitoring and gateway tool, and it has
been describing that product for three months while the thing itself grew into a
platform. The headline still read "Self-hosted Envoy gateway · AI threat
analysis · TLS automation · Real-time dashboard" — all true, all now one
subsystem of several, and none of it the reason someone would choose this.

README now leads with what it is: one control plane from the bare metal up,
air-gapped by default, with the customer's model weights staying on the
customer's storage. The gateway keeps its place; it just stops being the whole
story. A note records the scope change rather than pretending the old framing
never existed.

ROADMAP is rewritten, not amended. It listed a container manager, a Docker
registry, an embedded DNS server and AI-driven deployment orchestration as
future phases — all four shipped. A roadmap that describes delivered features as
upcoming undersells the product to exactly the reader who bothered to open it.
It is now built / next / then, matching the private status doc so the two cannot
drift.

CHANGELOG gains 1.3, covering three months: bare-metal provisioning, the
Kubernetes lifecycle with air-gapped installs validated live, Depot with
pluggable storage backends and reference-only artifacts, GPU-aware workloads,
Owl's risk-classified tool surface, and the auth middleware rewrite that
replaced a method-blind public-route match.

FIXED A BROKEN QUICKSTART, which is the part that mattered most. The published
docker-compose.yml exposes only 8765, while agents dial in on 8766 and the
overlay needs 3478/udp and 51820/udp. Anyone following the new one-line
enrolment instructions would have watched the installer succeed and the node
never appear. Both ports are now published with comments explaining when they
are needed, and AGENT_HOST is present with a note that it must be set to
something the nodes can actually resolve before enrolling any.

Every internal link in README and ROADMAP verified to resolve; compose file
validated.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01B9dzsPuPpFbdgCuUDgsG8L
2026-08-20 15:02:01 -07:00
Yang Yang Xie ce683d4fd1 docs: add v1.1.0 changelog and update README with Protection features
- CHANGELOG: document styled error pages, per-FC maintenance mode, dynamic
  preview, Envoy NACK fix, theme variable fixes, and Owl MCP updates
- README: add Protection & Maintenance and Per-Domain Maintenance via Owl
  feature cards to the features table

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 23:18:13 -07:00
Yang Yang Xie 66305026e9 Add Videos section to README with YouTube links
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-23 09:51:33 -07:00
Yang Yang Xie 3fbeade2eb Add Part 4: AI-driven protection — cluster disable/re-enable with Owl 2026-05-20 21:33:42 -07:00
Yang Yang Xie f95ed6a367 Add Part 3: Understanding the Dashboard tutorial with walkthrough GIF 2026-05-20 21:16:56 -07:00
Yang Yang Xie 0d46ca8d13 Redesign README: hero GIF + screenshot grid, trim verbose sections 2026-05-20 21:06:29 -07:00
Yang Yang Xie 0ab6f63d6a Fix tutorial links in README, add tutorials table with numbered series 2026-05-20 21:04:56 -07:00
Yang Yang Xie 7ced0556f2 Rename tutorials to 01-xx / 02-xx naming convention 2026-05-20 21:04:18 -07:00
Yang Yang Xie 9e891a8ec1 Reorganise tutorials into docs/tutorials/ folder, fix all links 2026-05-20 21:03:49 -07:00
Yang Yang Xie 6a7c7ee03e Add Owl Chat configuration as prerequisite step with demo GIF 2026-05-20 21:01:39 -07:00
Yang Yang Xie eb196192b4 Add Owl AI gateway setup tutorial with demo GIFs 2026-05-20 20:57:58 -07:00
Yang Yang Xie 42a8f379fa Add Owl AI setup demo GIF 2026-05-20 20:11:36 -07:00
Yang Yang Xie f525725cbf Add GIFs and improve tutorial-whoami-local-https
- Add step-by-step GIFs for all 7 tutorial steps
- Update Step 5 to show both UI download and curl options for CA cert
- Assets in docs/assets/

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 19:34:29 -07:00
Yang Yang Xie f0c4a1c465 Note dnsLookupFamily V4_ONLY via Advanced parameters panel
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 17:43:34 -07:00
Yang Yang Xie 761f8d8510 Fix two bugs from remote: service name and IPv6 DNS
- Rename aegis-gateway back to aegis — envoy.yaml connects to hostname
  'aegis', renaming broke xDS entirely (Envoy got zero dynamic config)
- Add DNS Lookup Family V4_ONLY to tutorial cluster step — host.docker.internal
  resolves IPv6-first on Mac/Docker Desktop, causing connection failures
  to IPv4-only containers

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 17:40:01 -07:00
Yang Yang Xie b1d9a126be Use standalone whoami container with host.docker.internal
Runs whoami independently with a published port (8081:80) instead of
adding it to the Aegis docker-compose.yml. Envoy reaches it via
host.docker.internal:8081 — matches real-world usage where services
are not in the same Docker network as the gateway.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 17:32:11 -07:00
Yang Yang Xie 3188b44e4e Simplify Step 1: add whoami to existing docker-compose.yml
No override file, no separate directory needed. User already has aegis
+ envoy running from getting-started — whoami just joins the same
Compose network by being in the same file.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 17:30:33 -07:00
Yang Yang Xie 45ccbb0967 Fix Step 1: use docker-compose.override.yml instead of cat append
cat >> appended after the volumes: block, producing invalid YAML.
Override file is the correct pattern — Docker merges it automatically
without touching the original docker-compose.yml.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 17:25:52 -07:00
Yang Yang Xie 732cbb38fd Make tutorial steps fully copy-paste executable
- Step 1: replace manual docker-compose.yml edit with cat >> heredoc + docker compose up
- Step 5: replace UI download button with curl http://localhost:8765/api/certs/ca
- Add PowerShell commands for Windows CA trust

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 17:24:23 -07:00
Yang Yang Xie 8b52fac5fe Simplify getting-started: end at step 3, move config to separate docs
Getting started now covers only bootstrap (download → set password → start).
Configuration (clusters, TLS, filter chains) is deferred to the tutorial
and envoy-config.md so the onboarding path stays linear.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 17:21:59 -07:00
Yang Yang Xie 440260a0f6 Overhaul docs for auto-bootstrap, Local CA, and whoami tutorial
- Remove starter.json (no longer needed — gateway auto-bootstraps on first boot)
- Add envoy/envoy.yaml static bootstrap config
- Fix docker-compose.yml to use envoy.yaml instead of starter.json
- Update README: fix quick start flow, add Local CA section, add tutorial link
- Rewrite getting-started.md: auto-bootstrap, Local CA, bring-your-own-CA
- Update envoy-config.md: replace import section with auto-bootstrap explanation
- Add docs/tutorial-whoami-local-https.md: end-to-end local HTTPS with whoami
- Add configs/README.md: clarify configs dir purpose

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-20 17:16:06 -07:00
Jerry Xie 9f0f8c42c7 docs: add curl command to download demo_generator.py for quick demo users
TAG=agy
CONV=3d648f6b-0667-4e10-9b18-97a593fc398c
2026-05-19 21:20:55 +00:00
Jerry Xie 42e712b80c docs: update README to reflect settings password change and AUTH_ENABLED fixes
TAG=agy
CONV=3d648f6b-0667-4e10-9b18-97a593fc398c
2026-05-19 21:14:53 +00:00
Jerry Xie 8ec1e4bc2a docs: add detailed README in scripts folder explaining the demo traffic generator architecture 2026-05-19 20:43:56 +00:00
Jerry Xie 2cf9c94699 docs: add and embed rich vector SVG sequence
diagrams for Port Forwarding, VPS Relay, and Cloudflare Tunnel
  exposure flows
2026-05-19 18:18:15 +00:00
Jerry Xie 4c9b21debc docs: add Cloudflare Tunnel exposure architecture guide and sequence diagrams 2026-05-19 17:29:51 +00:00
Jerry Xie bb77d9af78 fix: correct Envoy bootstrap architecture, docker-compose configuration, and installation docs 2026-05-19 17:08:21 +00:00
Yang Yang Xie fcb55f10d5 Add About the Author section
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 00:37:57 -07:00
Yang Yang Xie 7107b2fa23 Center logo, title, tagline and badges in README header
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 00:34:57 -07:00
Yang Yang Xie d28702b5e7 Add Aegis logo to repo and README header
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 00:34:08 -07:00
Yang Yang Xie d13a049fae Add feature screenshots for docs and marketing use
One PNG per feature extracted from demo recordings.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 00:28:16 -07:00
Yang Yang Xie c2264949db Fix mobile demo GIF — correct recording, full 103s, no crop
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 00:27:30 -07:00
Yang Yang Xie 89ccde8247 Re-record dashboard GIF — full length, covers map and blocking sections
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 00:25:05 -07:00
Yang Yang Xie b64d03ef0d Replace MP4 demos with GIF (GitHub README compatible)
Trimmed each clip to 12-20s highlight, converted to 10fps 800px GIF.
Mobile clip converted to 400px GIF (5.5s full clip).

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 00:19:56 -07:00
Yang Yang Xie eecf8b7373 Add feature demo videos and Features in Action section to README
7 MP4 demos covering dashboard, Owl AI chat, IP intelligence, gateway
topology, TLS automation, AI patrol, and mobile Owl interaction.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-19 00:17:49 -07:00
Yang Yang Xie 5eb388011a Update author name to Jerry Xie 2026-05-18 23:13:24 -07:00
Yang Yang Xie 69ddc0d88b Initial release — Aegis v1.0.0
Self-hosted Envoy gateway with AI threat analysis, TLS automation,
and real-time security dashboard.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-05-18 23:12:13 -07:00