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

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)
  • 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)
  • 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)
  • 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)
  • 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.

  • 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)
  • 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
    
  • 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.

  • 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)
  • 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)
  • 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.

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

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

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

    Commits
    • 34ffb07 go.mod: update golang.org/x dependencies
    • b177c21 go.mod: update golang.org/x dependencies
    • 510acbc google/internal/externalaccount: Added check for aws region and security cred...
    • ec4a9b2 google/internal/externalaccount: Adding metadata verification
    • 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)
  • chore(deps): bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.36.4 to 0.37.0

    chore(deps): bump go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.36.4 to 0.37.0

    Bumps go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp from 0.36.4 to 0.37.0.

    Release notes

    Sourced from go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp's releases.

    Release v1.12.0/0.37.0/0.6.0

    Added

    • Implemented retrieving the aws.ecs.* resource attributes in go.opentelemetry.io/detectors/aws/ecs based on the ECS Metadata v4 endpoint. (#2626)
    • The WithLogger option to go.opentelemetry.io/contrib/samplers/jaegerremote to allow users to pass a logr.Logger and have operations logged. (#2566)
    • Add the messaging.url & messaging.system attributes to all appropriate SQS operations in the go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws package. (#2879)
    • Add example use of the metrics signal to go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/example. (#2610)
    • [otelgin] Add support for filters to the go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin package to provide the way to control which inbound requests are traced. (#2965, #2963)

    Fixed

    • Set the status_code span attribute even if the HTTP handler hasn't written anything. (#2822)
    • Do not wrap http.NoBody in go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp, which fixes handling of that special request body. (#2983)

    Release v1.11.1/v0.36.4/v0.5.2

    Added

    • Add trace context propagation support to instrumentation/github.com/aws/aws-sdk-go-v2/otelaws. (#2856).

    Changed

    Release v1.11.0/v0.36.2/v0.5.1

    Changed

    Release v1.10.0/v0.35.0/v0.5.0

    Changed

    • Rename the Typ field of "go.opentelemetry.io/contrib/instrumentation/google.golang.org/grpc/otelgrpc".InterceptorInfo to Type. (#2688)
    • Use Go 1.19 as the default version for CI testing/linting. (#2675)

    Release v1.9.0/v0.34.0/v0.4.0

    Upgrades all go.opentelemetry.io/otel dependencies to v1.9.0.

    Added

    • The TextMapPropagator function to go.opentelemetry.io/contrib/propagators/autoprop. This function is used to return a composite TextMapPropagator from registered names (instead of having to specify with an environment variable). (#2593)

    Changed

    • Upgraded all semconv package use to v1.12.0. (#2589)

    Release v1.8.0/v0.33.0/v0.3.0

    1.8.0/0.33.0 - 2022-07-08

    Added

    ... (truncated)

    Changelog

    Sourced from go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp's changelog.

    [1.12.0/0.37.0/0.6.0]

    Added

    • Implemented retrieving the aws.ecs.* resource attributes in go.opentelemetry.io/detectors/aws/ecs based on the ECS Metadata v4 endpoint. (#2626)
    • The WithLogger option to go.opentelemetry.io/contrib/samplers/jaegerremote to allow users to pass a logr.Logger and have operations logged. (#2566)
    • Add the messaging.url & messaging.system attributes to all appropriate SQS operations in the go.opentelemetry.io/contrib/instrumentation/github.com/aws/aws-sdk-go-v2/otelaws package. (#2879)
    • Add example use of the metrics signal to go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp/example. (#2610)
    • [otelgin] Add support for filters to the go.opentelemetry.io/contrib/instrumentation/github.com/gin-gonic/gin/otelgin package to provide the way to control which inbound requests are traced. (#2965, #2963)

    Fixed

    • Set the status_code span attribute even if the HTTP handler hasn't written anything. (#2822)
    • Do not wrap http.NoBody in go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp, which fixes handling of that special request body. (#2983)
    Commits
    • ad04d9c Release v1.12.0/0.37.0/0.6.0 (#3067)
    • f368cb0 dependabot updates Sun Dec 4 17:47:16 UTC 2022 (#3066)
    • 6172b24 build(deps): bump github.com/aws/aws-sdk-go in /detectors/aws/ec2 (#3043)
    • 99f0a80 dependabot updates Mon Nov 28 19:36:32 UTC 2022 (#3042)
    • 01b39e7 Implement aws.ecs.* resource attributes (#2626)
    • 15ceaa2 dependabot updates Mon Nov 21 15:58:19 UTC 2022 (#3028)
    • 871ebe7 dependabot updates Sun Nov 13 17:55:48 UTC 2022 (#3000)
    • e79577d treat http.NoBody the same as a nil body (#2983)
    • 9a9abd4 Add support for filters to the otelgin package (#2965)
    • 44d8196 [net/http] enhance otelhttp example to support metric (#2610)
    • 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)
  • chore(deps): bump go.opentelemetry.io/otel/metric from 0.33.0 to 0.34.0

    chore(deps): bump go.opentelemetry.io/otel/metric from 0.33.0 to 0.34.0

    Bumps go.opentelemetry.io/otel/metric from 0.33.0 to 0.34.0.

    Changelog

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

    [1.11.2/0.34.0] 2022-12-05

    Added

    • The WithView Option is added to the go.opentelemetry.io/otel/sdk/metric package. This option is used to configure the view(s) a MeterProvider will use for all Readers that are registered with it. (#3387)
    • Add Instrumentation Scope and Version as info metric and label in Prometheus exporter. This can be disabled using the WithoutScopeInfo() option added to that package.(#3273, #3357)
    • OTLP exporters now recognize: (#3363)
      • OTEL_EXPORTER_OTLP_INSECURE
      • OTEL_EXPORTER_OTLP_TRACES_INSECURE
      • OTEL_EXPORTER_OTLP_METRICS_INSECURE
      • OTEL_EXPORTER_OTLP_CLIENT_KEY
      • OTEL_EXPORTER_OTLP_TRACES_CLIENT_KEY
      • OTEL_EXPORTER_OTLP_METRICS_CLIENT_KEY
      • OTEL_EXPORTER_OTLP_CLIENT_CERTIFICATE
      • OTEL_EXPORTER_OTLP_TRACES_CLIENT_CERTIFICATE
      • OTEL_EXPORTER_OTLP_METRICS_CLIENT_CERTIFICATE
    • The View type and related NewView function to create a view according to the OpenTelemetry specification are added to go.opentelemetry.io/otel/sdk/metric. These additions are replacements for the View type and New function from go.opentelemetry.io/otel/sdk/metric/view. (#3459)
    • The Instrument and InstrumentKind type are added to go.opentelemetry.io/otel/sdk/metric. These additions are replacements for the Instrument and InstrumentKind types from go.opentelemetry.io/otel/sdk/metric/view. (#3459)
    • The Stream type is added to go.opentelemetry.io/otel/sdk/metric to define a metric data stream a view will produce. (#3459)
    • The AssertHasAttributes allows instrument authors to test that datapoints returned have appropriate attributes. (#3487)

    Changed

    • The "go.opentelemetry.io/otel/sdk/metric".WithReader option no longer accepts views to associate with the Reader. Instead, views are now registered directly with the MeterProvider via the new WithView option. The views registered with the MeterProvider apply to all Readers. (#3387)
    • The Temporality(view.InstrumentKind) metricdata.Temporality and Aggregation(view.InstrumentKind) aggregation.Aggregation methods are added to the "go.opentelemetry.io/otel/sdk/metric".Exporter interface. (#3260)
    • The Temporality(view.InstrumentKind) metricdata.Temporality and Aggregation(view.InstrumentKind) aggregation.Aggregation methods are added to the "go.opentelemetry.io/otel/exporters/otlp/otlpmetric".Client interface. (#3260)
    • The WithTemporalitySelector and WithAggregationSelector ReaderOptions have been changed to ManualReaderOptions in the go.opentelemetry.io/otel/sdk/metric package. (#3260)
    • The periodic reader in the go.opentelemetry.io/otel/sdk/metric package now uses the temporality and aggregation selectors from its configured exporter instead of accepting them as options. (#3260)
    • Jaeger and Zipkin exporter use github.com/go-logr/logr as the logging interface, and add the WithLogr option. (#3497, #3500)

    Fixed

    • The go.opentelemetry.io/otel/exporters/prometheus exporter fixes duplicated _total suffixes. (#3369)
    • Remove comparable requirement for Readers. (#3387)
    • Cumulative metrics from the OpenCensus bridge (go.opentelemetry.io/otel/bridge/opencensus) are defined as monotonic sums, instead of non-monotonic. (#3389)
    • Asynchronous counters (Counter and UpDownCounter) from the metric SDK now produce delta sums when configured with delta temporality. (#3398)
    • Exported Status codes in the go.opentelemetry.io/otel/exporters/zipkin exporter are now exported as all upper case values. (#3340)
    • Aggregations from go.opentelemetry.io/otel/sdk/metric with no data are not exported. (#3394, #3436)
    • Reenabled Attribute Filters in the Metric SDK. (#3396)
    • Asynchronous callbacks are only called if they are registered with at least one instrument that does not use drop aggragation. (#3408)
    • Do not report empty partial-success responses in the go.opentelemetry.io/otel/exporters/otlp exporters. (#3438, #3432)
    • Handle partial success responses in go.opentelemetry.io/otel/exporters/otlp/otlpmetric exporters. (#3162, #3440)
    • Prevent duplicate Prometheus description, unit, and type. (#3469)
    • Prevents panic when using incorrect attribute.Value.As[Type]Slice(). (#3489)

    ... (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)
  • chore(deps): bump cloud.google.com/go/compute/metadata from 0.2.1 to 0.2.3

    chore(deps): bump cloud.google.com/go/compute/metadata from 0.2.1 to 0.2.3

    Bumps cloud.google.com/go/compute/metadata from 0.2.1 to 0.2.3.

    Release notes

    Sourced from cloud.google.com/go/compute/metadata's releases.

    compute/metadata: v0.2.3

    0.2.3 (2022-12-15)

    Bug Fixes

    • compute/metadata: Switch DNS lookup to an absolute lookup (119b410), refs #7165

    compute/metadata: v0.2.2

    0.2.2 (2022-12-01)

    Bug Fixes

    • compute/metadata: Set IdleConnTimeout for http.Client (#7084) (766516a), refs #5430
    Commits
    • cf8081f chore: release main (#7140)
    • bf75547 chore(all): auto-regenerate gapics (#7142)
    • 25947dd chore: run go mod tidy in gapicgen (#7170)
    • 119b410 fix(compute/metadata): switch DNS lookup to an absolute lookup
    • 20505bd fix: git safe directory issue in buildscript (#7164)
    • 5989bb1 feat(bigtable): install grpc rls and xds by default (#6005)
    • cda5cb4 fix: update test to be compatible with new containers (#7162)
    • 22e90d9 chore(main): release spanner 1.42.0 (#7130)
    • 2552e09 fix(spanner): fallback to check grpc error message if ResourceType is nil for...
    • 6bb95ef feat(spanner): add database roles (#5701)
    • 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)
  • chore(deps): bump github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace from 1.10.1 to 1.10.2

    chore(deps): bump github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace from 1.10.1 to 1.10.2

    Bumps github.com/GoogleCloudPlatform/opentelemetry-operations-go/exporter/trace from 1.10.1 to 1.10.2.

    Commits
    • 9364351 Fix propagator package in release.go (#540)
    • 64044d1 Prepare release v0.34.2 and v1.10.2 (#539)
    • 89bda20 [chore] Update OTel dependencies (#538)
    • 97b3a35 Add regex matching to resource attribute filters (#535)
    • b101435 Drop histogram metrics with no non-zero bucket values (#533)
    • 585d761 Disable create metric descriptors (#532)
    • fbfa6aa Allow extra resource attributes to be parsed to LogEntry labels (#531)
    • 03657bf dont attempt to create metric descriptors for metrics without an aggregation ...
    • e955c20 Default to using FindDeafultCredentials for credentials (#527)
    • 8c6aae1 exporter/trace: more readable to if else condition (#522)
    • 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)
Sample apps and code written for Google Cloud in the Go programming language.
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

Jan 9, 2023
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

Dec 1, 2022
Google Cloud Client Libraries for Go.
Google Cloud Client Libraries for Go.

Google Cloud Client Libraries for Go.

Jan 8, 2023
GoDrive: A cloud storage system similar to Dropbox or Google Drive, with resilient
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

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

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

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.

Jan 11, 2022
Cloud cost estimates for Terraform in your CLI and pull requests 💰📉
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.

Jan 2, 2023
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.

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!

Jan 6, 2023
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.

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

Dec 30, 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

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 "

Feb 14, 2022
Lightweight Cloud Instance Contextualizer
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

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

Nov 9, 2022
The extensible SQL interface to your favorite cloud APIs.
The extensible SQL interface to your favorite cloud APIs.

The extensible SQL interface to your favorite cloud APIs.

Jan 4, 2023
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

Dec 25, 2022
The Cloud Posse Terraform Provider for various utilities (E.g. deep merging)
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"

Jan 7, 2023
Cloud-native way to provide elastic Jupyter Notebook services on Kubernetes
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 提供以下特性

Dec 29, 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.

Dec 14, 2022
cloud-native local storage management system
cloud-native local storage management system

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

Dec 30, 2022