fleet/cmd/gitops-migrate/main.go
Anthony Maxwell 288ea58bce
Feat: GitOps YAML Migration Tool (#32237)
# Overview

This pull request resolves #31165, implementing command-line tooling to
migrate GitOps YAML files following the [changes introduced in the
upcoming 4.74
release](https://github.com/fleetdm/fleet/pull/32237/files#diff-8769f6e90e8bdf15faad8f390fdf3ffb6fd2238b7d6087d83518c21464109119R7).

Aligning with the recommended steps in the `README`; [this is an example
of the first step](https://github.com/Illbjorn/fleet/pull/3/files)
(`gitops-migrate format`) and [this is an example of the second
step](https://github.com/Illbjorn/fleet/pull/4/files) (`gitops-migrate
migrate`).

---------

Signed-off-by: Illbjorn <am@hades.so>
Co-authored-by: Ian Littman <iansltx@gmail.com>
2025-09-08 12:42:25 -04:00

36 lines
718 B
Go

package main
import (
"context"
"os"
"os/signal"
"github.com/fleetdm/fleet/v4/cmd/gitops-migrate/log"
)
func main() {
// Init the application context.
ctx, cancel := signal.NotifyContext(context.Background(), os.Kill, os.Interrupt)
defer cancel()
// Parse command-line inputs.
args := parseArgs()
// If we received the ['--debug', '-d'] flag, tune the log config.
if args.Debug {
log.Options.SetWithCaller()
log.Options.SetWithLevel()
log.Level = log.LevelDebug
}
// Execute the command.
err := cmdExec(ctx, args)
if err != nil {
//nolint:gocritic // We need to set a non-zero exit code.
log.Fatal(
"Failed to execute command.",
"Command", args.Commands,
"Error", err,
)
}
}