Commit Graph

15 Commits

Author SHA1 Message Date
GraceSolutions 2376daf91c feat(startup): wire runner, engine, and scheduler into foreground mode
Derives a 32-byte AES key from the configured secret via SHA-256, constructs
the ConnectionService, Runner, and Engine, and starts the Scheduler so
enabled rules fire automatically. Injects the shared services into the HTTP
server via a new Dependencies struct so API handlers can reuse them.
2026-04-23 12:14:50 -04:00
GraceSolutions bca862ca01 feat(rules): implement end-to-end rule execution pipeline
- Add engine.Execute() that searches AD, iterates matches, runs actions,
  honors StopOnError and PreviewOnly, and supports context cancellation
- Resolve base DN and search scope from rule override then connection defaults
- Add actionExecutor covering AddToGroup, AddGroupToGroup, EnsureGroupExists,
  MoveToOu, and RemoveFromGroupIfNoLongerMatched with dynamic DN expansion
- Add RuleRunRepository persisting rule_runs and rule_run_actions
- Add Runner coordinator that loads rule+connection, builds an LDAP client,
  invokes the engine, and records the run + per-action outcomes
- Expose ConnectionService.BuildClient / BuildLDAPConfig for reuse
- Scheduler now accepts a RuleRunner and invokes it when a scheduled rule fires
2026-04-23 12:12:59 -04:00
GraceSolutions 8986fc9325 chore: Flatten frontend, remove figma/docs (88MB saved)
- Moved main package contents to frontend root
- Removed figma-file directory (88MB)
- Removed docs directory
- Removed unused package variants
2026-04-19 10:22:23 -04:00
GraceSolutions 9acf3b8289 Merge commit '1652dad4f7b69d8375596d27e514513e4a970470' as 'frontend' 2026-04-19 10:20:39 -04:00
GraceSolutions 1652dad4f7 Squashed 'frontend/' content from commit dd8b361
git-subtree-dir: frontend
git-subtree-split: dd8b361b4469f8656dba9b8c4ecf65689a64f975
2026-04-19 10:20:39 -04:00
GraceSolutions 65dc1e15a4 chore: Remove scaffold frontend, will use Spike template via subtree 2026-04-19 10:20:24 -04:00
GraceSolutions 46fc0409ad feat: Add Next.js 14 frontend scaffold
- Next.js 14 with App Router
- TypeScript strict mode
- Tailwind CSS with dark mode support
- React Query for server state
- NextAuth.js integration ready
- Dashboard layout with sidebar navigation
- API client with error handling
- Core type definitions for all entities
- Utility functions for dates and classnames
2026-04-19 10:19:40 -04:00
GraceSolutions 148841d77c feat: Add credentials and connections API handlers 2026-04-19 10:16:44 -04:00
GraceSolutions 7b574db88c feat: Add variable expansion, API key service, and validation 2026-04-19 10:15:23 -04:00
GraceSolutions 060094ce7a feat: Add rule engine, services, and business logic
- Rule engine with preview and condition evaluation
- LDAP filter generation from rule conditions
- Connection service with full test workflow
- Credential service with encryption/decryption
- Rule service with validation
- Backup service with retention management
- Integration between services and repositories
2026-04-19 10:13:29 -04:00
GraceSolutions 4e6ed52e51 feat: Add API handlers, LDAP client, and repositories
- API response helpers and error codes
- Authentication handlers (login, logout, me, csrf)
- Auth middleware (session validation, role checks, CSRF)
- LDAP client with TLS/StartTLS support
- LDAP filter construction from conditions
- AD operations (group membership, move, create group/OU)
- Credentials repository (CRUD, test results, usage check)
- AD connections repository (CRUD, test results)
- Schedules repository (CRUD, next run tracking)
- Rules repository with nested condition groups and actions
- go-ldap/ldap/v3 dependency added
2026-04-19 10:11:16 -04:00
GraceSolutions 09a09d4a68 feat: Initial backend scaffold - Go service, database, CLI, API structure
Phase 1 foundations:
- Go backend with Chi router framework
- SQLite database with WAL mode and foreign keys
- Database migrations for users, roles, credentials, AD connections, schedules, rules, and audit
- CLI commands: init, run, install, uninstall, start, stop, migrate, backup, restore, doctor
- Configuration loading from environment variables
- Centralized logging with file rotation (lumberjack)
- Crypto package for Argon2id password hashing and AES-GCM encryption
- Auth service with session management
- Audit service for event logging
- Scheduler with 6-field cron support
- REST API routes scaffolded for all major resources
- CORS support with localhost defaults for development
- Docker support with Dockerfile and docker-compose.yml
- Multi-platform build script (PowerShell)
- Project structure per design specification

Version format: yyyy.MM.dd.HHmm
All PKs are UUIDv4, all timestamps UTC
2026-04-19 10:07:21 -04:00
freedbygrace efe9f76812 Rename project to OrchestrAD and enhance README
Updated project name and provided detailed overview and features.
2026-04-15 15:24:52 -04:00
GraceSolutions 617a849457 Add Design Specifications
Add the main, and template design specifications.
2026-04-15 14:51:53 -04:00
GraceSolutions 91088d748a Initial commit 2026-04-15 14:23:32 -04:00