mirror of
https://github.com/coder/coder.git
synced 2026-06-03 04:58:23 +00:00
56c9d0dcbb
Surface the deprecated-env-drift flag set at startup through a new read-only AppearanceConfig.ai_providers_env_drift_detected field. The AGPL and enterprise appearance fetchers read a process-local atomic (API.AIProvidersEnvDrift) so the dashboard can warn admins that their env changes are ineffective. Regenerated SDK types and swagger.
40 lines
1.1 KiB
Go
40 lines
1.1 KiB
Go
package appearance
|
|
|
|
import (
|
|
"context"
|
|
"sync/atomic"
|
|
|
|
"github.com/coder/coder/v2/codersdk"
|
|
)
|
|
|
|
type Fetcher interface {
|
|
Fetch(ctx context.Context) (codersdk.AppearanceConfig, error)
|
|
}
|
|
|
|
type AGPLFetcher struct {
|
|
docsURL string
|
|
// aiProvidersEnvDrift reports whether deprecated CODER_AIBRIDGE_* env
|
|
// configuration is ineffective because it differs from the database.
|
|
// It may be nil when no source is wired in.
|
|
aiProvidersEnvDrift *atomic.Bool
|
|
}
|
|
|
|
func (f AGPLFetcher) Fetch(context.Context) (codersdk.AppearanceConfig, error) {
|
|
return codersdk.AppearanceConfig{
|
|
AnnouncementBanners: []codersdk.BannerConfig{},
|
|
SupportLinks: codersdk.DefaultSupportLinks(f.docsURL),
|
|
DocsURL: f.docsURL,
|
|
AIProvidersEnvDriftDetected: f.aiProvidersEnvDrift != nil && f.aiProvidersEnvDrift.Load(),
|
|
}, nil
|
|
}
|
|
|
|
func NewDefaultFetcher(docsURL string, aiProvidersEnvDrift *atomic.Bool) Fetcher {
|
|
if docsURL == "" {
|
|
docsURL = codersdk.DefaultDocsURL()
|
|
}
|
|
return &AGPLFetcher{
|
|
docsURL: docsURL,
|
|
aiProvidersEnvDrift: aiProvidersEnvDrift,
|
|
}
|
|
}
|