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>
264 lines
8.6 KiB
Plaintext
264 lines
8.6 KiB
Plaintext
# github.com/Microsoft/go-winio v0.6.1
|
|
## explicit; go 1.17
|
|
github.com/Microsoft/go-winio
|
|
github.com/Microsoft/go-winio/internal/fs
|
|
github.com/Microsoft/go-winio/internal/socket
|
|
github.com/Microsoft/go-winio/internal/stringbuffer
|
|
github.com/Microsoft/go-winio/pkg/guid
|
|
# github.com/ajg/form v1.5.1
|
|
## explicit
|
|
github.com/ajg/form
|
|
# github.com/chorus-services/backbeat v0.0.0-00010101000000-000000000000 => ./BACKBEAT-prototype
|
|
## explicit; go 1.22
|
|
github.com/chorus-services/backbeat/pkg/sdk
|
|
# github.com/docker/distribution v2.8.2+incompatible
|
|
## explicit
|
|
github.com/docker/distribution/digestset
|
|
github.com/docker/distribution/reference
|
|
# github.com/docker/docker v24.0.7+incompatible
|
|
## explicit
|
|
github.com/docker/docker/api
|
|
github.com/docker/docker/api/types
|
|
github.com/docker/docker/api/types/blkiodev
|
|
github.com/docker/docker/api/types/container
|
|
github.com/docker/docker/api/types/events
|
|
github.com/docker/docker/api/types/filters
|
|
github.com/docker/docker/api/types/image
|
|
github.com/docker/docker/api/types/mount
|
|
github.com/docker/docker/api/types/network
|
|
github.com/docker/docker/api/types/registry
|
|
github.com/docker/docker/api/types/strslice
|
|
github.com/docker/docker/api/types/swarm
|
|
github.com/docker/docker/api/types/swarm/runtime
|
|
github.com/docker/docker/api/types/time
|
|
github.com/docker/docker/api/types/versions
|
|
github.com/docker/docker/api/types/volume
|
|
github.com/docker/docker/client
|
|
github.com/docker/docker/errdefs
|
|
# github.com/docker/go-connections v0.4.0
|
|
## explicit
|
|
github.com/docker/go-connections/nat
|
|
github.com/docker/go-connections/sockets
|
|
github.com/docker/go-connections/tlsconfig
|
|
# github.com/docker/go-units v0.5.0
|
|
## explicit
|
|
github.com/docker/go-units
|
|
# github.com/go-chi/chi/v5 v5.0.12
|
|
## explicit; go 1.14
|
|
github.com/go-chi/chi/v5
|
|
github.com/go-chi/chi/v5/middleware
|
|
# github.com/go-chi/cors v1.2.1
|
|
## explicit; go 1.14
|
|
github.com/go-chi/cors
|
|
# github.com/go-chi/render v1.0.3
|
|
## explicit; go 1.16
|
|
github.com/go-chi/render
|
|
# github.com/go-logr/logr v1.4.1
|
|
## explicit; go 1.18
|
|
github.com/go-logr/logr
|
|
github.com/go-logr/logr/funcr
|
|
# github.com/go-logr/stdr v1.2.2
|
|
## explicit; go 1.16
|
|
github.com/go-logr/stdr
|
|
# github.com/gogo/protobuf v1.3.2
|
|
## explicit; go 1.15
|
|
github.com/gogo/protobuf/proto
|
|
# github.com/golang-jwt/jwt/v5 v5.3.0
|
|
## explicit; go 1.21
|
|
github.com/golang-jwt/jwt/v5
|
|
# github.com/golang-migrate/migrate/v4 v4.17.0
|
|
## explicit; go 1.18
|
|
github.com/golang-migrate/migrate/v4
|
|
github.com/golang-migrate/migrate/v4/database
|
|
github.com/golang-migrate/migrate/v4/database/multistmt
|
|
github.com/golang-migrate/migrate/v4/database/postgres
|
|
github.com/golang-migrate/migrate/v4/internal/url
|
|
github.com/golang-migrate/migrate/v4/source
|
|
github.com/golang-migrate/migrate/v4/source/file
|
|
github.com/golang-migrate/migrate/v4/source/iofs
|
|
# github.com/google/uuid v1.6.0
|
|
## explicit
|
|
github.com/google/uuid
|
|
# github.com/hashicorp/errwrap v1.1.0
|
|
## explicit
|
|
github.com/hashicorp/errwrap
|
|
# github.com/hashicorp/go-multierror v1.1.1
|
|
## explicit; go 1.13
|
|
github.com/hashicorp/go-multierror
|
|
# github.com/jackc/pgpassfile v1.0.0
|
|
## explicit; go 1.12
|
|
github.com/jackc/pgpassfile
|
|
# github.com/jackc/pgservicefile v0.0.0-20231201235250-de7065d80cb9
|
|
## explicit; go 1.14
|
|
github.com/jackc/pgservicefile
|
|
# github.com/jackc/pgx/v5 v5.5.2
|
|
## explicit; go 1.19
|
|
github.com/jackc/pgx/v5
|
|
github.com/jackc/pgx/v5/internal/anynil
|
|
github.com/jackc/pgx/v5/internal/iobufpool
|
|
github.com/jackc/pgx/v5/internal/pgio
|
|
github.com/jackc/pgx/v5/internal/sanitize
|
|
github.com/jackc/pgx/v5/internal/stmtcache
|
|
github.com/jackc/pgx/v5/pgconn
|
|
github.com/jackc/pgx/v5/pgconn/internal/bgreader
|
|
github.com/jackc/pgx/v5/pgconn/internal/ctxwatch
|
|
github.com/jackc/pgx/v5/pgproto3
|
|
github.com/jackc/pgx/v5/pgtype
|
|
github.com/jackc/pgx/v5/pgxpool
|
|
github.com/jackc/pgx/v5/stdlib
|
|
# github.com/jackc/puddle/v2 v2.2.1
|
|
## explicit; go 1.19
|
|
github.com/jackc/puddle/v2
|
|
github.com/jackc/puddle/v2/internal/genstack
|
|
# github.com/kelseyhightower/envconfig v1.4.0
|
|
## explicit
|
|
github.com/kelseyhightower/envconfig
|
|
# github.com/klauspost/compress v1.17.2
|
|
## explicit; go 1.18
|
|
github.com/klauspost/compress/flate
|
|
# github.com/lib/pq v1.10.9
|
|
## explicit; go 1.13
|
|
github.com/lib/pq
|
|
github.com/lib/pq/oid
|
|
github.com/lib/pq/scram
|
|
# github.com/mattn/go-colorable v0.1.13
|
|
## explicit; go 1.15
|
|
github.com/mattn/go-colorable
|
|
# github.com/mattn/go-isatty v0.0.20
|
|
## explicit; go 1.15
|
|
github.com/mattn/go-isatty
|
|
# github.com/nats-io/nats.go v1.36.0
|
|
## explicit; go 1.20
|
|
github.com/nats-io/nats.go
|
|
github.com/nats-io/nats.go/encoders/builtin
|
|
github.com/nats-io/nats.go/internal/parser
|
|
github.com/nats-io/nats.go/util
|
|
# github.com/nats-io/nkeys v0.4.7
|
|
## explicit; go 1.20
|
|
github.com/nats-io/nkeys
|
|
# github.com/nats-io/nuid v1.0.1
|
|
## explicit
|
|
github.com/nats-io/nuid
|
|
# github.com/opencontainers/go-digest v1.0.0
|
|
## explicit; go 1.13
|
|
github.com/opencontainers/go-digest
|
|
# github.com/opencontainers/image-spec v1.0.2
|
|
## explicit
|
|
github.com/opencontainers/image-spec/specs-go
|
|
github.com/opencontainers/image-spec/specs-go/v1
|
|
# github.com/pkg/errors v0.9.1
|
|
## explicit
|
|
github.com/pkg/errors
|
|
# github.com/rs/zerolog v1.32.0
|
|
## explicit; go 1.15
|
|
github.com/rs/zerolog
|
|
github.com/rs/zerolog/internal/cbor
|
|
github.com/rs/zerolog/internal/json
|
|
github.com/rs/zerolog/log
|
|
# go.opentelemetry.io/otel v1.24.0
|
|
## explicit; go 1.20
|
|
go.opentelemetry.io/otel
|
|
go.opentelemetry.io/otel/attribute
|
|
go.opentelemetry.io/otel/baggage
|
|
go.opentelemetry.io/otel/codes
|
|
go.opentelemetry.io/otel/internal
|
|
go.opentelemetry.io/otel/internal/attribute
|
|
go.opentelemetry.io/otel/internal/baggage
|
|
go.opentelemetry.io/otel/internal/global
|
|
go.opentelemetry.io/otel/propagation
|
|
go.opentelemetry.io/otel/semconv/v1.21.0
|
|
go.opentelemetry.io/otel/semconv/v1.24.0
|
|
# go.opentelemetry.io/otel/exporters/jaeger v1.17.0
|
|
## explicit; go 1.19
|
|
go.opentelemetry.io/otel/exporters/jaeger
|
|
go.opentelemetry.io/otel/exporters/jaeger/internal/gen-go/agent
|
|
go.opentelemetry.io/otel/exporters/jaeger/internal/gen-go/jaeger
|
|
go.opentelemetry.io/otel/exporters/jaeger/internal/gen-go/zipkincore
|
|
go.opentelemetry.io/otel/exporters/jaeger/internal/third_party/thrift/lib/go/thrift
|
|
# go.opentelemetry.io/otel/metric v1.24.0
|
|
## explicit; go 1.20
|
|
go.opentelemetry.io/otel/metric
|
|
go.opentelemetry.io/otel/metric/embedded
|
|
# go.opentelemetry.io/otel/sdk v1.24.0
|
|
## explicit; go 1.20
|
|
go.opentelemetry.io/otel/sdk
|
|
go.opentelemetry.io/otel/sdk/instrumentation
|
|
go.opentelemetry.io/otel/sdk/internal
|
|
go.opentelemetry.io/otel/sdk/internal/env
|
|
go.opentelemetry.io/otel/sdk/resource
|
|
go.opentelemetry.io/otel/sdk/trace
|
|
# go.opentelemetry.io/otel/trace v1.24.0
|
|
## explicit; go 1.20
|
|
go.opentelemetry.io/otel/trace
|
|
go.opentelemetry.io/otel/trace/embedded
|
|
go.opentelemetry.io/otel/trace/noop
|
|
# go.uber.org/atomic v1.7.0
|
|
## explicit; go 1.13
|
|
go.uber.org/atomic
|
|
# golang.org/x/crypto v0.19.0
|
|
## explicit; go 1.18
|
|
golang.org/x/crypto/blake2b
|
|
golang.org/x/crypto/curve25519
|
|
golang.org/x/crypto/curve25519/internal/field
|
|
golang.org/x/crypto/ed25519
|
|
golang.org/x/crypto/internal/alias
|
|
golang.org/x/crypto/internal/poly1305
|
|
golang.org/x/crypto/nacl/box
|
|
golang.org/x/crypto/nacl/secretbox
|
|
golang.org/x/crypto/pbkdf2
|
|
golang.org/x/crypto/salsa20/salsa
|
|
# golang.org/x/mod v0.12.0
|
|
## explicit; go 1.17
|
|
golang.org/x/mod/semver
|
|
# golang.org/x/net v0.21.0
|
|
## explicit; go 1.18
|
|
golang.org/x/net/internal/socks
|
|
golang.org/x/net/proxy
|
|
# golang.org/x/sync v0.6.0
|
|
## explicit; go 1.18
|
|
golang.org/x/sync/semaphore
|
|
# golang.org/x/sys v0.17.0
|
|
## explicit; go 1.18
|
|
golang.org/x/sys/cpu
|
|
golang.org/x/sys/execabs
|
|
golang.org/x/sys/unix
|
|
golang.org/x/sys/windows
|
|
golang.org/x/sys/windows/registry
|
|
# golang.org/x/text v0.14.0
|
|
## explicit; go 1.18
|
|
golang.org/x/text/cases
|
|
golang.org/x/text/internal
|
|
golang.org/x/text/internal/language
|
|
golang.org/x/text/internal/language/compact
|
|
golang.org/x/text/internal/tag
|
|
golang.org/x/text/language
|
|
golang.org/x/text/runes
|
|
golang.org/x/text/secure/bidirule
|
|
golang.org/x/text/secure/precis
|
|
golang.org/x/text/transform
|
|
golang.org/x/text/unicode/bidi
|
|
golang.org/x/text/unicode/norm
|
|
golang.org/x/text/width
|
|
# golang.org/x/tools v0.13.0
|
|
## explicit; go 1.18
|
|
golang.org/x/tools/cmd/stringer
|
|
golang.org/x/tools/go/gcexportdata
|
|
golang.org/x/tools/go/internal/packagesdriver
|
|
golang.org/x/tools/go/packages
|
|
golang.org/x/tools/go/types/objectpath
|
|
golang.org/x/tools/internal/event
|
|
golang.org/x/tools/internal/event/core
|
|
golang.org/x/tools/internal/event/keys
|
|
golang.org/x/tools/internal/event/label
|
|
golang.org/x/tools/internal/event/tag
|
|
golang.org/x/tools/internal/gcimporter
|
|
golang.org/x/tools/internal/gocommand
|
|
golang.org/x/tools/internal/packagesinternal
|
|
golang.org/x/tools/internal/pkgbits
|
|
golang.org/x/tools/internal/tokeninternal
|
|
golang.org/x/tools/internal/typeparams
|
|
golang.org/x/tools/internal/typesinternal
|
|
# gotest.tools/v3 v3.5.2
|
|
## explicit; go 1.17
|
|
# github.com/chorus-services/backbeat => ./BACKBEAT-prototype
|