Versions in this module Expand all Collapse all v0 v0.21.0 Oct 6, 2026 Changes in this version + const ChangeReasonAlreadyUsed + const ChangeReasonConfigNotOverridable + const ChangeReasonDataOnly + const ChangeReasonForbiddenEnvReference + const ChangeReasonLocalSourceNotAllowed + const ChangeReasonLockedKey + const ChangeReasonLogging + const ChangeReasonNewEnvReference + const ChangeReasonNewLocalSource + const ChangeReasonOverridableConfigFlag + const ChangeReasonReducesScope + const ChangeReasonReenablePlugin + const ChangeReasonTrustedSource + const ChangeReasonUntrustedSource + const DefaultPollInterval + const DiffOpAdd + const DiffOpRemove + const DiffOpReplace + const DigestPrefix + const FieldCodeCron + const FieldCodeDuration + const FieldCodeEnvLocation + const FieldCodeEnvMissing + const FieldCodeForbiddenEnv + const FieldCodeInvalidType + const FieldCodeInvalidValue + const FieldCodeLockedKey + const FieldCodeMaskedValue + const FieldCodeParse + const FieldCodePattern + const FieldCodeRequired + const FieldCodeSize + const FieldCodeSource + const FieldCodeUnknownField + const MaskedValue + const MaxOverlayBytes + const MaxReportBytes + const MinPollInterval + const ModeApplyAll + const ModeApplySafe + const ModeOff + const ModeReport + const ReasonCacheCorrupt + const ReasonDownloadFailed + const ReasonEnvMissing + const ReasonForbiddenChanges + const ReasonInternal + const ReasonInvalidConfig + const ReasonInvalidType + const ReasonUnknownField + const ReasonUnsafeChanges + const ReasonUnsupportedByAgent + const StatusApplied + const StatusFailed + const StatusNotApplicable + const StatusPending + const StatusRejected + const StatusUnknown + const WillApplyReasonModeOff + const WillApplyReasonModeReport + var AgentStatuses = []string + var EnvRefPattern = regexp.MustCompile(`\$\{env:([A-Za-z_][A-Za-z0-9_]*)\}`) + var ErrEnvForbidden = errors.New("environment variable may not be referenced") + var ErrEnvMissing = errors.New("environment variable is not set") + var LockedKeys = []string + var Modes = []string + var PluginNamePattern = regexp.MustCompile(`^[a-z0-9][a-z0-9_-]{0,62}$`) + var Reasons = []string + func AdminETag(rev int64) string + func CanonicalJSON(v any) ([]byte, error) + func Digest(c Config, opts ...RedactOption) string + func ETagForRevision(rev int64, revisionRowID uuid.UUID, agentID uuid.UUID) string + func EnvRefs(s string) []string + func EscapePointerToken(token string) string + func IsForbiddenEnvName(name string) bool + func IsOCISource(s string) bool + func MatchIfNoneMatch(header, current string) bool + func MatchOverridableConfigFlag(rc RemoteConfig, plugin, key string) bool + func MatchTrustedSource(rc RemoteConfig, source string) bool + func MergePatch(target, patch []byte) ([]byte, error) + func ParseRevisionIfMatch(header string) (rev int64, ok bool) + func ParseSchedule(expr string) (sched cron.Schedule, err error) + func Pointer(segments ...string) string + func RedactDocument(doc json.RawMessage) (out json.RawMessage, changed bool, err error) + func ScrubSecretText(s string) (string, bool) + func SplitPointer(ptr string) []string + func StripLocked(overlay []byte) (stripped []byte, removed []string, err error) + func UnescapePointerToken(token string) string + func ValidateOverlay(overlay json.RawMessage) error + func WillApply(rc RemoteConfig, changes []Change) (bool, string) + type APIAuth struct + ClientID string + ClientSecret string + type APIConfig struct + Auth *APIAuth + URL string + func (a *APIConfig) HasAuth() bool + func (a *APIConfig) HasPartialAuth() bool + type Change struct + Path string + Reason string + Safety Safety + Value string + func Classify(base Config, overlay json.RawMessage, rc RemoteConfig) ([]Change, error) + type Config struct + API *APIConfig + AgentEvidence *EvidenceConfig + Daemon bool + Plugins map[string]*Plugin + RemoteConfig *RemoteConfig + Verbosity int32 + func DecodeConfig(data []byte) (Config, error) + func Merge(base Config, overlay json.RawMessage) (Config, error) + func Redact(c Config, opts ...RedactOption) Config + func ResolveEnv(c Config, lookup func(string) (string, bool)) (Config, error) + func (c Config) EffectiveRemoteConfig() RemoteConfig + func (c Config) Validate() error + func (c Config) ValidateEditable() error + type DiffEntry struct + From json.RawMessage + Op string + Path string + To json.RawMessage + func DiffJSON(a, b []byte) ([]DiffEntry, error) + type EvidenceConfig struct + EmitOnRunCompletion *bool + Enabled *bool + Interval string + type FieldError struct + Code string + Message string + Path string + type OverlayDocument struct + CreatedAt *time.Time + Overlay json.RawMessage + Revision int64 + type Plugin struct + Config map[string]string + Enabled *bool + Labels map[string]string + Policies []string + PolicyBehavior map[string][]string + PolicyData map[string]any + ProtocolVersion int32 + Schedule *string + Source string + func (p *Plugin) IsEnabled() bool + type PluginReport struct + LibVersion string + Name string + Source string + type RedactOption func(*redactOpts) + func WithMaskedPointers(ptrs ...string) RedactOption + type RemoteConfig struct + AllowLocalSources bool + Mode string + OverridableConfigFlags []string + PollInterval string + TrustedSources []string + func (rc RemoteConfig) Normalize(hasAuth bool) RemoteConfig + type Report struct + AgentVersion string + AppliedRevision *int64 + AttemptedRevision *int64 + Base json.RawMessage + Daemon bool + Effective json.RawMessage + EffectiveDigest string + Error *string + Hostname string + Mode string + Plugins []PluginReport + Reason string + RemoteConfig *RemoteConfig + Status string + Truncated bool + Unsafe []Change + Warnings []FieldError + type Safety string + const Forbidden + const Safe + const Unsafe + type SourceKind string + const SourceKindLocal + const SourceKindOCI + func KindOf(s string) SourceKind + type ValidationErrors []FieldError + func (v ValidationErrors) Error() string