func main() { consumer := consumer.New(dopplerAddress, &tls.Config{InsecureSkipVerify: true}, nil) consumer.SetDebugPrinter(ConsoleDebugPrinter{}) messages, err := consumer.RecentLogs(appGuid, authToken) if err != nil { fmt.Printf("===== Error getting recent messages: %v\n", err) } else { fmt.Println("===== Recent logs") for _, msg := range messages { fmt.Println(msg) } } fmt.Println("===== Streaming metrics") msgChan, errorChan := consumer.Stream(appGuid, authToken) go func() { for err := range errorChan { fmt.Fprintf(os.Stderr, "%v\n", err.Error()) } }() for msg := range msgChan { fmt.Printf("%v \n", msg) } }
func main() { uaa, err := uaago.NewClient(uaaEndpoint) if err != nil { fmt.Printf("Error from uaaClient %s\n", err) os.Exit(1) } refresher := tokenRefresher{uaaClient: uaa} consumer := consumer.New(dopplerAddress, &tls.Config{InsecureSkipVerify: true}, nil) consumer.RefreshTokenFrom(&refresher) consumer.SetDebugPrinter(ConsoleDebugPrinter{}) fmt.Println("===== Streaming metrics") msgChan, errorChan := consumer.Firehose(appGuid, "") go func() { for err := range errorChan { fmt.Fprintf(os.Stderr, "%v\n", err.Error()) } }() for msg := range msgChan { fmt.Printf("%v \n", msg) } }
func main() { consumer := consumer.New(dopplerAddress, &tls.Config{InsecureSkipVerify: true}, nil) consumer.SetDebugPrinter(ConsoleDebugPrinter{}) fmt.Println("===== Streaming Firehose (will only succeed if you have admin credentials)") msgChan, errorChan := consumer.Firehose(firehoseSubscriptionId, authToken) go func() { for err := range errorChan { fmt.Fprintf(os.Stderr, "%v\n", err.Error()) } }() for msg := range msgChan { fmt.Printf("%v \n", msg) } }
func main() { consumer := consumer.New(dopplerAddress, &tls.Config{InsecureSkipVerify: true}, nil) consumer.SetDebugPrinter(ConsoleDebugPrinter{}) fmt.Println("===== Streaming ContainerMetrics (will only succeed if you have admin credentials)") for { containerMetrics, err := consumer.ContainerMetrics(appId, authToken) for _, cm := range containerMetrics { fmt.Printf("%v \n", cm) } if err != nil { fmt.Fprintf(os.Stderr, "%v\n", err.Error()) } time.Sleep(3 * time.Second) } }
func NewRepositoryLocator(config coreconfig.ReadWriter, gatewaysByName map[string]net.Gateway, logger trace.Printer, envDialTimeout string) (loc RepositoryLocator) { strategy := strategy.NewEndpointStrategy(config.APIVersion()) cloudControllerGateway := gatewaysByName["cloud-controller"] routingAPIGateway := gatewaysByName["routing-api"] uaaGateway := gatewaysByName["uaa"] loc.authRepo = authentication.NewUAARepository(uaaGateway, config, net.NewRequestDumper(logger)) // ensure gateway refreshers are set before passing them by value to repositories cloudControllerGateway.SetTokenRefresher(loc.authRepo) uaaGateway.SetTokenRefresher(loc.authRepo) loc.appBitsRepo = applicationbits.NewCloudControllerApplicationBitsRepository(config, cloudControllerGateway) loc.appEventsRepo = appevents.NewCloudControllerAppEventsRepository(config, cloudControllerGateway, strategy) loc.appFilesRepo = api_appfiles.NewCloudControllerAppFilesRepository(config, cloudControllerGateway) loc.appRepo = applications.NewCloudControllerRepository(config, cloudControllerGateway) loc.appSummaryRepo = NewCloudControllerAppSummaryRepository(config, cloudControllerGateway) loc.appInstancesRepo = appinstances.NewCloudControllerAppInstancesRepository(config, cloudControllerGateway) loc.authTokenRepo = NewCloudControllerServiceAuthTokenRepository(config, cloudControllerGateway) loc.curlRepo = NewCloudControllerCurlRepository(config, cloudControllerGateway) loc.domainRepo = NewCloudControllerDomainRepository(config, cloudControllerGateway, strategy) loc.endpointRepo = NewEndpointRepository(cloudControllerGateway) tlsConfig := net.NewTLSConfig([]tls.Certificate{}, config.IsSSLDisabled()) apiVersion, _ := semver.Make(config.APIVersion()) var noaaRetryTimeout time.Duration convertedTime, err := strconv.Atoi(envDialTimeout) if err != nil { noaaRetryTimeout = noaaRetryDefaultTimeout } else { noaaRetryTimeout = time.Duration(convertedTime) * 3 * time.Second } if apiVersion.GTE(cf.NoaaMinimumAPIVersion) { consumer := consumer.New(config.DopplerEndpoint(), tlsConfig, http.ProxyFromEnvironment) consumer.SetDebugPrinter(terminal.DebugPrinter{Logger: logger}) loc.logsRepo = logs.NewNoaaLogsRepository(config, consumer, loc.authRepo, noaaRetryTimeout) } else { consumer := loggregator_consumer.New(config.LoggregatorEndpoint(), tlsConfig, http.ProxyFromEnvironment) consumer.SetDebugPrinter(terminal.DebugPrinter{Logger: logger}) loc.logsRepo = logs.NewLoggregatorLogsRepository(config, consumer, loc.authRepo) } loc.organizationRepo = organizations.NewCloudControllerOrganizationRepository(config, cloudControllerGateway) loc.passwordRepo = password.NewCloudControllerRepository(config, uaaGateway) loc.quotaRepo = quotas.NewCloudControllerQuotaRepository(config, cloudControllerGateway) loc.routeRepo = NewCloudControllerRouteRepository(config, cloudControllerGateway) loc.routeServiceBindingRepo = NewCloudControllerRouteServiceBindingRepository(config, cloudControllerGateway) loc.routingAPIRepo = NewRoutingAPIRepository(config, routingAPIGateway) loc.stackRepo = stacks.NewCloudControllerStackRepository(config, cloudControllerGateway) loc.serviceRepo = NewCloudControllerServiceRepository(config, cloudControllerGateway) loc.serviceKeyRepo = NewCloudControllerServiceKeyRepository(config, cloudControllerGateway) loc.serviceBindingRepo = NewCloudControllerServiceBindingRepository(config, cloudControllerGateway) loc.serviceBrokerRepo = NewCloudControllerServiceBrokerRepository(config, cloudControllerGateway) loc.servicePlanRepo = NewCloudControllerServicePlanRepository(config, cloudControllerGateway) loc.servicePlanVisibilityRepo = NewCloudControllerServicePlanVisibilityRepository(config, cloudControllerGateway) loc.serviceSummaryRepo = NewCloudControllerServiceSummaryRepository(config, cloudControllerGateway) loc.spaceRepo = spaces.NewCloudControllerSpaceRepository(config, cloudControllerGateway) loc.userProvidedServiceInstanceRepo = NewCCUserProvidedServiceInstanceRepository(config, cloudControllerGateway) loc.userRepo = NewCloudControllerUserRepository(config, uaaGateway, cloudControllerGateway) loc.buildpackRepo = NewCloudControllerBuildpackRepository(config, cloudControllerGateway) loc.buildpackBitsRepo = NewCloudControllerBuildpackBitsRepository(config, cloudControllerGateway, appfiles.ApplicationZipper{}) loc.securityGroupRepo = securitygroups.NewSecurityGroupRepo(config, cloudControllerGateway) loc.stagingSecurityGroupRepo = staging.NewSecurityGroupsRepo(config, cloudControllerGateway) loc.runningSecurityGroupRepo = running.NewSecurityGroupsRepo(config, cloudControllerGateway) loc.securityGroupSpaceBinder = securitygroupspaces.NewSecurityGroupSpaceBinder(config, cloudControllerGateway) loc.spaceQuotaRepo = spacequotas.NewCloudControllerSpaceQuotaRepository(config, cloudControllerGateway) loc.featureFlagRepo = featureflags.NewCloudControllerFeatureFlagRepository(config, cloudControllerGateway) loc.environmentVariableGroupRepo = environmentvariablegroups.NewCloudControllerRepository(config, cloudControllerGateway) loc.copyAppSourceRepo = copyapplicationsource.NewCloudControllerCopyApplicationSourceRepository(config, cloudControllerGateway) client := v3client.NewClient(config.APIEndpoint(), config.AuthenticationEndpoint(), config.AccessToken(), config.RefreshToken()) loc.v3Repository = repository.NewRepository(config, client) return }