zero: use os.UserCacheDir for boostrap config path (#4744)

This commit is contained in:
Kenneth Jenkins 2023-11-17 14:44:32 -08:00 committed by GitHub
parent 6810091d38
commit 14b13bb791
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 24 additions and 1 deletions

View file

@ -7,6 +7,7 @@ import (
"fmt"
"os"
"os/signal"
"path/filepath"
"syscall"
"github.com/mattn/go-isatty"
@ -28,11 +29,17 @@ func Run(ctx context.Context, configFile string) error {
return errors.New("no token provided")
}
bootstrapConfigFileName, err := getBootstrapConfigFileName()
if err != nil {
return fmt.Errorf("error getting bootstrap config path: %w", err)
}
return controller.Run(
withInterrupt(ctx),
controller.WithAPIToken(token),
controller.WithClusterAPIEndpoint(getClusterAPIEndpoint()),
controller.WithConnectAPIEndpoint(getConnectAPIEndpoint()),
controller.WithBootstrapConfigFileName(bootstrapConfigFileName),
)
}
@ -81,3 +88,17 @@ func setupLogger() error {
zerolog.DefaultContextLogger = &log.Logger
return nil
}
func getBootstrapConfigFileName() (string, error) {
cacheDir, err := os.UserCacheDir()
if err != nil {
return "", err
}
dir := filepath.Join(cacheDir, "pomerium")
if err := os.MkdirAll(dir, 0644); err != nil {
return "", err
}
return filepath.Join(dir, "bootstrap.dat"), nil
}