forked from coracle/zooid
Switch to instance, stub out relay methods
This commit is contained in:
@@ -3,10 +3,14 @@
|
||||
|
||||
## Codebase Overview
|
||||
|
||||
- **zooid/config.go**: Defines `Config` struct with TOML tags for relay configuration (self info, groups, roles, data paths). Contains `loadConfig()` function that parses hostname-based config files from `configs/` directory.
|
||||
- **zooid/config.go**: Defines `Config` struct with TOML tags for relay configuration (self, groups, management, blossom, roles, data). Contains `LoadConfig()` function and `IsMember()` method.
|
||||
|
||||
- **zooid/http.go**: Core HTTP handling with dynamic instance creation. `getInstance()` function loads config and creates khatru relay instances on-demand. `ServeHTTP()` function routes requests to appropriate relay instances based on hostname.
|
||||
- **zooid/http.go**: Simple HTTP handler that calls `GetInstance()` and delegates to khatru relay.
|
||||
|
||||
- **zooid/util.go**: Environment variable utilities. `Env()` function with fallback support for configuration.
|
||||
- **zooid/instance.go**: Core instance management. `Instance` struct holds config and khatru relay. `MakeInstance()` creates configured relay instances with handlers. `GetInstance()` provides singleton access with lazy loading.
|
||||
|
||||
- **cmd/relay/main.go**: Main entry point that starts HTTP server with graceful shutdown handling. Uses `zooid.ServeHTTP` as the handler wrapped in `http.HandlerFunc`.
|
||||
- **zooid/blossom.go**: Blossom file storage integration with member-only access controls.
|
||||
|
||||
- **zooid/util.go**: Environment variable utilities with `Env()` function.
|
||||
|
||||
- **cmd/relay/main.go**: HTTP server entry point with graceful shutdown.
|
||||
|
||||
Reference in New Issue
Block a user