multica-ai/multica · warning · ErrDisabled

cloud runtime fleet URL is not configured

Error message

cloud runtime fleet URL is not configured

What it means

Sentinel error ErrDisabled in server/internal/cloudruntime/client.go: the cloud-runtime client was constructed without a Fleet base URL, so every operation that needs the cloud runtime fleet fails immediately rather than attempting a request to an empty address. It indicates the server installation has the cloud runtime integration unconfigured (disabled), not a transient network problem.

Source

Thrown at server/internal/cloudruntime/client.go:21

import (
	"bytes"
	"context"
	"errors"
	"fmt"
	"io"
	"net/http"
	"net/url"
	"strings"
	"time"
)

const (
	defaultTimeout      = 35 * time.Second
	maxResponseBodySize = 1 << 20
)

var (
	ErrDisabled       = errors.New("cloud runtime fleet URL is not configured")
	ErrInvalidBaseURL = errors.New("cloud runtime fleet URL is invalid")
)

// RequestRecorder is the small interface the client uses to instrument every
// outbound request without taking a hard dependency on the metrics package.
// A nil recorder is safely no-op'd.
type RequestRecorder interface {
	RecordCloudRuntimeRequest(op, status string, durationSeconds float64)
}

type Config struct {
	BaseURL    string
	Timeout    time.Duration
	HTTPClient *http.Client
	// Recorder, when non-nil, receives one observation per Do() call with
	// the inferred op, status bucket, and elapsed time. Production wires
	// this to the BusinessMetrics collector; tests leave it nil.
	Recorder RequestRecorder

View on GitHub (pinned to 2c0912b6ec)

Solutions

  1. Set the cloud runtime Fleet base URL in the server configuration if cloud runtimes are intended to be used.
  2. If the feature is not intended for this deployment, disable the UI/entry points that route to cloud runtime calls so users never reach the error.
  3. Check for a typo'd or missing env var / config key for the Fleet URL after deploys.
Defensive patterns

Strategy: validation

Validate before calling

// Startup check: refuse cloud-runtime routes when the fleet URL is unset
if cloudRuntimeBaseURL == "" {
    http.Error(w, "cloud runtimes are not configured on this server", http.StatusNotImplemented)
    return
}

Try / catch

if errors.Is(err, cloudruntime.ErrDisabled) {
    // config gap, not a transient fault — surface to the operator, do not retry
    log.Warn("cloud runtime call blocked: fleet URL not configured")
}

Prevention

When it happens

Trigger: Any cloudruntime client call (start/stop/status of cloud runtimes) on a server whose config has no Fleet/cloud URL set; code paths reaching cloud runtime management while the feature is meant to be off for that deployment.

Common situations: Self-hosted installs that never configured cloud runtimes; a feature flag enabled in the UI while the server-side URL config is missing; config file/env var for the Fleet URL typo'd or dropped during deploy.

Related errors


AI-assisted analysis of multica-ai/multica@2c0912b6ec (2026-08-15). Data as JSON: /api/errors/87d0ed14f69511a9. Report an issue: GitHub.