Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 4 additions & 4 deletions .goreleaser.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -16,9 +16,9 @@ builds:
- arm64
ldflags:
- -s -w
- -X github.com/temporalio/temporal-proxy/internal/version.Version={{.Version}}
- -X github.com/temporalio/temporal-proxy/internal/version.SHA={{.Commit}}
- -X github.com/temporalio/temporal-proxy/internal/version.BuildTime={{.Date}}
- -X go.temporal.io/proxy/internal/version.Version={{.Version}}
- -X go.temporal.io/proxy/internal/version.SHA={{.Commit}}
- -X go.temporal.io/proxy/internal/version.BuildTime={{.Date}}

archives:
- id: default
Expand Down Expand Up @@ -94,7 +94,7 @@ release:
**Go**

```bash
go install github.com/temporalio/{{ .ProjectName }}/cmd/proxy@{{ .Tag }}
go install go.temporal.io/proxy/cmd/proxy@{{ .Tag }}
```

**Container image**
Expand Down
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -57,4 +57,4 @@ Tests use `testify` (require, not assert) and `t.Parallel()` throughout when pos
## Import Ordering

`gci` enforces three import groups in order: standard library → third-party → local module
(`github.com/temporalio/temporal-proxy`). Running `mise run format` fixes this automatically.
(`go.temporal.io/proxy`). Running `mise run format` fixes this automatically.
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
[![codecov](https://codecov.io/gh/temporalio/temporal-proxy/branch/main/graph/badge.svg)](https://codecov.io/gh/temporalio/temporal-proxy)
[![release](https://img.shields.io/github/v/release/temporalio/temporal-proxy)](https://github.com/temporalio/temporal-proxy/releases)
[![Docs](https://img.shields.io/badge/proxy-docs-blue)](https://docs.temporal.io/production-deployment/temporal-proxy/)
[![Go Reference](https://pkg.go.dev/badge/github.com/temporalio/temporal-proxy.svg)](https://pkg.go.dev/github.com/temporalio/temporal-proxy)
[![Go Reference](https://pkg.go.dev/badge/go.temporal.io/proxy.svg)](https://pkg.go.dev/go.temporal.io/proxy)
[![license](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE)

A gRPC proxy that sits between Temporal SDK Clients, Workers, and the Temporal UI on one side and one or more upstream
Expand Down Expand Up @@ -112,14 +112,14 @@ reaches a different upstream with no change to the Worker.
Install the `proxy` binary into your `$GOBIN` with `go install`:

```bash
go install github.com/temporalio/temporal-proxy/cmd/proxy@latest
go install go.temporal.io/proxy/cmd/proxy@latest
```

`@latest` resolves to the newest stable release. Pin an explicit version from the
[releases page](https://github.com/temporalio/temporal-proxy/releases) if you prefer:

```bash
go install github.com/temporalio/temporal-proxy/cmd/proxy@vX.Y.Z
go install go.temporal.io/proxy/cmd/proxy@vX.Y.Z
```

### Container image
Expand Down
2 changes: 1 addition & 1 deletion api/auth/v1/auth.proto
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ package api.auth.v1;
import "api/auth/v1/credential.proto";
import "api/auth/v1/target.proto";

option go_package = "github.com/temporalio/temporal-proxy/pkg/api/auth/v1;auth";
option go_package = "go.temporal.io/proxy/pkg/api/auth/v1;auth";

// AuthRequest asks the provider whether the caller behind an inbound stream may
// proceed. It carries both who the caller is and what the call is addressing, so
Expand Down
2 changes: 1 addition & 1 deletion api/auth/v1/credential.proto
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ syntax = "proto3";

package api.auth.v1;

option go_package = "github.com/temporalio/temporal-proxy/pkg/api/auth/v1;auth";
option go_package = "go.temporal.io/proxy/pkg/api/auth/v1;auth";

// Credential is one credential-bearing header as the caller sent it.
message Credential {
Expand Down
2 changes: 1 addition & 1 deletion api/auth/v1/service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ package api.auth.v1;

import "api/auth/v1/auth.proto";

option go_package = "github.com/temporalio/temporal-proxy/pkg/api/auth/v1;auth";
option go_package = "go.temporal.io/proxy/pkg/api/auth/v1;auth";

// AuthService is the contract for a pluggable inbound authenticator. The proxy
// ships with built-in authenticators for a fixed static token and for OIDC/JWKS
Expand Down
2 changes: 1 addition & 1 deletion api/auth/v1/target.proto
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ syntax = "proto3";

package api.auth.v1;

option go_package = "github.com/temporalio/temporal-proxy/pkg/api/auth/v1;auth";
option go_package = "go.temporal.io/proxy/pkg/api/auth/v1;auth";

// Target is what a call is addressing, as the proxy resolved it. For a gRPC call
// the proxy takes the method from the stream it accepted and the namespace from
Expand Down
2 changes: 1 addition & 1 deletion api/ext/v1/key_material.proto
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ syntax = "proto3";

package api.ext.v1;

option go_package = "github.com/temporalio/temporal-proxy/pkg/api/ext/v1;ext";
option go_package = "go.temporal.io/proxy/pkg/api/ext/v1;ext";

// KeyMaterial is an optional framing for the ciphertext an extension server
// returns from Encrypt. Decrypt is handed nothing but that ciphertext, so
Expand Down
2 changes: 1 addition & 1 deletion api/kms/v1/decrypt.proto
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ syntax = "proto3";

package api.kms.v1;

option go_package = "github.com/temporalio/temporal-proxy/pkg/api/kms/v1;kms";
option go_package = "go.temporal.io/proxy/pkg/api/kms/v1;kms";

// DecryptRequest asks the provider to unwrap ciphertext produced by a prior
// Encrypt call.
Expand Down
2 changes: 1 addition & 1 deletion api/kms/v1/encrypt.proto
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@ syntax = "proto3";

package api.kms.v1;

option go_package = "github.com/temporalio/temporal-proxy/pkg/api/kms/v1;kms";
option go_package = "go.temporal.io/proxy/pkg/api/kms/v1;kms";

// EncryptRequest asks the provider to wrap key material under the key selected
// for the given namespace.
Expand Down
2 changes: 1 addition & 1 deletion api/kms/v1/service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ package api.kms.v1;
import "api/kms/v1/decrypt.proto";
import "api/kms/v1/encrypt.proto";

option go_package = "github.com/temporalio/temporal-proxy/pkg/api/kms/v1;kms";
option go_package = "go.temporal.io/proxy/pkg/api/kms/v1;kms";

// EncryptionService is the contract for a pluggable Key Management Service (KMS)
// provider. The proxy ships with built-in providers backed by cloud KMS
Expand Down
2 changes: 1 addition & 1 deletion cmd/proxy/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import (

"github.com/urfave/cli/v3"

"github.com/temporalio/temporal-proxy/internal/version"
"go.temporal.io/proxy/internal/version"
)

func main() {
Expand Down
26 changes: 13 additions & 13 deletions cmd/proxy/serve.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,19 +12,19 @@ import (
"google.golang.org/protobuf/reflect/protoreflect"
"google.golang.org/protobuf/reflect/protoregistry"

"github.com/temporalio/temporal-proxy/internal/api"
"github.com/temporalio/temporal-proxy/internal/auth"
"github.com/temporalio/temporal-proxy/internal/codecserver"
"github.com/temporalio/temporal-proxy/internal/config"
"github.com/temporalio/temporal-proxy/internal/dataplane"
"github.com/temporalio/temporal-proxy/internal/httpserver"
"github.com/temporalio/temporal-proxy/internal/kms"
"github.com/temporalio/temporal-proxy/internal/metrics"
"github.com/temporalio/temporal-proxy/internal/pprofserver"
"github.com/temporalio/temporal-proxy/internal/protoutil"
"github.com/temporalio/temporal-proxy/internal/transport/connect"
"github.com/temporalio/temporal-proxy/pkg/logger"
"github.com/temporalio/temporal-proxy/pkg/logger/tag"
"go.temporal.io/proxy/internal/api"
"go.temporal.io/proxy/internal/auth"
"go.temporal.io/proxy/internal/codecserver"
"go.temporal.io/proxy/internal/config"
"go.temporal.io/proxy/internal/dataplane"
"go.temporal.io/proxy/internal/httpserver"
"go.temporal.io/proxy/internal/kms"
"go.temporal.io/proxy/internal/metrics"
"go.temporal.io/proxy/internal/pprofserver"
"go.temporal.io/proxy/internal/protoutil"
"go.temporal.io/proxy/internal/transport/connect"
"go.temporal.io/proxy/pkg/logger"
"go.temporal.io/proxy/pkg/logger/tag"
)

// shutdownTimeout bounds the whole stop sequence: the serving tiers, which drain
Expand Down
4 changes: 2 additions & 2 deletions e2e/codecserver_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ import (
"google.golang.org/protobuf/encoding/protojson"
"google.golang.org/protobuf/proto"

"github.com/temporalio/temporal-proxy/internal/config"
"github.com/temporalio/temporal-proxy/internal/dataplane/dataplanetest"
"go.temporal.io/proxy/internal/config"
"go.temporal.io/proxy/internal/dataplane/dataplanetest"
)

// namespaceHeader mirrors internal/codecserver/handler.go's own header name.
Expand Down
4 changes: 2 additions & 2 deletions e2e/encryption_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,8 +14,8 @@ import (
"google.golang.org/grpc"
"google.golang.org/protobuf/proto"

"github.com/temporalio/temporal-proxy/internal/config"
"github.com/temporalio/temporal-proxy/internal/dataplane/dataplanetest"
"go.temporal.io/proxy/internal/config"
"go.temporal.io/proxy/internal/dataplane/dataplanetest"
)

// These mirror the proxy's on-the-wire encryption metadata contract
Expand Down
4 changes: 2 additions & 2 deletions e2e/inbound_auth_strip_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,8 +10,8 @@ import (
"google.golang.org/grpc/metadata"
"google.golang.org/grpc/status"

"github.com/temporalio/temporal-proxy/internal/config"
"github.com/temporalio/temporal-proxy/internal/dataplane/dataplanetest"
"go.temporal.io/proxy/internal/config"
"go.temporal.io/proxy/internal/dataplane/dataplanetest"
)

// TestEndToEndInboundAuthStrippedOutboundCredentialAttached drives a request
Expand Down
4 changes: 2 additions & 2 deletions e2e/inbound_credential_no_leak_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import (
"google.golang.org/grpc"
"google.golang.org/grpc/metadata"

"github.com/temporalio/temporal-proxy/internal/config"
"github.com/temporalio/temporal-proxy/internal/dataplane/dataplanetest"
"go.temporal.io/proxy/internal/config"
"go.temporal.io/proxy/internal/dataplane/dataplanetest"
)

// TestEndToEndInboundHeaderStrippedNotLeakedUpstream isolates the inbound
Expand Down
6 changes: 3 additions & 3 deletions e2e/liveness_loopback_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@ import (
"google.golang.org/grpc/health/grpc_health_v1"
"google.golang.org/grpc/metadata"

"github.com/temporalio/temporal-proxy/internal/config"
"github.com/temporalio/temporal-proxy/internal/dataplane/dataplanetest"
"github.com/temporalio/temporal-proxy/internal/transport/meta"
"go.temporal.io/proxy/internal/config"
"go.temporal.io/proxy/internal/dataplane/dataplanetest"
"go.temporal.io/proxy/internal/transport/meta"
)

// wedge is an Authenticator that admits every caller until it is armed, after
Expand Down
4 changes: 2 additions & 2 deletions e2e/method_translation_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -17,8 +17,8 @@ import (
"google.golang.org/grpc"
"google.golang.org/grpc/metadata"

"github.com/temporalio/temporal-proxy/internal/config"
"github.com/temporalio/temporal-proxy/internal/dataplane/dataplanetest"
"go.temporal.io/proxy/internal/config"
"go.temporal.io/proxy/internal/dataplane/dataplanetest"
)

// cloudUpstream is a fake Temporal Cloud control plane. It serves CloudService
Expand Down
4 changes: 2 additions & 2 deletions e2e/metric_labels_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -12,8 +12,8 @@ import (
"google.golang.org/grpc"
"google.golang.org/grpc/metadata"

"github.com/temporalio/temporal-proxy/internal/config"
"github.com/temporalio/temporal-proxy/internal/dataplane/dataplanetest"
"go.temporal.io/proxy/internal/config"
"go.temporal.io/proxy/internal/dataplane/dataplanetest"
)

// TestEndToEndMetadataLabels drives a payload-carrying call through the full
Expand Down
4 changes: 2 additions & 2 deletions e2e/outbound_credential_override_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import (
"google.golang.org/grpc"
"google.golang.org/grpc/metadata"

"github.com/temporalio/temporal-proxy/internal/config"
"github.com/temporalio/temporal-proxy/internal/dataplane/dataplanetest"
"go.temporal.io/proxy/internal/config"
"go.temporal.io/proxy/internal/dataplane/dataplanetest"
)

// TestEndToEndOutboundCredentialOverridesForwardedHeader proves the outbound
Expand Down
4 changes: 2 additions & 2 deletions e2e/templated_upstream_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,8 +8,8 @@ import (
"google.golang.org/grpc"
"google.golang.org/grpc/metadata"

"github.com/temporalio/temporal-proxy/internal/config"
"github.com/temporalio/temporal-proxy/internal/dataplane/dataplanetest"
"go.temporal.io/proxy/internal/config"
"go.temporal.io/proxy/internal/dataplane/dataplanetest"
)

// TestEndToEndTemplatedUpstreamRoutesByRenderedAddress drives the full stack
Expand Down
4 changes: 2 additions & 2 deletions e2e/upstream_credential_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,8 +7,8 @@ import (
"go.temporal.io/api/workflowservice/v1"
"google.golang.org/grpc"

"github.com/temporalio/temporal-proxy/internal/config"
"github.com/temporalio/temporal-proxy/internal/dataplane/dataplanetest"
"go.temporal.io/proxy/internal/config"
"go.temporal.io/proxy/internal/dataplane/dataplanetest"
)

// TestProxyAttachesUpstreamCredential proves the static credential configured
Expand Down
8 changes: 4 additions & 4 deletions e2e/version_header_test.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ import (
cloudnamespace "go.temporal.io/cloud-sdk/api/namespace/v1"
"google.golang.org/grpc"

"github.com/temporalio/temporal-proxy/internal/config"
"github.com/temporalio/temporal-proxy/internal/dataplane/dataplanetest"
"github.com/temporalio/temporal-proxy/internal/transport/meta"
"github.com/temporalio/temporal-proxy/internal/version"
"go.temporal.io/proxy/internal/config"
"go.temporal.io/proxy/internal/dataplane/dataplanetest"
"go.temporal.io/proxy/internal/transport/meta"
"go.temporal.io/proxy/internal/version"
)

// TestEndToEndTheCloudAPIConnectionCarriesTheProxyVersion covers the second hop
Expand Down
2 changes: 1 addition & 1 deletion examples/authz/gentoken/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@ import (

"github.com/golang-jwt/jwt/v5"

"github.com/temporalio/temporal-proxy/examples/authz"
"go.temporal.io/proxy/examples/authz"
)

// namespaceRoles collects repeated -ns flags, one per namespace.
Expand Down
8 changes: 4 additions & 4 deletions examples/authz/server/authorizer.go
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,10 @@ import (
"google.golang.org/grpc/codes"
"google.golang.org/grpc/status"

"github.com/temporalio/temporal-proxy/pkg/api/auth/v1"
"github.com/temporalio/temporal-proxy/pkg/ext"
"github.com/temporalio/temporal-proxy/pkg/logger"
"github.com/temporalio/temporal-proxy/pkg/logger/tag"
"go.temporal.io/proxy/pkg/api/auth/v1"
"go.temporal.io/proxy/pkg/ext"
"go.temporal.io/proxy/pkg/logger"
"go.temporal.io/proxy/pkg/logger/tag"
)

const (
Expand Down
6 changes: 3 additions & 3 deletions examples/authz/server/claims.go
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,9 @@ import (

"github.com/golang-jwt/jwt/v5"

"github.com/temporalio/temporal-proxy/examples/authz"
"github.com/temporalio/temporal-proxy/pkg/logger"
"github.com/temporalio/temporal-proxy/pkg/logger/tag"
"go.temporal.io/proxy/examples/authz"
"go.temporal.io/proxy/pkg/logger"
"go.temporal.io/proxy/pkg/logger/tag"
)

const (
Expand Down
8 changes: 4 additions & 4 deletions examples/authz/server/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -14,7 +14,7 @@
// writing one of these; authorizer.go is where the policy lives.
//
// The gRPC surface, graceful shutdown, and signal handling all come from
// [github.com/temporalio/temporal-proxy/pkg/ext]: authorizer's Authenticate
// [go.temporal.io/proxy/pkg/ext]: authorizer's Authenticate
// satisfies [ext.Auth], and [ext.Serve] does the rest.
//
// The proxy reaches this server in plaintext with no credential of its own, which
Expand All @@ -32,9 +32,9 @@ import (
"flag"
"os"

"github.com/temporalio/temporal-proxy/pkg/ext"
"github.com/temporalio/temporal-proxy/pkg/logger"
"github.com/temporalio/temporal-proxy/pkg/logger/tag"
"go.temporal.io/proxy/pkg/ext"
"go.temporal.io/proxy/pkg/logger"
"go.temporal.io/proxy/pkg/logger/tag"
)

func main() {
Expand Down
2 changes: 1 addition & 1 deletion examples/authz/starter/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import (

"go.temporal.io/sdk/client"

"github.com/temporalio/temporal-proxy/examples/authz"
"go.temporal.io/proxy/examples/authz"
)

const (
Expand Down
2 changes: 1 addition & 1 deletion examples/authz/worker/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@ import (
"go.temporal.io/sdk/client"
"go.temporal.io/sdk/worker"

"github.com/temporalio/temporal-proxy/examples/authz"
"go.temporal.io/proxy/examples/authz"
)

const (
Expand Down
2 changes: 1 addition & 1 deletion examples/cloud/starter/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (

"go.temporal.io/sdk/client"

"github.com/temporalio/temporal-proxy/examples/cloud"
"go.temporal.io/proxy/examples/cloud"
)

func main() {
Expand Down
2 changes: 1 addition & 1 deletion examples/cloud/worker/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ import (
"go.temporal.io/sdk/client"
"go.temporal.io/sdk/worker"

"github.com/temporalio/temporal-proxy/examples/cloud"
"go.temporal.io/proxy/examples/cloud"
)

func main() {
Expand Down
Loading
Loading