Files
zeekay 4e3a8ef9ca merge: upstream/main (preserve Hanzo brand, 50 commits)
# Conflicts:
#	api/v1alpha1/casting.go
#	api/v1alpha1/installation/signoz.go
#	docs/casting.md
#	docs/examples/docker/compose/pours/deployment/configs/ingester/opamp.yaml
#	docs/examples/systemd/binary/pours/deployment/signoz-ingester.service
#	docs/examples/systemd/binary/pours/deployment/signoz-signoz.service
#	docs/examples/systemd/binary/pours/deployment/signoz-telemetrystore-migrator.service
#	docs/schemas/v1alpha1.yaml
#	internal/foundry/registry.go
#	internal/instrumentation/handler.go
#	internal/molding/signozmolding/signoz.go
2026-06-02 09:59:25 -07:00

40 lines
904 B
Go

package dockercomposetooler
import (
"context"
"os/exec"
root "github.com/hanzoai/o11y-foundry/internal/tooler"
)
var _ root.Tooler = (*dockerComposeTooler)(nil)
type dockerComposeTooler struct{}
func New() *dockerComposeTooler {
return &dockerComposeTooler{}
}
func (tooler *dockerComposeTooler) Name() string {
return "docker-compose"
}
func (tooler *dockerComposeTooler) Gauge(ctx context.Context) error {
// Legacy standalone binary.
if err := root.ExecChecker(ctx, "docker-compose"); err == nil {
return nil
}
if err := root.ExecChecker(ctx, "docker"); err == nil {
if err := exec.CommandContext(ctx, "docker", "compose", "version").Run(); err == nil {
return nil
}
}
return errors.Newf(errors.TypeNotFound, "neither 'docker-compose' nor the 'docker compose' plugin is available")
}
func (tooler *dockerComposeTooler) Install(ctx context.Context) error {
return nil
}