This commit captures the current state before implementing the composable monorepo template system. Key changes included: Infrastructure: - Add CockroachDB provisioner adapter for database provisioning - Add Redis provisioner adapter for cache provisioning - Add build events system with PostgreSQL storage - Add WebSocket endpoint for real-time build progress Code agent improvements: - Fix Claude Code adapter to use default allowed tools instead of dangerously-skip-permissions - Add context-aware stream closing for cancellation support - Improve parser tests for edge cases Build system: - Add build event constants and metrics - Remove deprecated git_operations.go (replaced by pod_git_operations.go) - Add rollback logic for multi-step provisioning operations Documentation: - Add composable-monorepo feature documentation - Add DNS/Cloudflare service documentation - Update deployment and troubleshooting guides Cookbooks: - Add fullstack-app cookbook - Refactor landing-test with shared library Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
31 lines
1.2 KiB
Go
31 lines
1.2 KiB
Go
package domain
|
|
|
|
import "time"
|
|
|
|
// CacheCredentials represents isolated cache access for a project.
|
|
// Uses Redis ACLs to scope access to project-specific key prefix.
|
|
type CacheCredentials struct {
|
|
ProjectID string `json:"project_id" db:"project_id"`
|
|
URL string `json:"url" db:"url"` // redis://user:pass@host:port
|
|
URLStaging string `json:"url_staging" db:"url_staging"` // staging connection (same for now)
|
|
Prefix string `json:"prefix" db:"prefix"` // project:{id}:
|
|
Username string `json:"username" db:"username"` // proj-{id}
|
|
Host string `json:"host" db:"host"` // redis.databases.svc
|
|
Port int `json:"port" db:"port"` // 6379
|
|
CreatedAt time.Time `json:"created_at" db:"created_at"`
|
|
}
|
|
|
|
// CacheConfig holds cache provisioning configuration.
|
|
type CacheConfig struct {
|
|
// AdminHost is the Redis host for admin operations
|
|
AdminHost string
|
|
// AdminPort is the Redis port
|
|
AdminPort int
|
|
// AdminPassword is the password for the default/admin user
|
|
AdminPassword string
|
|
// KeyPrefix is the base prefix for all project keys (e.g., "project:")
|
|
KeyPrefix string
|
|
// DefaultTTL is the default TTL for cached items (0 = no default TTL)
|
|
DefaultTTL time.Duration
|
|
}
|