Documentation
¶
Index ¶
- Constants
- func LabelsMatch(labels map[string]string, selector map[string]string) bool
- type FactPolicy
- type Group
- type Metadata
- type PrivilegeProfile
- type ResolvedVariable
- type SecretReferenceID
- type SelectionConflict
- type SelectionRequest
- type SelectionResult
- type Summary
- type Target
- type TargetGraph
- func (g TargetGraph) ExpandGroup(groupID string) ([]string, error)
- func (g TargetGraph) ResolveSelection(req SelectionRequest) (SelectionResult, error)
- func (g TargetGraph) ResolveVariables(req VariableResolutionRequest) (VariableResolution, error)
- func (g TargetGraph) SelectTargets(selector map[string]string) []string
- func (g TargetGraph) Summary() Summary
- func (g TargetGraph) Validate() error
- type Transport
- type ValidationError
- type VariableAssignment
- type VariableLayer
- type VariableLayerSource
- type VariableRedactionSummary
- type VariableResolution
- type VariableResolutionRequest
- type VariableSource
Constants ¶
View Source
const ( APIVersion = "torque.dev/v1alpha1" Kind = "TargetGraph" )
Variables ¶
This section is empty.
Functions ¶
Types ¶
type FactPolicy ¶
type Group ¶
type Group struct {
ID string `json:"id" yaml:"id"`
Selector map[string]string `json:"selector,omitempty" yaml:"selector,omitempty"`
Targets []string `json:"targets,omitempty" yaml:"targets,omitempty"`
Variables []VariableLayer `json:"variables,omitempty" yaml:"variables,omitempty"`
}
type PrivilegeProfile ¶
type ResolvedVariable ¶
type ResolvedVariable struct {
Key string `json:"key"`
Value any `json:"value"`
Source VariableSource `json:"source"`
Redacted bool `json:"redacted"`
SecretRef bool `json:"secretRef"`
SecretRefDigest string `json:"secretRefDigest,omitempty"`
ValueDigest string `json:"valueDigest"`
History []VariableSource `json:"history,omitempty"`
ActualValue any `json:"-"`
}
type SecretReferenceID ¶
type SelectionConflict ¶
type SelectionRequest ¶
type SelectionResult ¶
type SelectionResult struct {
Selector map[string]string `json:"selector,omitempty"`
Groups []string `json:"groups,omitempty"`
MatchedTargetIDs []string `json:"matchedTargetIds"`
OmittedTargetIDs []string `json:"omittedTargetIds,omitempty"`
GroupExpanded map[string][]string `json:"groupExpanded,omitempty"`
SelectorMatchedIDs []string `json:"selectorMatchedIds,omitempty"`
Conflicts []SelectionConflict `json:"conflicts,omitempty"`
Limit int `json:"limit,omitempty"`
Limited bool `json:"limited"`
BeforeLimitCount int `json:"beforeLimitCount"`
AfterLimitCount int `json:"afterLimitCount"`
ConflictCount int `json:"conflictCount"`
}
type Summary ¶
type Summary struct {
APIVersion string `json:"apiVersion"`
Kind string `json:"kind"`
Name string `json:"name"`
TargetCount int `json:"targetCount"`
GroupCount int `json:"groupCount"`
TransportCount int `json:"transportCount"`
PrivilegeProfileCount int `json:"privilegeProfileCount"`
VariableLayerCount int `json:"variableLayerCount"`
TargetTypes map[string]int `json:"targetTypes"`
TransportKinds map[string]int `json:"transportKinds"`
GroupIDs []string `json:"groupIds"`
TargetIDs []string `json:"targetIds"`
SecretReferenceCount int `json:"secretReferenceCount"`
HostReachabilityRefs []string `json:"hostReachabilityRefs"`
}
Summary is a compact, evidence-friendly view of a loaded TargetGraph.
type Target ¶
type Target struct {
ID string `json:"id" yaml:"id"`
Type string `json:"type" yaml:"type"`
TransportRef string `json:"transportRef,omitempty" yaml:"transportRef,omitempty"`
Labels map[string]string `json:"labels,omitempty" yaml:"labels,omitempty"`
Groups []string `json:"groups,omitempty" yaml:"groups,omitempty"`
Variables []VariableLayer `json:"variables,omitempty" yaml:"variables,omitempty"`
PrivilegeProfile string `json:"privilegeProfile,omitempty" yaml:"privilegeProfile,omitempty"`
Facts FactPolicy `json:"facts,omitempty" yaml:"facts,omitempty"`
LockScope string `json:"lockScope,omitempty" yaml:"lockScope,omitempty"`
AllowedCapabilities []string `json:"allowedCapabilities,omitempty" yaml:"allowedCapabilities,omitempty"`
}
type TargetGraph ¶
type TargetGraph struct {
APIVersion string `json:"apiVersion" yaml:"apiVersion"`
Kind string `json:"kind" yaml:"kind"`
Metadata Metadata `json:"metadata" yaml:"metadata"`
Targets []Target `json:"targets" yaml:"targets"`
Groups []Group `json:"groups,omitempty" yaml:"groups,omitempty"`
Transports []Transport `json:"transports,omitempty" yaml:"transports,omitempty"`
PrivilegeProfiles []PrivilegeProfile `json:"privilegeProfiles,omitempty" yaml:"privilegeProfiles,omitempty"`
Variables []VariableLayer `json:"variables,omitempty" yaml:"variables,omitempty"`
}
TargetGraph is the typed inventory model for Torque ops automation.
func LoadFile ¶
func LoadFile(path string) (*TargetGraph, error)
func (TargetGraph) ExpandGroup ¶
func (g TargetGraph) ExpandGroup(groupID string) ([]string, error)
func (TargetGraph) ResolveSelection ¶
func (g TargetGraph) ResolveSelection(req SelectionRequest) (SelectionResult, error)
func (TargetGraph) ResolveVariables ¶
func (g TargetGraph) ResolveVariables(req VariableResolutionRequest) (VariableResolution, error)
func (TargetGraph) SelectTargets ¶
func (g TargetGraph) SelectTargets(selector map[string]string) []string
func (TargetGraph) Summary ¶
func (g TargetGraph) Summary() Summary
func (TargetGraph) Validate ¶
func (g TargetGraph) Validate() error
type Transport ¶
type Transport struct {
ID string `json:"id" yaml:"id"`
Kind string `json:"kind" yaml:"kind"`
Host string `json:"host,omitempty" yaml:"host,omitempty"`
User string `json:"user,omitempty" yaml:"user,omitempty"`
KeyRef string `json:"keyRef,omitempty" yaml:"keyRef,omitempty"`
KubeconfigRef string `json:"kubeconfigRef,omitempty" yaml:"kubeconfigRef,omitempty"`
DSNRef string `json:"dsnRef,omitempty" yaml:"dsnRef,omitempty"`
URL string `json:"url,omitempty" yaml:"url,omitempty"`
Config map[string]any `json:"config,omitempty" yaml:"config,omitempty"`
}
type ValidationError ¶
type ValidationError struct {
Errors []string
}
func (ValidationError) Error ¶
func (e ValidationError) Error() string
type VariableAssignment ¶
type VariableAssignment struct {
Key string `json:"key"`
Value any `json:"value"`
Source VariableSource `json:"source"`
Precedence int `json:"precedence"`
Overridden bool `json:"overridden"`
Redacted bool `json:"redacted"`
SecretRef bool `json:"secretRef"`
SecretRefDigest string `json:"secretRefDigest,omitempty"`
ValueDigest string `json:"valueDigest"`
ActualValue any `json:"-"`
}
type VariableLayer ¶
type VariableLayerSource ¶
type VariableLayerSource struct {
Source VariableSource `json:"source"`
Precedence int `json:"precedence"`
KeyCount int `json:"keyCount"`
}
type VariableResolution ¶
type VariableResolution struct {
TargetID string `json:"targetId"`
Values map[string]ResolvedVariable `json:"values"`
Provenance []VariableAssignment `json:"provenance"`
LayerOrder []VariableLayerSource `json:"layerOrder"`
Redaction VariableRedactionSummary `json:"redaction"`
Precedence []string `json:"precedence"`
OverriddenKeys map[string][]VariableSource `json:"overriddenKeys,omitempty"`
FinalSources map[string]VariableSource `json:"finalSources"`
SourceCounts map[string]int `json:"sourceCounts"`
SecretRefs map[string]SecretReferenceID `json:"secretRefs,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.