/
cmd_apply.go
41 lines (36 loc) · 892 Bytes
/
cmd_apply.go
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
34
35
36
37
38
39
40
41
package main
import (
"fmt"
"github.com/reddec/trusted-cgi/cmd/internal"
internal2 "github.com/reddec/trusted-cgi/internal"
"github.com/reddec/trusted-cgi/types"
"log"
)
type apply struct {
remoteLink
uidLocator
}
func (cmd *apply) Execute(args []string) error {
ctx, closer := internal.SignalContext()
defer closer()
if err := cmd.parseUID(); err != nil {
return err
}
log.Println("lambda", cmd.UID)
var manifest types.Manifest
if err := manifest.LoadFrom(internal2.ManifestFile); err != nil {
return fmt.Errorf("load local manifest: %w", err)
}
log.Println("login...")
token, err := cmd.Token(ctx)
if err != nil {
return fmt.Errorf("login: %w", err)
}
log.Println("pushing manifest...")
_, err = cmd.Lambdas().Update(ctx, token, cmd.UID, manifest)
if err != nil {
return fmt.Errorf("update remote manifest: %w", err)
}
log.Println("done")
return nil
}