Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func MarshalJSONResult ¶
MarshalJSONResult exists so control surfaces can share one stable rendering path without each re-encoding repository inspection state differently.
func ParsePublishedPort ¶
ParsePublishedPort extracts the host-side numeric port from common Compose short syntax. It is intentionally conservative and returns false on ambiguity.
Types ¶
type ComposeAnalysis ¶
type ComposeAnalysis struct {
WorkloadServices []string `json:"workload_services,omitempty"`
PostgresInstances []string `json:"postgres_instances,omitempty"`
RedisInstances []string `json:"redis_instances,omitempty"`
Ports []PortEvidence `json:"ports,omitempty"`
HealthChecks []Evidence `json:"health_checks,omitempty"`
}
func AnalyzeComposeFile ¶
func AnalyzeComposeFile(root, rel string) (ComposeAnalysis, error)
type Confidence ¶
type Confidence string
const ( ConfidenceDetected Confidence = "detected" ConfidenceSuggested Confidence = "suggested" ConfidencePossible Confidence = "possible" )
type Engine ¶
type Engine struct {
Detectors []Detector
}
func DefaultEngine ¶
func DefaultEngine() Engine
type Evidence ¶
type Evidence struct {
Kind EvidenceKind `json:"kind"`
Path string `json:"path"`
Detail string `json:"detail"`
}
type EvidenceKind ¶
type EvidenceKind string
const ( EvidenceManifest EvidenceKind = "manifest" EvidenceCompose EvidenceKind = "compose" EvidenceDependency EvidenceKind = "dependency" EvidenceEnv EvidenceKind = "env" EvidenceImport EvidenceKind = "import" EvidencePort EvidenceKind = "port" EvidenceHealth EvidenceKind = "healthcheck" EvidenceConfig EvidenceKind = "config" )
type Finding ¶
type Finding struct {
Capability string `json:"capability"`
Name string `json:"name,omitempty"`
Confidence Confidence `json:"confidence"`
Evidence []Evidence `json:"evidence"`
}
type PortEvidence ¶
type Result ¶
type Result struct {
Root string `json:"root"`
Application string `json:"application"`
ExistingManifest string `json:"existing_manifest,omitempty"`
Artifacts []Artifact `json:"artifacts,omitempty"`
ComposeCandidates []string `json:"compose_candidates,omitempty"`
SelectedCompose string `json:"selected_compose,omitempty"`
WorkloadServices []string `json:"workload_services,omitempty"`
Findings []Finding `json:"findings,omitempty"`
SecretCandidates []string `json:"secret_candidates,omitempty"`
SecretSources map[string]string `json:"secret_sources,omitempty"`
Ports []PortEvidence `json:"ports,omitempty"`
HealthChecks []Evidence `json:"health_checks,omitempty"`
}
Click to show internal directories.
Click to hide internal directories.