 131868bdca
			
		
	
	131868bdca
	
	
	
		
			
			Major security, observability, and configuration improvements:
## Security Hardening
- Implemented configurable CORS (no more wildcards)
- Added comprehensive auth middleware for admin endpoints
- Enhanced webhook HMAC validation
- Added input validation and rate limiting
- Security headers and CSP policies
## Configuration Management
- Made N8N webhook URL configurable (WHOOSH_N8N_BASE_URL)
- Replaced all hardcoded endpoints with environment variables
- Added feature flags for LLM vs heuristic composition
- Gitea fetch hardening with EAGER_FILTER and FULL_RESCAN options
## API Completeness
- Implemented GetCouncilComposition function
- Added GET /api/v1/councils/{id} endpoint
- Council artifacts API (POST/GET /api/v1/councils/{id}/artifacts)
- /admin/health/details endpoint with component status
- Database lookup for repository URLs (no hardcoded fallbacks)
## Observability & Performance
- Added OpenTelemetry distributed tracing with goal/pulse correlation
- Performance optimization database indexes
- Comprehensive health monitoring
- Enhanced logging and error handling
## Infrastructure
- Production-ready P2P discovery (replaces mock implementation)
- Removed unused Redis configuration
- Enhanced Docker Swarm integration
- Added migration files for performance indexes
## Code Quality
- Comprehensive input validation
- Graceful error handling and failsafe fallbacks
- Backwards compatibility maintained
- Following security best practices
🤖 Generated with [Claude Code](https://claude.ai/code)
Co-Authored-By: Claude <noreply@anthropic.com>
		
	
		
			
				
	
	
		
			25 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			1.6 KiB
		
	
	
	
		
			Markdown
		
	
	
	
	
	
| # Development, Testing and Contributing
 | |
| 
 | |
|   1. Make sure you have a running Docker daemon
 | |
|      (Install for [MacOS](https://docs.docker.com/docker-for-mac/))
 | |
|   1. Use a version of Go that supports [modules](https://golang.org/cmd/go/#hdr-Modules__module_versions__and_more) (e.g. Go 1.11+)
 | |
|   1. Fork this repo and `git clone` somewhere to `$GOPATH/src/github.com/golang-migrate/migrate`
 | |
|       * Ensure that [Go modules are enabled](https://golang.org/cmd/go/#hdr-Preliminary_module_support) (e.g. your repo path or the `GO111MODULE` environment variable are set correctly)
 | |
|   1. Install [golangci-lint](https://github.com/golangci/golangci-lint#install)
 | |
|   1. Run the linter: `golangci-lint run`
 | |
|   1. Confirm tests are working: `make test-short`
 | |
|   1. Write awesome code ...
 | |
|   1. `make test` to run all tests against all database versions
 | |
|   1. Push code and open Pull Request
 | |
|  
 | |
| Some more helpful commands:
 | |
| 
 | |
|   * You can specify which database/ source tests to run:
 | |
|     `make test-short SOURCE='file go_bindata' DATABASE='postgres cassandra'`
 | |
|   * After `make test`, run `make html-coverage` which opens a shiny test coverage overview.
 | |
|   * `make build-cli` builds the CLI in directory `cli/build/`.
 | |
|   * `make list-external-deps` lists all external dependencies for each package
 | |
|   * `make docs && make open-docs` opens godoc in your browser, `make kill-docs` kills the godoc server.
 | |
|     Repeatedly call `make docs` to refresh the server.
 | |
|   * Set the `DOCKER_API_VERSION` environment variable to the latest supported version if you get errors regarding the docker client API version being too new.
 |