1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
package vaultmain
import (
"context"
"fmt"
"log/slog"
"github.com/johnandersen777/socialweb-computer-kcp/internal/foldmain"
)
func Main(ctx context.Context, inv foldmain.Invocation) int {
if err := run(ctx, inv.Args, inv); err != nil {
fmt.Fprintln(inv.Stderr, "socialweb-vault:", err)
return 1
}
return 0
}
func run(ctx context.Context, args []string, inv foldmain.Invocation) error {
if len(args) != 1 || args[0] != "apply-root" {
return fmt.Errorf("usage: vault apply-root")
}
cfg, err := load(inv.Env)
if err != nil {
return err
}
log := slog.New(slog.NewJSONHandler(inv.Stderr, &slog.HandlerOptions{Level: slog.LevelInfo}))
access, err := ReadRootAccess(ctx, cfg.KCPKubeconfig, cfg.Workspace, cfg.Server)
if err != nil {
return err
}
return ApplyRoot(ctx, access, cfg, log)
}