☁️🏃 Get up and running with Go on Google Cloud.

Overview

Cloud Runner

Get up and running with Go and gRPC on Google Cloud Platform, with this lightweight, opinionated, batteries-included service SDK.

Features

Run your application with cloudrunner.Run, and you get:

To help you build gRPC microservices, you also get:

Get up and running

Install the package:

$ go get go.einride.tech/cloudrunner

Try out a minimal example:

package main

import (
	"context"
	"log"

	"go.einride.tech/cloudrunner"
	"google.golang.org/grpc/health"
	"google.golang.org/grpc/health/grpc_health_v1"
)

func main() {
	if err := cloudrunner.Run(func(ctx context.Context) error {
		cloudrunner.Logger(ctx).Info("hello world")
		grpcServer := cloudrunner.NewGRPCServer(ctx)
		healthServer := health.NewServer()
		grpc_health_v1.RegisterHealthServer(grpcServer, healthServer)
		return cloudrunner.ListenGRPC(ctx, grpcServer)
	}); err != nil {
		log.Fatal(err)
	}
}

Configuration

The service is configured with environment variables.

When the service is running on GCE, all built-in integrations are turned on by default.

Service-specific config is supported out of the box.

Invoke your service with -help to show available configuration.

 $ go run go.einride.tech/cloudrunner/examples/cmd/grpc-server -help

Usage of grpc-server:

  -config string
        load environment from a YAML service specification
  -help
        show help then exit
  -validate
        validate config then exit

Runtime configuration of grpc-server:

CONFIG         ENV                                  TYPE                            DEFAULT        ON GCE
cloudrunner    PORT                                 int                             8080
cloudrunner    K_SERVICE                            string
cloudrunner    K_REVISION                           string
cloudrunner    K_CONFIGURATION                      string
cloudrunner    GOOGLE_CLOUD_PROJECT                 string
cloudrunner    SERVICE_ACCOUNT                      string
cloudrunner    SERVICE_VERSION                      string
cloudrunner    LOGGER_DEVELOPMENT                   bool                            true           false
cloudrunner    LOGGER_LEVEL                         zapcore.Level                   debug          info
cloudrunner    LOGGER_REPORTERRORS                  bool                                           true
cloudrunner    PROFILER_ENABLED                     bool                                           true
cloudrunner    PROFILER_MUTEXPROFILING              bool
cloudrunner    PROFILER_ALLOCFORCEGC                bool                            true
cloudrunner    TRACEEXPORTER_ENABLED                bool                                           true
cloudrunner    SERVER_TIMEOUT                       time.Duration                   290s
cloudrunner    SERVER_RECOVERPANICS                 bool                                           true
cloudrunner    CLIENT_TIMEOUT                       time.Duration                   10s
cloudrunner    CLIENT_RETRY_ENABLED                 bool                            true
cloudrunner    CLIENT_RETRY_INITIALBACKOFF          time.Duration                   200ms
cloudrunner    CLIENT_RETRY_MAXBACKOFF              time.Duration                   60s
cloudrunner    CLIENT_RETRY_MAXATTEMPTS             int                             5
cloudrunner    CLIENT_RETRY_BACKOFFMULTIPLIER       float64                         1.3
cloudrunner    CLIENT_RETRY_RETRYABLESTATUSCODES    []codes.Code                    Unavailable
cloudrunner    REQUESTLOGGER_MESSAGESIZELIMIT       int                                            1024
cloudrunner    REQUESTLOGGER_CODETOLEVEL            map[codes.Code]zapcore.Level
cloudrunner    REQUESTLOGGER_STATUSTOLEVEL          map[int]zapcore.Level

Build-time configuration of grpc-server:

