mirror of
https://github.com/pocket-id/pocket-id.git
synced 2025-12-10 15:22:59 +03:00
37 lines
868 B
Go
37 lines
868 B
Go
package cmds
|
|
|
|
import (
|
|
"context"
|
|
"log/slog"
|
|
"os"
|
|
|
|
"github.com/spf13/cobra"
|
|
|
|
"github.com/pocket-id/pocket-id/backend/internal/bootstrap"
|
|
"github.com/pocket-id/pocket-id/backend/internal/utils/signals"
|
|
)
|
|
|
|
var rootCmd = &cobra.Command{
|
|
Use: "pocket-id",
|
|
Short: "A simple and easy-to-use OIDC provider that allows users to authenticate with their passkeys to your services.",
|
|
Long: "By default, this command starts the pocket-id server.",
|
|
Run: func(cmd *cobra.Command, args []string) {
|
|
// Start the server
|
|
err := bootstrap.Bootstrap(cmd.Context())
|
|
if err != nil {
|
|
slog.Error("Failed to run pocket-id", "error", err)
|
|
os.Exit(1)
|
|
}
|
|
},
|
|
}
|
|
|
|
func Execute() {
|
|
// Get a context that is canceled when the application is stopping
|
|
ctx := signals.SignalContext(context.Background())
|
|
|
|
err := rootCmd.ExecuteContext(ctx)
|
|
if err != nil {
|
|
os.Exit(1)
|
|
}
|
|
}
|