mirror of
https://github.com/k3s-io/k3s.git
synced 2025-12-18 23:06:14 -05:00
Better isolates the K3s implementation from the interface, and aligns the package path with other projects executors. This should also remove the indirect flannel dep from other projects that don't use the embedded executor. Signed-off-by: Brad Davidson <brad.davidson@rancher.com>
61 lines
1.4 KiB
Go
61 lines
1.4 KiB
Go
package main
|
|
|
|
import (
|
|
"context"
|
|
"errors"
|
|
"os"
|
|
|
|
"github.com/k3s-io/k3s/pkg/cli/agent"
|
|
"github.com/k3s-io/k3s/pkg/cli/cert"
|
|
"github.com/k3s-io/k3s/pkg/cli/cmds"
|
|
"github.com/k3s-io/k3s/pkg/cli/completion"
|
|
"github.com/k3s-io/k3s/pkg/cli/crictl"
|
|
"github.com/k3s-io/k3s/pkg/cli/etcdsnapshot"
|
|
"github.com/k3s-io/k3s/pkg/cli/kubectl"
|
|
"github.com/k3s-io/k3s/pkg/cli/secretsencrypt"
|
|
"github.com/k3s-io/k3s/pkg/cli/server"
|
|
"github.com/k3s-io/k3s/pkg/configfilearg"
|
|
"github.com/sirupsen/logrus"
|
|
"github.com/urfave/cli/v2"
|
|
|
|
_ "github.com/k3s-io/k3s/pkg/executor/embed"
|
|
)
|
|
|
|
func main() {
|
|
app := cmds.NewApp()
|
|
app.DisableSliceFlagSeparator = true
|
|
app.Commands = []*cli.Command{
|
|
cmds.NewServerCommand(server.Run),
|
|
cmds.NewAgentCommand(agent.Run),
|
|
cmds.NewKubectlCommand(kubectl.Run),
|
|
cmds.NewCRICTL(crictl.Run),
|
|
cmds.NewEtcdSnapshotCommands(
|
|
etcdsnapshot.Delete,
|
|
etcdsnapshot.List,
|
|
etcdsnapshot.Prune,
|
|
etcdsnapshot.Save,
|
|
),
|
|
cmds.NewSecretsEncryptCommands(
|
|
secretsencrypt.Status,
|
|
secretsencrypt.Enable,
|
|
secretsencrypt.Disable,
|
|
secretsencrypt.Prepare,
|
|
secretsencrypt.Rotate,
|
|
secretsencrypt.Reencrypt,
|
|
secretsencrypt.RotateKeys,
|
|
),
|
|
cmds.NewCertCommands(
|
|
cert.Check,
|
|
cert.Rotate,
|
|
cert.RotateCA,
|
|
),
|
|
cmds.NewCompletionCommand(
|
|
completion.Bash,
|
|
completion.Zsh,
|
|
),
|
|
}
|
|
|
|
if err := app.Run(configfilearg.MustParse(os.Args)); err != nil && !errors.Is(err, context.Canceled) {
|
|
logrus.Fatal(err)
|
|
}
|
|
}
|