LDFLAG                                                     TYPE      VALUE
go.einride.tech/cloudrunner/cloudruntime.serviceVersion    string
Comments
  • chore(deps): bump go.einride.tech/mage-tools from 0.28.0 to 0.46.2 in /.mage

    chore(deps): bump go.einride.tech/mage-tools from 0.28.0 to 0.46.2 in /.mage

    Bumps go.einride.tech/mage-tools from 0.28.0 to 0.46.2.

    Release notes

    Sourced from go.einride.tech/mage-tools's releases.

    v0.46.2

    0.46.2 (2022-01-26)

    Bug Fixes

    • change main package name to magetools (754cae54)

    v0.46.1

    0.46.1 (2022-01-25)

    Bug Fixes

    • use os.Lstat instead of os.Stat for symlinks (938b2ac8)

    v0.46.0

    0.46.0 (2022-01-25)

    Feature

    • use module-aware mode when building Go from local mod file (74d1a3fd)

    v0.45.0

    0.45.0 (2022-01-24)

    Feature

    • change generated magefile to use master instead of main (f3c0bd19)

    v0.44.0

    0.44.0 (2022-01-24)

    Feature

    • mgpath: add FromMageDir (d526e855)

    v0.43.0

    0.43.0 (2022-01-24)

    Feature

    • mgbalenacli: add balena-cli tool (94f08f80)
    • mgtool: add Output function (f9ee2d92)

    v0.42.0

    0.42.0 (2022-01-24)

    Feature

    • migrate init command to cmd (cc46bd41)

    ... (truncated)

    Commits
    • 754cae5 fix: change main package name to magetools
    • 938b2ac fix: use os.Lstat instead of os.Stat for symlinks
    • 74d1a3f feat: use module-aware mode when building Go from local mod file
    • f3c0bd1 feat: change generated magefile to use master instead of main
    • d526e85 feat(mgpath): add FromMageDir
    • 94f08f8 feat(mgbalenacli): add balena-cli tool
    • f9ee2d9 feat(mgtool): add Output function
    • cc46bd4 feat: migrate init command to cmd
    • 37f1d5f feat: refactor how we generate binary and makefiles
    • f2baed6 feat(clangformat): use binary instead of npm
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies go 
    opened by dependabot[bot] 9
  • chore(deps): bump go.einride.tech/sage from 0.117.0 to 0.153.0 in /.sage

    chore(deps): bump go.einride.tech/sage from 0.117.0 to 0.153.0 in /.sage

    Bumps go.einride.tech/sage from 0.117.0 to 0.153.0.

    Release notes

    Sourced from go.einride.tech/sage's releases.

    v0.153.0

    0.153.0 (2022-08-22)

    Feature

    • remove protoc-gen-go-aip-dataloader (2e824bf6)

    v0.152.2

    0.152.2 (2022-08-19)

    Bug Fixes

    • sgcloudendpoints: remove stray log statement (996e5305)

    v0.152.1

    0.152.1 (2022-08-17)

    Bug Fixes

    • sgshellcheck: untar local archive (fceaf7cb)

    v0.152.0

    0.152.0 (2022-08-16)

    Feature

    • tools: add shellcheck (e153cb7e)
    • tools: add xz (d5cf1cf0)

    v0.151.0

    0.151.0 (2022-08-12)

    Feature

    • sgmvn: initial command (8e622358)

    v0.150.0

    0.150.0 (2022-08-11)

    Feature

    • sgterraform: bump to 1.2.7 (f5071cea)
    • sggoreview: bump to 0.23.0 (d52ff318)
    • sgbuf: bump to 1.7.0 (00d178d9)
    • sgapilinter: bump to 1.34.0 (b25b7d9e)

    v0.149.2

    0.149.2 (2022-08-10)

    Bug Fixes

    ... (truncated)

    Commits
    • 2e824bf feat: remove protoc-gen-go-aip-dataloader
    • 996e530 fix(sgcloudendpoints): remove stray log statement
    • fceaf7c fix(sgshellcheck): untar local archive
    • e153cb7 feat(tools): add shellcheck
    • d5cf1cf feat(tools): add xz
    • 8e62235 feat(sgmvn): initial command
    • f5071ce feat(sgterraform): bump to 1.2.7
    • d52ff31 feat(sggoreview): bump to 0.23.0
    • 00d178d feat(sgbuf): bump to 1.7.0
    • b25b7d9 feat(sgapilinter): bump to 1.34.0
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies go 
    opened by dependabot[bot] 4
  • chore(deps): bump go.opentelemetry.io/otel/sdk from 1.3.0 to 1.4.0

    chore(deps): bump go.opentelemetry.io/otel/sdk from 1.3.0 to 1.4.0

    Bumps go.opentelemetry.io/otel/sdk from 1.3.0 to 1.4.0.

    Changelog

    Sourced from go.opentelemetry.io/otel/sdk's changelog.

    [1.4.0] - 2022-02-11

    Added

    • Use OTEL_EXPORTER_ZIPKIN_ENDPOINT environment variable to specify zipkin collector endpoint. (#2490)
    • Log the configuration of TracerProviders, and Tracers for debugging. To enable use a logger with Verbosity (V level) >=1. (#2500)
    • Added support to configure the batch span-processor with environment variables. The following environment variables are used. (#2515)
      • OTEL_BSP_SCHEDULE_DELAY
      • OTEL_BSP_EXPORT_TIMEOUT
      • OTEL_BSP_MAX_QUEUE_SIZE.
      • OTEL_BSP_MAX_EXPORT_BATCH_SIZE

    Changed

    • Zipkin exporter exports Resource attributes in the Tags field. (#2589)

    Deprecated

    • Deprecate module the go.opentelemetry.io/otel/sdk/export/metric. Use the go.opentelemetry.io/otel/sdk/metric module instead. (#2382)
    • Deprecate "go.opentelemetry.io/otel/sdk/metric".AtomicFieldOffsets. (#2445)

    Fixed

    • Fixed the instrument kind for noop async instruments to correctly report an implementation. (#2461)
    • Fix UDP packets overflowing with Jaeger payloads. (#2489, #2512)
    • Change the otlpmetric.Client interface's UploadMetrics method to accept a single ResourceMetrics instead of a slice of them. (#2491)
    • Specify explicit buckets in Prometheus example, fixing issue where example only has +inf bucket. (#2419, #2493)
    • W3C baggage will now decode urlescaped values. (#2529)
    • Baggage members are now only validated once, when calling NewMember and not also when adding it to the baggage itself. (#2522)
    • The order attributes are dropped from spans in the go.opentelemetry.io/otel/sdk/trace package when capacity is reached is fixed to be in compliance with the OpenTelemetry specification. Instead of dropping the least-recently-used attribute, the last added attribute is dropped. This drop order still only applies to attributes with unique keys not already contained in the span. If an attribute is added with a key already contained in the span, that attribute is updated to the new value being added. (#2576)

    Removed

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies go 
    opened by dependabot[bot] 3
  • chore(deps): bump go.opentelemetry.io/otel/sdk/metric from 0.24.0 to 0.27.0

    chore(deps): bump go.opentelemetry.io/otel/sdk/metric from 0.24.0 to 0.27.0

    Bumps go.opentelemetry.io/otel/sdk/metric from 0.24.0 to 0.27.0.

    Changelog

    Sourced from go.opentelemetry.io/otel/sdk/metric's changelog.

    Changelog

    All notable changes to this project will be documented in this file.

    The format is based on Keep a Changelog.

    This project adheres to Semantic Versioning.

    [Unreleased]

    [1.4.0] - 2022-02-11

    Added

    • Use OTEL_EXPORTER_ZIPKIN_ENDPOINT environment variable to specify zipkin collector endpoint. (#2490)
    • Log the configuration of TracerProviders, and Tracers for debugging. To enable use a logger with Verbosity (V level) >=1. (#2500)
    • Added support to configure the batch span-processor with environment variables. The following environment variables are used. (#2515)
      • OTEL_BSP_SCHEDULE_DELAY
      • OTEL_BSP_EXPORT_TIMEOUT
      • OTEL_BSP_MAX_QUEUE_SIZE.
      • OTEL_BSP_MAX_EXPORT_BATCH_SIZE

    Changed

    • Zipkin exporter exports Resource attributes in the Tags field. (#2589)

    Deprecated

    • Deprecate module the go.opentelemetry.io/otel/sdk/export/metric. Use the go.opentelemetry.io/otel/sdk/metric module instead. (#2382)
    • Deprecate "go.opentelemetry.io/otel/sdk/metric".AtomicFieldOffsets. (#2445)

    Fixed

    • Fixed the instrument kind for noop async instruments to correctly report an implementation. (#2461)
    • Fix UDP packets overflowing with Jaeger payloads. (#2489, #2512)
    • Change the otlpmetric.Client interface's UploadMetrics method to accept a single ResourceMetrics instead of a slice of them. (#2491)
    • Specify explicit buckets in Prometheus example, fixing issue where example only has +inf bucket. (#2419, #2493)
    • W3C baggage will now decode urlescaped values. (#2529)
    • Baggage members are now only validated once, when calling NewMember and not also when adding it to the baggage itself. (#2522)
    • The order attributes are dropped from spans in the go.opentelemetry.io/otel/sdk/trace package when capacity is reached is fixed to be in compliance with the OpenTelemetry specification. Instead of dropping the least-recently-used attribute, the last added attribute is dropped. This drop order still only applies to attributes with unique keys not already contained in the span. If an attribute is added with a key already contained in the span, that attribute is updated to the new value being added. (#2576)

    Removed

    • Updated go.opentelemetry.io/proto/otlp from v0.11.0 to v0.12.0. This version removes a number of deprecated methods. (#2546)

    ... (truncated)

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies go 
    opened by dependabot[bot] 3
  • fix(cloudclient): increase default backoff factor to 2

    fix(cloudclient): increase default backoff factor to 2

    With factor 1.3, the last attempt (5) will wait at most 0.75s before retrying. In practice, this wait time will be much lower, because the wait time is sampled from a random distribution random(0, max_wait_time).

    The effect is that all retries are attempt very quickly, meaning that the system on other side of RPC call might not have time to become available again.

    This commit changes the default backoff factor to 2. With this configuration the last attempt (5) will wait at most 6.4s before retrying. This should give the called RPC ample time to recover.

    opened by ericwenn 3
  • chore(deps): bump go.opentelemetry.io/contrib/instrumentation/host from 0.26.1 to 0.27.0

    chore(deps): bump go.opentelemetry.io/contrib/instrumentation/host from 0.26.1 to 0.27.0

    Bumps go.opentelemetry.io/contrib/instrumentation/host from 0.26.1 to 0.27.0.

    Changelog

    Sourced from go.opentelemetry.io/contrib/instrumentation/host's changelog.

    [1.2.0/0.27.0] - 2021-11-15

    Changed

    • Update dependency on the go.opentelemetry.io/otel project to v1.2.0.
    • go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-lambda-go/otellambda/xrayconfig updated to ensure access to the TracerProvider.
      • A NewTracerProvider() function is available to construct a recommended TracerProvider configuration.
      • AllRecommendedOptions() has been renamed to WithRecommendedOptions() and takes a TracerProvider as an argument.
      • EventToCarrier() and Propagator() are now WithEventToCarrier() and WithPropagator() to reflect that they return Option implementations.
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.

    Dependabot will merge this PR once CI passes on it, as requested by @odsod.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies 
    opened by dependabot[bot] 3
  • feat: initial implementation

    feat: initial implementation

    from README.md

    Cloud Runner

    Get up and running with Go and gRPC on Google Cloud Platform, with this lightweight, opinionated, batteries-included service SDK.

    Features

    Run your application with cloudrunner.Run, and you get:

    To help you build gRPC microservices, you also get:

    Get up and running

    Install the package:

    $ go get go.einride.tech/cloudrunner
    

    Try out a minimal example:

    package main
    
    import (
    	"context"
    	"log"
    
    	"go.einride.tech/cloudrunner"
    	"google.golang.org/grpc/health"
    	"google.golang.org/grpc/health/grpc_health_v1"
    )
    
    func main() {
    	if err := cloudrunner.Run(func(ctx context.Context) error {
    		cloudrunner.Logger(ctx).Info("hello world")
    		grpcServer := cloudrunner.NewGRPCServer(ctx)
    		healthServer := health.NewServer()
    		grpc_health_v1.RegisterHealthServer(grpcServer, healthServer)
    		return cloudrunner.ListenGRPC(ctx, grpcServer)
    	}); err != nil {
    		log.Fatal(err)
    	}
    }
    

    Configuration

    The service is configured with environment variables.

    When the service is running on GCE, all built-in integrations are turned on by default.

    Service-specific config is supported out of the box.

    Invoke your service with -help to show available configuration.

     $ go run go.einride.tech/cloudrunner/examples/cmd/grpc-server -help
    
    Usage of grpc-server:
    
      -config string
            load environment from a YAML service specification
      -help
            show help then exit
      -validate
            validate config then exit
    
    Configuration of grpc-server:
    
    CONFIG         TYPE                            ENV                                  DEFAULT        ON GCE
    cloudrunner    int                             PORT                                 8080
    cloudrunner    string                          K_SERVICE
    cloudrunner    string                          K_REVISION
    cloudrunner    string                          K_CONFIGURATION
    cloudrunner    string                          GOOGLE_CLOUD_PROJECT
    cloudrunner    string                          SERVICE_ACCOUNT
    cloudrunner    string                          SERVICE_VERSION
    cloudrunner    bool                            LOGGER_DEVELOPMENT                   true           false
    cloudrunner    zapcore.Level                   LOGGER_LEVEL                         debug          info
    cloudrunner    bool                            LOGGER_REPORTERRORS                                 true
    cloudrunner    bool                            PROFILER_ENABLED                                    true
    cloudrunner    bool                            PROFILER_MUTEXPROFILING
    cloudrunner    bool                            PROFILER_ALLOCFORCEGC                true
    cloudrunner    bool                            TRACEEXPORTER_ENABLED                               true
    cloudrunner    time.Duration                   SERVER_TIMEOUT                       290s
    cloudrunner    time.Duration                   CLIENT_TIMEOUT                       10s
    cloudrunner    bool                            CLIENT_RETRY_ENABLED                 true
    cloudrunner    time.Duration                   CLIENT_RETRY_INITIALBACKOFF          200ms
    cloudrunner    time.Duration                   CLIENT_RETRY_MAXBACKOFF              60s
    cloudrunner    int                             CLIENT_RETRY_MAXATTEMPTS             5
    cloudrunner    float64                         CLIENT_RETRY_BACKOFFMULTIPLIER       1.3
    cloudrunner    []codes.Code                    CLIENT_RETRY_RETRYABLESTATUSCODES    Unavailable
    cloudrunner    int                             REQUESTLOGGER_MESSAGESIZELIMIT                      1024
    cloudrunner    map[codes.Code]zapcore.Level    REQUESTLOGGER_CODETOLEVEL
    cloudrunner    map[int]zapcore.Level           REQUESTLOGGER_STATUSTOLEVEL
    
    opened by odsod 3
  • feat(cloudclient): support id_token with impersonated_service_account type

    feat(cloudclient): support id_token with impersonated_service_account type

    While trying to run a backend service locally (with SA impersonation) and calling other internal backend services, I encountered an error like this:

    idtoken: credential must be service_account, found "impersonated_service_account"
    

    While google's google-api-go-client is not supporting using Application Default Credentials (via the employee account auth), there seems to be a workaround mentioned in the issue and here we basically implement the same.

    Tested this locally while using it and it seems working correctly.

    opened by liufuyang 2
  • chore(deps): bump go.einride.tech/sage from 0.117.0 to 0.121.0 in /.sage

    chore(deps): bump go.einride.tech/sage from 0.117.0 to 0.121.0 in /.sage

    Bumps go.einride.tech/sage from 0.117.0 to 0.121.0.

    Release notes

    Sourced from go.einride.tech/sage's releases.

    v0.121.0

    0.121.0 (2022-07-07)

    Feature

    • add sgcloudsqlproxy (bbd13471)

    v0.120.0

    0.120.0 (2022-07-05)

    Feature

    • sgbuf: bump to v1.6.0 (91c1d665)
    • sgapilinter: bump to v1.33.0 (ff1b418c)

    v0.119.0

    0.119.0 (2022-06-29)

    Feature

    • bump protoc-gen-go-aip-dataloader v0.3.2 (b0eb9f68)

    v0.118.0

    0.118.0 (2022-06-28)

    Feature

    • sggolangcilint: bump to 1.46.2 (2a7867a9)
    Commits
    • bbd1347 feat: add sgcloudsqlproxy
    • 91c1d66 feat(sgbuf): bump to v1.6.0
    • ff1b418 feat(sgapilinter): bump to v1.33.0
    • b0eb9f6 feat: bump protoc-gen-go-aip-dataloader v0.3.2
    • 2a7867a feat(sggolangcilint): bump to 1.46.2
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies go 
    opened by dependabot[bot] 2
  • chore(deps): bump go.opentelemetry.io/otel from 1.3.0 to 1.4.0

    chore(deps): bump go.opentelemetry.io/otel from 1.3.0 to 1.4.0

    Bumps go.opentelemetry.io/otel from 1.3.0 to 1.4.0.

    Changelog

    Sourced from go.opentelemetry.io/otel's changelog.

    [1.4.0] - 2022-02-11

    Added

    • Use OTEL_EXPORTER_ZIPKIN_ENDPOINT environment variable to specify zipkin collector endpoint. (#2490)
    • Log the configuration of TracerProviders, and Tracers for debugging. To enable use a logger with Verbosity (V level) >=1. (#2500)
    • Added support to configure the batch span-processor with environment variables. The following environment variables are used. (#2515)
      • OTEL_BSP_SCHEDULE_DELAY
      • OTEL_BSP_EXPORT_TIMEOUT
      • OTEL_BSP_MAX_QUEUE_SIZE.
      • OTEL_BSP_MAX_EXPORT_BATCH_SIZE

    Changed

    • Zipkin exporter exports Resource attributes in the Tags field. (#2589)

    Deprecated

    • Deprecate module the go.opentelemetry.io/otel/sdk/export/metric. Use the go.opentelemetry.io/otel/sdk/metric module instead. (#2382)
    • Deprecate "go.opentelemetry.io/otel/sdk/metric".AtomicFieldOffsets. (#2445)

    Fixed

    • Fixed the instrument kind for noop async instruments to correctly report an implementation. (#2461)
    • Fix UDP packets overflowing with Jaeger payloads. (#2489, #2512)
    • Change the otlpmetric.Client interface's UploadMetrics method to accept a single ResourceMetrics instead of a slice of them. (#2491)
    • Specify explicit buckets in Prometheus example, fixing issue where example only has +inf bucket. (#2419, #2493)
    • W3C baggage will now decode urlescaped values. (#2529)
    • Baggage members are now only validated once, when calling NewMember and not also when adding it to the baggage itself. (#2522)
    • The order attributes are dropped from spans in the go.opentelemetry.io/otel/sdk/trace package when capacity is reached is fixed to be in compliance with the OpenTelemetry specification. Instead of dropping the least-recently-used attribute, the last added attribute is dropped. This drop order still only applies to attributes with unique keys not already contained in the span. If an attribute is added with a key already contained in the span, that attribute is updated to the new value being added. (#2576)

    Removed

    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies go 
    opened by dependabot[bot] 2
  • feat: allow for serving `gRPC` and `HTTP` on the same port

    feat: allow for serving `gRPC` and `HTTP` on the same port

    In some scenarios you may want to have both HTTP and gRPC at the same time and due to how Cloud Run works, you may have to use a single port to serve both protocols.

    This particular feature has been in use in various production projects in internal Einride projects for quite some time now and should be considered fairly stable.

    enhancement 
    opened by Edholm 2
  • chore(deps): bump google.golang.org/grpc from 1.50.1 to 1.51.0

    chore(deps): bump google.golang.org/grpc from 1.50.1 to 1.51.0

    Bumps google.golang.org/grpc from 1.50.1 to 1.51.0.

    Release notes

    Sourced from google.golang.org/grpc's releases.

    Release 1.51.0

    Behavior Changes

    • xds: NACK EDS resources with duplicate addresses in accordance with a recent spec change (#5715)
    • grpc: restrict status codes that can be generated by the control plane (gRFC A54) (#5653)

    New Features

    • client: set grpc-accept-encoding header with all registered compressors (#5541)
    • xds/weightedtarget: return a more meaningful error when all child policies are in TRANSIENT_FAILURE (#5711)
    • gcp/observability: add "started rpcs" metric (#5768)
    • xds: de-experimentalize the google-c2p-resolver (#5707)
    • balancer: add experimental Producer types and methods (#5669)
    • orca: provide a way for LB policies to receive OOB load reports (#5669)

    Bug Fixes

    • go.mod: upgrade x/text dependency to address CVE 2022-32149 (#5769)
    • client: fix race that could lead to an incorrect connection state if it was closed immediately after the server's HTTP/2 preface was received (#5714)
    • xds: ensure sum of the weights of all EDS localities at the same priority level does not exceed uint32 max (#5703)
    • client: fix binary logging bug which logs a server header on a trailers-only response (#5763)
    • balancer/priority: fix a bug where unreleased references to removed child policies (and associated state) was causing a memory leak (#5682)
    • xds/google-c2p: validate URI schema for no authorities (#5756)
    Commits
    • eeb9afa Change version to 1.51.0 (#5782)
    • 72812fe gcp/observability: filter logging from cloud ops endpoints calls (#5765)
    • 0ae33e6 xdsclient: remove unused test code (#5772)
    • 824f449 go.mod: upgrade x/text to v0.4 to address CVE (#5769)
    • 7f23df0 xdsclient: switch xdsclient watch deadlock test to e2e style (#5697)
    • 32f969e o11y: Added started rpc metric in o11y plugin (#5768)
    • b597a8e xdsclient: improve authority watchers test (#5700)
    • e41e894 orca: create ORCA producer for LB policies to use to receive OOB load reports...
    • 36d14db Fix binary logging bug which logs a server header on a trailers only response...
    • fcb8bdf xds/google-c2p: validate url for no authorities (#5756)
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies go 
    opened by dependabot[bot] 0
  • chore(deps): bump go.einride.tech/sage from 0.182.0 to 0.189.0 in /.sage

    chore(deps): bump go.einride.tech/sage from 0.182.0 to 0.189.0 in /.sage

    Bumps go.einride.tech/sage from 0.182.0 to 0.189.0.

    Release notes

    Sourced from go.einride.tech/sage's releases.

    v0.189.0

    0.189.0 (2022-11-21)

    Feature

    • remove WTFPL after a discussion with legal (e4c2d9e6)
    • update license to match gos version (2a6a6298)

    v0.188.0

    0.188.0 (2022-11-21)

    Feature

    • add disableCache option to sage github action (3598a475)

    v0.187.0

    0.187.0 (2022-11-14)

    Feature

    • yamlfmt: bump to 0.6.0 (e82f042e)
    • buf: bump to v1.9.0 (ef633ded)

    v0.186.0

    0.186.0 (2022-11-09)

    Feature

    • update api-linter to v1.37.0 (c8b17067)

    v0.185.0

    0.185.0 (2022-11-09)

    Feature

    • sqlc: bump to v1.16.0 (014c4d61)

    Chores

    • deps: bump go-semantic-release/action from 1.18 to 1.19 (c06616d5)

    v0.184.1

    0.184.1 (2022-11-01)

    Bug Fixes

    • actions: revert input to checkout different branch than default (a31dcd64)

    v0.184.0

    0.184.0 (2022-11-01)

    ... (truncated)

    Commits
    • e4c2d9e feat: remove WTFPL after a discussion with legal
    • 2a6a629 feat: update license to match gos version
    • 3598a47 feat: add disableCache option to sage github action
    • e82f042 feat(yamlfmt): bump to 0.6.0
    • ef633de feat(buf): bump to v1.9.0
    • c8b1706 feat: update api-linter to v1.37.0
    • 014c4d6 feat(sqlc): bump to v1.16.0
    • c06616d chore(deps): bump go-semantic-release/action from 1.18 to 1.19
    • a31dcd6 fix(actions): revert input to checkout different branch than default
    • e443bb4 feat(actions): add input to checkout different branch than default
    • Additional commits viewable in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies go 
    opened by dependabot[bot] 0
  • How do I let request logger do error log on those DeadlineExceeded status responses?

    How do I let request logger do error log on those DeadlineExceeded status responses?

    Seems a bit confusing about REQUESTLOGGER_CODETOLEVEL and REQUESTLOGGER_STATUSTOLEVEL on which to use and how to exactly use it, perhaps one can just set it like REQUESTLOGGER_CODETOLEVEL=DeadlineExceeded:ErrorLevel?

    opened by liufuyang 0
  • How to use cloudrunner.Logger properly?

    How to use cloudrunner.Logger properly?

    I got this

    [go-integration-test] panic: cloudrunner.Logger must be called with a context from cloudrunner.Run [recovered]
    

    error during an integration test while I added some code like this in a go file that talks to some db:

    func (r *Repo) getStuff(ctx context.Context) ([]*stuff, error){
        logger := cloudrunner.Logger(ctx)
        logger.Info("...")
        ...
    }
    

    Is it because I used the logger wrongly?

    Thank you.

    opened by liufuyang 0
  • chore(deps): bump golang.org/x/oauth2 from 0.1.0 to 0.2.0

    chore(deps): bump golang.org/x/oauth2 from 0.1.0 to 0.2.0

    Bumps golang.org/x/oauth2 from 0.1.0 to 0.2.0.

    Commits
    • 68a41d6 go.mod: update golang.org/x dependencies
    • 1a77549 go.mod: update to new compute/metadata module
    • See full diff in compare view

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies go 
    opened by dependabot[bot] 0
  • chore(deps): bump go-semantic-release/action from 1.18 to 1.19

    chore(deps): bump go-semantic-release/action from 1.18 to 1.19

    Bumps go-semantic-release/action from 1.18 to 1.19.

    Release notes

    Sourced from go-semantic-release/action's releases.

    v1.19.0

    1.19.0 (2022-11-04)

    Feature

    • update dependencies (c78b6ee1)

    Documentation

    • clarify which go-semantic-release version is used (bc71199f)
    Commits

    Dependabot compatibility score

    Dependabot will resolve any conflicts with this PR as long as you don't alter it yourself. You can also trigger a rebase manually by commenting @dependabot rebase.


    Dependabot commands and options

    You can trigger Dependabot actions by commenting on this PR:

    • @dependabot rebase will rebase this PR
    • @dependabot recreate will recreate this PR, overwriting any edits that have been made to it
    • @dependabot merge will merge this PR after your CI passes on it
    • @dependabot squash and merge will squash and merge this PR after your CI passes on it
    • @dependabot cancel merge will cancel a previously requested merge and block automerging
    • @dependabot reopen will reopen this PR if it is closed
    • @dependabot close will close this PR and stop Dependabot recreating it. You can achieve the same result by closing it manually
    • @dependabot ignore this major version will close this PR and stop Dependabot creating any more for this major version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this minor version will close this PR and stop Dependabot creating any more for this minor version (unless you reopen the PR or upgrade to it yourself)
    • @dependabot ignore this dependency will close this PR and stop Dependabot creating any more for this dependency (unless you reopen the PR or upgrade to it yourself)
    dependencies github_actions 
    opened by dependabot[bot] 0
Releases(v0.38.0)
  • v0.38.0(Nov 23, 2022)

  • v0.37.2(Nov 19, 2022)

  • v0.37.1(Nov 17, 2022)

  • v0.37.0(Nov 15, 2022)

    0.37.0 (2022-11-15)

    Feature

    • cloudrunner: recover panic (212b67c3)

    Code Refactoring

    • cloudotel: move error handler from metric exporter (b79f824f)
    • cloudtrace: move TraceExporter to cloudotel (efd06911)
    • cloudmonitoring: move MetricExporter to cloudotel (62486178)

    Chores

    • deps: bump google.golang.org/api from 0.102.0 to 0.103.0 (17493e3f)
    Source code(tar.gz)
    Source code(zip)
  • v0.36.2(Nov 8, 2022)

  • v0.36.1(Nov 6, 2022)

  • v0.36.0(Nov 5, 2022)

    0.36.0 (2022-11-05)

    Feature

    • cloudtrace: export opencensus instrumented traces (07e90a52)

    Bug Fixes

    • cloudtrace: read trace context from x-cloud-trace-context (75dfbda8)
    Source code(tar.gz)
    Source code(zip)
  • v0.35.1(Nov 4, 2022)

    0.35.1 (2022-11-04)

    Bug Fixes

    • cloudmonitoring: upgrade open-telemetry-operations-go v0.34.1 (93a2edda)

    Chores

    • bump dependencies (3496ffad)
    • deps: bump github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace (37c407ca)
    • deps: bump google.golang.org/api from 0.98.0 to 0.101.0 (ac6c998a)
    • deps: bump go.opentelemetry.io/contrib/instrumentation/runtime (8f683a07)
    • deps: bump go.opentelemetry.io/otel/sdk from 1.11.0 to 1.11.1 (c48371f8)
    • deps: bump go.opentelemetry.io/contrib/instrumentation/host (d2d9024f)
    • deps: bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc (8a0c8c43)
    • deps: bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp (e7d600e9)
    • deps: bump go.opentelemetry.io/otel/metric from 0.32.1 to 0.33.0 (34f824b3)
    • deps: bump go.einride.tech/sage from 0.176.0 to 0.182.0 in /.sage (4632f968)
    Source code(tar.gz)
    Source code(zip)
  • v0.35.0(Oct 25, 2022)

    0.35.0 (2022-10-25)

    Breaking Changes

    • change request logs from OK status to INFO level (7293a7e3)
    
    It is often not desireable to have debug logs in production however
    today it is not possible to disable debug logs without also disabling
    request logs from requests with an OK status.
    
    BREAKING CHANGE: Changed OK logs to be written at INFO level
    

    Bug Fixes

    • add dot to go comment on Sage (e2e7bfe1)
    • disable go-licenses (c8e8f1f4)

    Chores

    • deps: bump go.opentelemetry.io/contrib/detectors/gcp (3b1195cd)
    Source code(tar.gz)
    Source code(zip)
  • v0.34.0(Oct 14, 2022)

    0.34.0 (2022-10-14)

    Feature

    • bump Sage and introduce license checking (0f781a16)

    Chores

    • deps: bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc (7a5c7dbd)
    • deps: bump go.einride.tech/sage from 0.161.0 to 0.167.0 in /.sage (671f401a)
    • deps: bump github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace (506293dd)
    • deps: bump google.golang.org/grpc from 1.49.0 to 1.50.0 (66a500e4)
    • deps: bump gotest.tools/v3 from 3.3.0 to 3.4.0 (81b1d2d3)
    Source code(tar.gz)
    Source code(zip)
  • v0.33.0(Oct 9, 2022)

  • v0.32.4(Oct 3, 2022)

    0.32.4 (2022-10-03)

    Bug Fixes

    • align keepalive settings between client and server (23e52cfe)

    Chores

    • deps: bump google.golang.org/api from 0.97.0 to 0.98.0 (4e2c9be1)
    • deps: bump go.opentelemetry.io/contrib/instrumentation/runtime (fb0f60d5)
    • deps: bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc (f541301a)
    • deps: bump go.opentelemetry.io/contrib/instrumentation/host (9a052922)
    • deps: bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp (1eb0f6b3)
    Source code(tar.gz)
    Source code(zip)
  • v0.32.3(Sep 25, 2022)

    0.32.3 (2022-09-25)

    Bug Fixes

    • cloudrequestlog: treat codes.Unavailable as warning (e6ed2c29)

    Chores

    • deps: bump go.einride.tech/sage from 0.158.0 to 0.161.0 in /.sage (7f075a40)
    • deps: bump go.opentelemetry.io/otel/metric from 0.32.0 to 0.32.1 (9b0d8e7a)
    • deps: bump google.golang.org/api from 0.96.0 to 0.97.0 (b56884bb)
    Source code(tar.gz)
    Source code(zip)
  • v0.32.2(Sep 25, 2022)

  • v0.32.1(Sep 23, 2022)

  • v0.32.0(Sep 21, 2022)

  • v0.31.0(Sep 21, 2022)

    0.31.0 (2022-09-21)

    Feature

    • cloudclient: support id_token with impersonated_service_account type (39528763)

    Chores

    • deps: bump go.einride.tech/sage from 0.117.0 to 0.158.0 in /.sage (83d1f100)
    • deps: bump github.com/google/go-cmp from 0.5.8 to 0.5.9 (13d0c842)
    • deps: bump github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace (0af70b87)
    • deps: bump cloud.google.com/go/compute from 1.7.0 to 1.10.0 (fd20be33)
    Source code(tar.gz)
    Source code(zip)
  • v0.30.2(Sep 16, 2022)

  • v0.30.1(Sep 12, 2022)

    0.30.1 (2022-09-12)

    Bug Fixes

    • cloudpubsub: add ordering key from request body (9f6cb922)

    Chores

    • deps: bump go.uber.org/zap from 1.21.0 to 1.23.0 (f448021c)
    Source code(tar.gz)
    Source code(zip)
  • v0.30.0(Sep 5, 2022)

  • v0.29.1(Sep 2, 2022)

    0.29.1 (2022-09-02)

    Bug Fixes

    • http-request-logger: log the status field in the httpRequest object for 200 status (8216d739)

    Chores

    • deps: bump go.opentelemetry.io/contrib/instrumentation/runtime (364d05d9)
    • deps: bump go.opentelemetry.io/contrib/instrumentation/host (f5cb3b54)
    • deps: bump google.golang.org/api from 0.88.0 to 0.92.0 (e0d22cbd)
    • deps: bump google.golang.org/protobuf from 1.28.0 to 1.28.1 (3b9292a8)
    • deps: bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc (6739747a)
    • deps: bump go.opentelemetry.io/contrib/detectors/gcp (2ea33be0)
    • deps: bump google.golang.org/api from 0.85.0 to 0.88.0 (0a037467)
    Source code(tar.gz)
    Source code(zip)
  • v0.29.0(Jul 25, 2022)

  • v0.28.0(Jul 25, 2022)

  • v0.27.0(Jul 19, 2022)

  • v0.26.0(Jul 18, 2022)

  • v0.25.0(Jul 15, 2022)

  • v0.24.0(Jul 15, 2022)

  • v0.23.1(Jul 15, 2022)

  • v0.23.0(Jul 15, 2022)

    0.23.0 (2022-07-15)

    Feature

    • add support for debug.BuildInfo (39f57afc)

    Chores

    • deps: bump github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric (de733fe3)
    • deps: bump go.einride.tech/sage from 0.116.0 to 0.117.0 in /.sage (b85090aa)
    • deps: bump cloud.google.com/go/profiler from 0.2.0 to 0.3.0 (fa31ee99)
    • deps: bump google.golang.org/api from 0.82.0 to 0.85.0 (3389e0fa)
    • deps: bump go.einride.tech/sage from 0.115.1 to 0.116.0 in /.sage (cc78c795)
    • deps: bump google.golang.org/grpc from 1.46.2 to 1.47.0 (ab1d6ee5)
    • deps: bump github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric (9f9455eb)
    • deps: bump google.golang.org/api from 0.77.0 to 0.82.0 (701d3266)
    • deps: bump go.einride.tech/sage from 0.115.0 to 0.115.1 in /.sage (cf028271)
    • deps: bump github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace (e9f7dcd3)
    • deps: bump go-semantic-release/action from 1.17 to 1.18 (303f5c13)
    • deps: bump go.einride.tech/sage from 0.114.0 to 0.115.0 in /.sage (daaad031)
    • deps: bump github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/metric (86c14aae)
    • deps: bump go.einride.tech/sage from 0.111.0 to 0.114.0 in /.sage (06b5a7ba)
    Source code(tar.gz)
    Source code(zip)
  • v0.22.0(May 3, 2022)

    0.22.0 (2022-05-03)

    Feature

    • add cloudrunner.ListenGRPCHTTP (d32fd452)

    Chores

    • deps: bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp (ee4e1a32)
    • deps: bump go.opentelemetry.io/otel/metric from 0.29.0 to 0.30.0 (8a1bb1b2)
    • deps: bump go.opentelemetry.io/contrib/detectors/gcp (1bdd5ec7)
    • deps: bump google.golang.org/api from 0.76.0 to 0.77.0 (87402790)
    • deps: bump go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc (b6e3f401)
    • deps: bump google.golang.org/grpc from 1.45.0 to 1.46.0 (3379c53f)
    • deps: bump google.golang.org/api from 0.75.0 to 0.76.0 (c836e49c)
    • deps: bump github.com/google/go-cmp from 0.5.7 to 0.5.8 (e569e5ba)
    • deps: bump gotest.tools/v3 from 3.1.0 to 3.2.0 (4a29acce)
    • deps: bump go.einride.tech/sage from 0.108.1 to 0.110.0 in /.sage (08341f06)
    • deps: bump cloud.google.com/go/compute from 1.6.0 to 1.6.1 (89e30bf8)
    • deps: bump go.opentelemetry.io/otel/sdk/metric (fd620565)
    • deps: bump google.golang.org/api from 0.74.0 to 0.75.0 (7459fcdf)
    Source code(tar.gz)
    Source code(zip)
Sample apps and code written for Google Cloud in the Go programming language.

Google Cloud Platform Go Samples This repository holds sample code written in Go that demonstrates the Google Cloud Platform. Some samples have accomp

Google Cloud Platform 3.7k Nov 22, 2022
Use Google Cloud KMS as an io.Reader and rand.Source.

Google Cloud KMS Go io.Reader and rand.Source This package provides a struct that implements Go's io.Reader and math/rand.Source interfaces, using Goo

Seth Vargo 4 Sep 23, 2022
Google Cloud Client Libraries for Go.

Google Cloud Client Libraries for Go.

Google APIs 3.1k Nov 25, 2022
GoDrive: A cloud storage system similar to Dropbox or Google Drive, with resilient

Cloud Storage Service Author: Marisa Tania, Ryan Tjakrakartadinata Professor: Matthew Malensek See project spec here: https://www.cs.usfca.edu/~mmalen

Ryan G Tjakrakartadinata 2 Dec 7, 2021
TurtleDex is a decentralized cloud storage platform that radically alters the landscape of cloud storage.

TurtleDex is a decentralized cloud storage platform that radically alters the landscape of cloud storage. By leveraging smart contracts, client-side e

TurtleDev 18 Feb 17, 2021
Cloudpods is a cloud-native open source unified multi/hybrid-cloud platform developed with Golang

Cloudpods is a cloud-native open source unified multi/hybrid-cloud platform developed with Golang, i.e. Cloudpods is a cloud on clouds. Cloudpods is able to manage not only on-premise KVM/baremetals, but also resources from many cloud accounts across many cloud providers. It hides the differences of underlying cloud providers and exposes one set of APIs that allow programatically interacting with these many clouds.

null 1 Jan 11, 2022
Cloud cost estimates for Terraform in your CLI and pull requests 💰📉

Infracost shows cloud cost estimates for Terraform projects. It helps developers, devops and others to quickly see the cost breakdown and compare different options upfront.

Infracost 8.2k Nov 19, 2022
Fleex allows you to create multiple VPS on cloud providers and use them to distribute your workload.

Fleex allows you to create multiple VPS on cloud providers and use them to distribute your workload. Run tools like masscan, puredns, ffuf, httpx or anything you need and get results quickly!

null 174 Nov 17, 2022
Elkeid is a Cloud-Native Host-Based Intrusion Detection solution project to provide next-generation Threat Detection and Behavior Audition with modern architecture.

Elkeid is a Cloud-Native Host-Based Intrusion Detection solution project to provide next-generation Threat Detection and Behavior Audition with modern architecture.

Bytedance Inc. 1.5k Nov 18, 2022
A Cloud Native Buildpack that contributes SDKMAN and uses it to install dependencies like the Java Virtual Machine

gcr.io/paketo-buildpacks/sdkman A Cloud Native Buildpack that contributes SDKMAN and uses it to install dependencies like the Java Virtual Machine. Be

Daniel Mikusa 1 Jan 8, 2022
A Cloud Foundry cli plugin that offers a faster and customizable alternative for cf apps

Panzer cf cli plugin A plugin for faster interaction (less API calls) with Cloud Foundry, and choose the columns you want in your output. Instead of "

Harry Metske 0 Feb 14, 2022
Lightweight Cloud Instance Contextualizer

Flamingo Flamingo is a lightweight contextualization tool that aims to handle initialization of cloud instances. It is meant to be a replacement for c

Tamer Tas 36 Jun 18, 2022
Go language interface to Swift / Openstack Object Storage / Rackspace cloud files (golang)

Swift This package provides an easy to use library for interfacing with Swift / Openstack Object Storage / Rackspace cloud files from the Go Language

Nick Craig-Wood 294 Nov 9, 2022
The extensible SQL interface to your favorite cloud APIs.

The extensible SQL interface to your favorite cloud APIs.

Turbot 4.1k Nov 25, 2022
Terraform provider for HashiCorp Cloud Platform.

HashiCorp Cloud Platform (HCP) Terraform Provider Requirements Terraform >= 0.12.x Go >= 1.14 Building The Provider Clone the repository Enter the rep

HashiCorp 30 Nov 23, 2022
The Cloud Posse Terraform Provider for various utilities (E.g. deep merging)

terraform-provider-utils Terraform provider to add additional missing functionality to Terraform This project is part of our comprehensive "SweetOps"

Cloud Posse 66 Nov 16, 2022
Cloud-native way to provide elastic Jupyter Notebook services on Kubernetes

elastic-jupyter-operator: Elastic Jupyter on Kubernetes Kubernetes 原生的弹性 Jupyter 即服务 介绍 为用户按需提供弹性的 Jupyter Notebook 服务。elastic-jupyter-operator 提供以下特性

TKEStack 138 Nov 27, 2022
A Cloud Native Buildpack for Go

The Go Paketo Buildpack provides a set of collaborating buildpacks that enable the building of a Go-based application.

Paketo Buildpacks 62 Nov 16, 2022
cloud-native local storage management system

Open-Local是由多个组件构成的本地磁盘管理系统,目标是解决当前 Kubernetes 本地存储能力缺失问题。通过Open-Local,使用本地存储会像集中式存储一样简单。

null 310 Nov 28, 2022