github.com/apcera/util@v0.0.0-20180322191801-7a50bc84ee48/events_main.go (about)

     1  // Copyright 2016 Apcera Inc. All right reserved.
     2  
     3  package main
     4  
     5  import (
     6  	"fmt"
     7  	"os"
     8  	"time"
     9  
    10  	"github.com/apcera/util/events"
    11  )
    12  
    13  func main() {
    14  	bearerToken := os.Getenv("CNTM_TOKEN")
    15  	if bearerToken == "" {
    16  		fmt.Fprintln(os.Stderr, "No bearer token provided via $CNTM_TOKEN")
    17  		os.Exit(1)
    18  	}
    19  
    20  	if len(os.Args) < 2 {
    21  		fmt.Fprintln(os.Stderr, "Usage: `CNTM_TOKEN=\"Bearer ...\" events_main https://api.<cluster>/v1/wamp <job-fqn>")
    22  		os.Exit(1)
    23  	}
    24  
    25  	wampServerURL := os.Args[1]
    26  	streamFQN := os.Args[2]
    27  
    28  	fmt.Printf("Creating WAMP client against %q with token %q...\n", wampServerURL, bearerToken)
    29  
    30  	client, err := events.NewWAMPSessionClient(wampServerURL, bearerToken, "com.apcera.api.es")
    31  	if err != nil {
    32  		fmt.Fprintf(os.Stderr, "Failed to create WAMP client: %s\n", err)
    33  		os.Exit(1)
    34  	}
    35  
    36  	fmt.Printf("Done; streaming %q...\n\n", streamFQN)
    37  	if err := client.StreamEvents(os.Stdout, streamFQN, time.Minute); err != nil {
    38  		fmt.Fprintf(os.Stderr, "Failed to stream %q: %s\n", streamFQN, err)
    39  		os.Exit(1)
    40  	}
    41  }