Help us shape the future of Go! Take the 2026 Go Developer Survey

compose

package
v0.3.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 16, 2026 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Overview

Package compose analyse les fichiers Docker Compose, en lecture seule, pour localiser précisément les erreurs (fichier, ligne, colonne, clé).

Index

Constants

This section is empty.

Variables

View Source
var ErrNotFound = errors.New("aucun fichier Compose trouvé")

ErrNotFound signale qu'aucun fichier Compose n'a été trouvé.

Functions

func DefaultFileNames

func DefaultFileNames() []string

DefaultFileNames renvoie les noms de fichiers recherchés par défaut.

func Locate

func Locate(dir string, files []string) ([]string, error)

Locate renvoie les fichiers Compose à analyser : ceux passés par -f (relatifs à dir), sinon le premier nom par défaut trouvé dans dir, suivi de son fichier de surcharge. Aucun fichier n'est ouvert en écriture.

func RenderIssues

func RenderIssues(w io.Writer, dir string, files []string, issues []Issue, cat *catalog.Catalog, o render.Options) error

RenderIssues affiche les problèmes Compose : emplacement, extrait coloré avec la ligne fautive mise en évidence, version corrigée, puis la pédagogie du type de problème (une seule fois par type). Sans problème, un message de succès explicite est affiché.

func Sort

func Sort(issues []Issue)

Sort trie les problèmes : bloquants d'abord, puis par fichier et par ligne.

Types

type Issue

type Issue struct {
	Kind       Kind
	File       string // chemin tel qu'indiqué ou trouvé
	Line       int    // à partir de 1 ; 0 si inconnue
	Column     int    // à partir de 1 ; 0 si inconnue
	Service    string
	KeyPath    string // ex. services.web.port
	Suggestion string // clé, valeur ou variable proposée
	Detail     string // précision en français (message traduit, référence manquante…)
	Excerpt    []render.Line
	Fixed      []render.Line
	Blocking   bool
}

Issue est un problème localisé dans un fichier Compose (data-model.md, ComposeIssue).

func Analyze

func Analyze(dir string, files []string) []Issue

Analyze vérifie, en lecture seule, les fichiers Compose d'un dossier : ceux passés par -f, sinon les fichiers par défaut. Les passes s'enchaînent ; une erreur bloquante (fichier illisible, syntaxe YAML) arrête l'analyse, car la suite n'aurait pas de sens.

type Kind

type Kind string

Kind est la nature d'un problème détecté dans un fichier Compose.

const (
	KindYAMLSyntax         Kind = "yaml-syntax"
	KindTabIndent          Kind = "tab-indent"
	KindUnknownKey         Kind = "unknown-key"
	KindWrongType          Kind = "wrong-type"
	KindUndefinedReference Kind = "undefined-reference"
	KindDependencyCycle    Kind = "dependency-cycle"
	KindUnresolvedVariable Kind = "unresolved-variable"
	KindPlaintextSecret    Kind = "plaintext-secret"
	KindFileNotFound       Kind = "file-not-found"
	KindFileUnreadable     Kind = "file-unreadable"
)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL