Migrate to mcdsl: auth, config, csrf, web

- Replace internal/auth with mcdsl/auth
- Replace internal/config with mcdsl/config (embed config.Base)
- Replace internal/webserver/csrf.go with mcdsl/csrf
- Use mcdsl/web for session cookies and template rendering
- Use mcdsl/httpserver for server setup and StatusWriter
- Remove direct mcias client library dependency
- Update .golangci.yaml to v2 format (formatters section)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
This commit is contained in:
2026-03-25 17:53:15 -07:00
commit 0cada7e64e
21 changed files with 1042 additions and 0 deletions

39
README.md Normal file
View File

@@ -0,0 +1,39 @@
# mcat
mcat is a lightweight web application for testing and auditing MCIAS login
policies. It presents a login form that forwards credentials, along with a
configurable `service_name` and `tags`, to an MCIAS instance. This lets
operators verify that login policy rules behave as expected for a given
service context.
It follows the standard Metacircular Dynamics engineering standards.
## Quick Start
```bash
# Build
make mcat
# Configure (copy and edit the example config)
mkdir -p srv/certs
cp deploy/examples/mcat.toml.example srv/mcat.toml
# Edit srv/mcat.toml with your MCIAS URL, TLS certs, service_name, and tags
# Run
./mcat server --config srv/mcat.toml
```
Then open `https://localhost:8443` in a browser.
## Build
```bash
make all # vet, lint, test, build
make test # tests only
make lint # golangci-lint
```
## Documentation
- [ARCHITECTURE.md](ARCHITECTURE.md) — system design, routes, config reference
- [RUNBOOK.md](RUNBOOK.md) — operational procedures