Bump WHOOSH release to 0.1.7

This commit is contained in:
Claude Code
2025-10-17 09:26:02 +11:00
parent e2847a64ba
commit f5a141f97b
4 changed files with 73 additions and 62 deletions

View File

@@ -1,4 +1,6 @@
FROM golang:1.22-alpine AS builder # syntax=docker/dockerfile:1.4
FROM golang:1.24-alpine AS builder
# Install build dependencies # Install build dependencies
RUN apk add --no-cache git ca-certificates tzdata RUN apk add --no-cache git ca-certificates tzdata
@@ -6,15 +8,15 @@ RUN apk add --no-cache git ca-certificates tzdata
# Set working directory # Set working directory
WORKDIR /app WORKDIR /app
# Provide CHORUS module for local replace directive
COPY --from=chorus / /CHORUS/
# Copy BACKBEAT dependency first # Copy BACKBEAT dependency first
COPY BACKBEAT-prototype ./BACKBEAT-prototype/ COPY BACKBEAT-prototype ./BACKBEAT-prototype/
# Copy go mod files first for better caching # Copy go mod files first for better caching
COPY go.mod go.sum ./ COPY go.mod go.sum ./
# Download and verify dependencies
RUN go mod download && go mod verify
# Copy source code # Copy source code
COPY . . COPY . .
@@ -24,7 +26,7 @@ RUN cp /etc/group /tmp/group && \
echo "docker:x:998:65534" >> /tmp/group echo "docker:x:998:65534" >> /tmp/group
# Build with optimizations and version info # Build with optimizations and version info
ARG VERSION=v0.1.0-mvp ARG VERSION=v0.1.7
ARG COMMIT_HASH ARG COMMIT_HASH
ARG BUILD_DATE ARG BUILD_DATE
RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \ RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build \

View File

@@ -26,7 +26,7 @@ const (
var ( var (
// Build-time variables (set via ldflags) // Build-time variables (set via ldflags)
version = "0.1.5" version = "0.1.7"
commitHash = "unknown" commitHash = "unknown"
buildDate = "unknown" buildDate = "unknown"
) )

View File

@@ -19,6 +19,7 @@ type Config struct {
N8N N8NConfig `envconfig:"n8n"` N8N N8NConfig `envconfig:"n8n"`
OpenTelemetry OpenTelemetryConfig `envconfig:"opentelemetry"` OpenTelemetry OpenTelemetryConfig `envconfig:"opentelemetry"`
Composer ComposerConfig `envconfig:"composer"` Composer ComposerConfig `envconfig:"composer"`
TaskAnnouncer TaskAnnouncerConfig `envconfig:"task_announcer"`
} }
type ServerConfig struct { type ServerConfig struct {
@@ -44,7 +45,6 @@ type DatabaseConfig struct {
MaxIdleConns int `envconfig:"DB_MAX_IDLE_CONNS" default:"5"` MaxIdleConns int `envconfig:"DB_MAX_IDLE_CONNS" default:"5"`
} }
type GITEAConfig struct { type GITEAConfig struct {
BaseURL string `envconfig:"BASE_URL" required:"true"` BaseURL string `envconfig:"BASE_URL" required:"true"`
Token string `envconfig:"TOKEN"` Token string `envconfig:"TOKEN"`
@@ -93,7 +93,7 @@ type N8NConfig struct {
type OpenTelemetryConfig struct { type OpenTelemetryConfig struct {
Enabled bool `envconfig:"ENABLED" default:"true"` Enabled bool `envconfig:"ENABLED" default:"true"`
ServiceName string `envconfig:"SERVICE_NAME" default:"whoosh"` ServiceName string `envconfig:"SERVICE_NAME" default:"whoosh"`
ServiceVersion string `envconfig:"SERVICE_VERSION" default:"1.0.0"` ServiceVersion string `envconfig:"SERVICE_VERSION" default:"0.1.7"`
Environment string `envconfig:"ENVIRONMENT" default:"production"` Environment string `envconfig:"ENVIRONMENT" default:"production"`
JaegerEndpoint string `envconfig:"JAEGER_ENDPOINT" default:"http://localhost:14268/api/traces"` JaegerEndpoint string `envconfig:"JAEGER_ENDPOINT" default:"http://localhost:14268/api/traces"`
SampleRate float64 `envconfig:"SAMPLE_RATE" default:"1.0"` SampleRate float64 `envconfig:"SAMPLE_RATE" default:"1.0"`
@@ -125,6 +125,16 @@ type ComposerConfig struct {
SkillMatchThreshold float64 `envconfig:"SKILL_MATCH_THRESHOLD" default:"0.6"` SkillMatchThreshold float64 `envconfig:"SKILL_MATCH_THRESHOLD" default:"0.6"`
} }
type TaskAnnouncerConfig struct {
Enabled bool `envconfig:"ENABLED" default:"false"`
Interval time.Duration `envconfig:"INTERVAL" default:"2m"`
ListenAddresses []string `envconfig:"LISTEN_ADDRESSES" default:"/ip4/0.0.0.0/tcp/0"`
BootstrapPeers []string `envconfig:"BOOTSTRAP_PEERS"`
MonitorLabels []string `envconfig:"MONITOR_LABELS" default:"bzzz-task"`
ReannounceAfter time.Duration `envconfig:"REANNOUNCE_AFTER" default:"12h"`
NodeID string `envconfig:"NODE_ID" default:"whoosh-task-announcer"`
}
func readSecretFile(filePath string) (string, error) { func readSecretFile(filePath string) (string, error) {
if filePath == "" { if filePath == "" {
return "", nil return "", nil
@@ -148,7 +158,6 @@ func (c *Config) loadSecrets() error {
c.Database.Password = password c.Database.Password = password
} }
// Load GITEA token from file if specified // Load GITEA token from file if specified
if c.GITEA.TokenFile != "" { if c.GITEA.TokenFile != "" {
token, err := readSecretFile(c.GITEA.TokenFile) token, err := readSecretFile(c.GITEA.TokenFile)

View File

@@ -4,7 +4,7 @@ set -e
# WHOOSH Docker Swarm Deployment Script # WHOOSH Docker Swarm Deployment Script
# Following CHORUS deployment patterns with SHHH secret management # Following CHORUS deployment patterns with SHHH secret management
VERSION=${1:-v0.1.0-mvp} VERSION=${1:-v0.1.7}
REGISTRY_HOST=registry.home.deepblack.cloud REGISTRY_HOST=registry.home.deepblack.cloud
echo "🎭 WHOOSH Swarm Deployment - Version: $VERSION" echo "🎭 WHOOSH Swarm Deployment - Version: $VERSION"