package main import ( morningalarm "git.kapelle.org/niklas/morning-alarm/internal" "github.com/alexflint/go-arg" ) type args struct { SpotifyClientID string `arg:"--spotify-client-id,required,env:SPOTIFY_CLIENT_ID" placeholder:"SPOTIFY_CLIENT_ID"` SpotifyClientSecret string `arg:"--spotify-client-secret,required,env:SPOTIFY_CLIENT_SECRET" placeholder:"SPOTIFY_CLIENT_SECRET"` DeviceID string `arg:"--device-id,required,env:SPOTIFY_DEVICE_ID" placeholder:"SPOTIFY_DEVICE_ID" help:"Can be found later in the API"` PlaylistID string `arg:"--playlist-id,required,env:SPOTIFY_PLAYLIST_ID" help:"Just the id" placeholder:"SPOTIFY_PLAYLIST_ID"` RedirectURL string `arg:"--redirect-url,required,env:SPOTIFY_REDIRECT_URL" help:"Must be the same as in the Spotify developer dashboard." placeholder:"SPOTIFY_REDIRECT_URL"` ListenAddr string `arg:"--listen-addr,env:LISTEN_ADDR" help:"Address to listen on" placeholder:"LISTEN_ADDR" default:":3000"` OAuthProxyURL string `arg:"--oauth-proxy-url,env:OAUTH_PROXY_URL" help:"URL of the oauth proxy" placeholder:"OAUTH_PROXY_URL"` OAuthProxyAPIKey string `arg:"--oauth-proxy-api-key,env:OAUTH_PROXY_API_KEY" help:"API key for the oauth proxy" placeholder:"OAUTH_PROXY_API_KEY"` } func main() { var args args arg.MustParse(&args) morningalarm.New(morningalarm.MorningAlarmConfig{ SpotifyClientID: args.SpotifyClientID, SpotifyClientSecret: args.SpotifyClientSecret, DeviceID: args.DeviceID, PlaylistID: args.PlaylistID, RedirectURL: args.RedirectURL, ListenAddr: args.ListenAddr, OAuthProxyURL: args.OAuthProxyURL, OAuthProxyAPIKey: args.OAuthProxyAPIKey, }).Start() }