/
adminserver.go
52 lines (44 loc) · 1.71 KB
/
adminserver.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
42
43
44
45
46
47
48
49
50
51
52
package cmd
import (
"context"
"github.com/freshly/tuber/pkg/adminserver"
"github.com/freshly/tuber/pkg/core"
"github.com/freshly/tuber/pkg/events"
"github.com/freshly/tuber/pkg/oauth"
"github.com/gorilla/securecookie"
"go.uber.org/zap"
"github.com/spf13/viper"
)
func startAdminServer(ctx context.Context, db *core.DB, processor *events.Processor, logger *zap.Logger, creds []byte) {
reviewAppsEnabled := viper.GetBool("TUBER_REVIEWAPPS_ENABLED")
triggersProjectName := viper.GetString("TUBER_REVIEW_APPS_TRIGGERS_PROJECT_NAME")
if reviewAppsEnabled && triggersProjectName == "" {
panic("need a review apps triggers project name")
}
viper.SetDefault("TUBER_ADMINSERVER_PREFIX", "/tuber")
auth := oauth.NewAuthenticator(
viper.GetString("TUBER_OAUTH_REDIRECT_URL"),
viper.GetString("TUBER_OAUTH_WEB_CLIENT_SECRET"),
viper.GetString("TUBER_OAUTH_WEB_CLIENT_ID"),
viper.GetString("TUBER_OAUTH_STATE_KEY"),
viper.GetString("TUBER_ADMINSERVER_PREFIX"),
)
if len(viper.GetString("TUBER_COOKIE_BLOCK_KEY")) < 32 {
logger.Warn("starting admin server with TUBER_COOKIE_BLOCK_KEY set to a value under 32 characters. Use a 32 character value for aes-256.")
}
secureCookie := securecookie.New([]byte(viper.GetString("TUBER_COOKIE_HASH_KEY")), []byte(viper.GetString("TUBER_COOKIE_BLOCK_KEY")))
err := adminserver.Start(ctx, logger, db, processor, triggersProjectName, creds,
reviewAppsEnabled,
viper.GetString("TUBER_CLUSTER_DEFAULT_HOST"),
viper.GetString("TUBER_ADMINSERVER_PORT"),
viper.GetString("TUBER_CLUSTER_NAME"),
viper.GetString("TUBER_CLUSTER_REGION"),
viper.GetString("TUBER_ADMINSERVER_PREFIX"),
viper.GetBool("TUBER_USE_DEVSERVER"),
auth,
secureCookie,
)
if err != nil {
panic(err)
}
}