From bba14bac6aa6142a0c71a53f78efcba71476e405 Mon Sep 17 00:00:00 2001 From: Vincent Date: Wed, 15 Mar 2023 09:05:10 +0100 Subject: [PATCH 01/63] docs: update security email (#1077) --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 58200a7ba8..5057358a36 100644 --- a/README.md +++ b/README.md @@ -565,8 +565,9 @@ to perform a certain action on a resource. ### Disclosing vulnerabilities If you think you found a security vulnerability, please refrain from posting it -publicly on the forums, the chat, or GitHub and send us an email to -[hi@ory.sh](mailto:hi@ory.sh) instead. +publicly on the forums, the chat, or GitHub. You can find all info for +responsible disclosure in our +[security.txt](https://www.ory.sh/.well-known/security.txt). ## Telemetry From 12bdbe667e93bc56530986464564458a392220a2 Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Wed, 15 Mar 2023 08:13:09 +0000 Subject: [PATCH 02/63] autogen(docs): regenerate and update changelog [skip ci] --- CHANGELOG.md | 96 ++++++++++++++++++++++++++++------------------------ 1 file changed, 51 insertions(+), 45 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 80f741f10b..ba00f47f19 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,13 +5,14 @@ **Table of Contents** -- [0.0.0 (2023-02-23)](#000-2023-02-23) +- [0.0.0 (2023-03-15)](#000-2023-03-15) - [Bug Fixes](#bug-fixes) + - [Documentation](#documentation) - [Features](#features) - [0.40.1 (2023-01-17)](#0401-2023-01-17) - [Bug Fixes](#bug-fixes-1) - [Code Generation](#code-generation) - - [Documentation](#documentation) + - [Documentation](#documentation-1) - [Features](#features-1) - [Tests](#tests) - [0.40.0 (2022-09-14)](#0400-2022-09-14) @@ -30,7 +31,7 @@ - [0.39.2 (2022-08-18)](#0392-2022-08-18) - [Bug Fixes](#bug-fixes-3) - [Code Generation](#code-generation-5) - - [Documentation](#documentation-1) + - [Documentation](#documentation-2) - [Features](#features-3) - [0.39.0 (2022-06-27)](#0390-2022-06-27) - [Breaking Changes](#breaking-changes) @@ -40,7 +41,7 @@ - [0.38.25-beta.1 (2022-04-13)](#03825-beta1-2022-04-13) - [Bug Fixes](#bug-fixes-5) - [Code Generation](#code-generation-7) - - [Documentation](#documentation-2) + - [Documentation](#documentation-3) - [0.38.24-beta.1 (2022-04-06)](#03824-beta1-2022-04-06) - [Code Generation](#code-generation-8) - [Features](#features-5) @@ -54,31 +55,31 @@ - [Bug Fixes](#bug-fixes-7) - [Code Generation](#code-generation-11) - [Code Refactoring](#code-refactoring-1) - - [Documentation](#documentation-3) + - [Documentation](#documentation-4) - [Features](#features-7) - [0.38.19-beta.1 (2022-02-04)](#03819-beta1-2022-02-04) - [Bug Fixes](#bug-fixes-8) - [Code Generation](#code-generation-12) - - [Documentation](#documentation-4) + - [Documentation](#documentation-5) - [Features](#features-8) - [0.38.17-beta.1 (2022-02-03)](#03817-beta1-2022-02-03) - [Continuous Integration](#continuous-integration) - [0.38.18-beta.1 (2022-02-03)](#03818-beta1-2022-02-03) - [Bug Fixes](#bug-fixes-9) - [Code Generation](#code-generation-13) - - [Documentation](#documentation-5) + - [Documentation](#documentation-6) - [Features](#features-9) - [Tests](#tests-2) - [Unclassified](#unclassified-1) - [0.38.15-beta.1 (2021-08-28)](#03815-beta1-2021-08-28) - [Bug Fixes](#bug-fixes-10) - [Code Generation](#code-generation-14) - - [Documentation](#documentation-6) + - [Documentation](#documentation-7) - [Features](#features-10) - [0.38.14-beta.1 (2021-07-14)](#03814-beta1-2021-07-14) - [Bug Fixes](#bug-fixes-11) - [Code Generation](#code-generation-15) - - [Documentation](#documentation-7) + - [Documentation](#documentation-8) - [Features](#features-11) - [Reverts](#reverts) - [0.38.12-beta.1 (2021-06-22)](#03812-beta1-2021-06-22) @@ -95,7 +96,7 @@ - [Bug Fixes](#bug-fixes-14) - [Code Generation](#code-generation-18) - [Code Refactoring](#code-refactoring-2) - - [Documentation](#documentation-8) + - [Documentation](#documentation-9) - [Features](#features-13) - [0.38.9-beta.1 (2021-03-17)](#0389-beta1-2021-03-17) - [Code Generation](#code-generation-19) @@ -118,29 +119,29 @@ - [Features](#features-14) - [0.38.6-beta.1 (2021-01-27)](#0386-beta1-2021-01-27) - [Code Generation](#code-generation-25) - - [Documentation](#documentation-9) + - [Documentation](#documentation-10) - [Features](#features-15) - [0.38.5-beta.1 (2020-12-10)](#0385-beta1-2020-12-10) - [Bug Fixes](#bug-fixes-19) - [Code Generation](#code-generation-26) - - [Documentation](#documentation-10) + - [Documentation](#documentation-11) - [Features](#features-16) - [Unclassified](#unclassified-5) - [0.38.4-beta.1 (2020-09-28)](#0384-beta1-2020-09-28) - [Bug Fixes](#bug-fixes-20) - [Code Generation](#code-generation-27) - - [Documentation](#documentation-11) + - [Documentation](#documentation-12) - [Features](#features-17) - [Unclassified](#unclassified-6) - [0.38.3-beta.1 (2020-07-29)](#0383-beta1-2020-07-29) - [Bug Fixes](#bug-fixes-21) - [Code Generation](#code-generation-28) - - [Documentation](#documentation-12) + - [Documentation](#documentation-13) - [Features](#features-18) - [0.38.2-beta.1 (2020-05-25)](#0382-beta1-2020-05-25) - [Bug Fixes](#bug-fixes-22) - [Chores](#chores) - - [Documentation](#documentation-13) + - [Documentation](#documentation-14) - [Features](#features-19) - [0.38.1-beta.1 (2020-05-08)](#0381-beta1-2020-05-08) - [Bug Fixes](#bug-fixes-23) @@ -149,21 +150,21 @@ - [Bug Fixes](#bug-fixes-24) - [Chores](#chores-2) - [Code Refactoring](#code-refactoring-3) - - [Documentation](#documentation-14) + - [Documentation](#documentation-15) - [Features](#features-20) - [0.37.1-beta.1 (2020-04-03)](#0371-beta1-2020-04-03) - [Chores](#chores-3) - - [Documentation](#documentation-15) + - [Documentation](#documentation-16) - [0.37.0-beta.1 (2020-04-02)](#0370-beta1-2020-04-02) - [Breaking Changes](#breaking-changes-1) - [Bug Fixes](#bug-fixes-25) - - [Documentation](#documentation-16) + - [Documentation](#documentation-17) - [Features](#features-21) - [0.36.0-beta.4 (2020-02-14)](#0360-beta4-2020-02-14) - [Bug Fixes](#bug-fixes-26) - - [Documentation](#documentation-17) -- [0.36.0-beta.1 (2020-02-05)](#0360-beta1-2020-02-05) - [Documentation](#documentation-18) +- [0.36.0-beta.1 (2020-02-05)](#0360-beta1-2020-02-05) + - [Documentation](#documentation-19) - [Features](#features-22) - [Unclassified](#unclassified-7) - [0.35.5-beta.2 (2020-01-31)](#0355-beta2-2020-01-31) @@ -173,68 +174,68 @@ - [0.35.4-beta.1 (2020-01-26)](#0354-beta1-2020-01-26) - [Unclassified](#unclassified-10) - [0.35.3-beta.1 (2020-01-26)](#0353-beta1-2020-01-26) - - [Documentation](#documentation-19) + - [Documentation](#documentation-20) - [Unclassified](#unclassified-11) - [0.35.1-beta.1 (2020-01-14)](#0351-beta1-2020-01-14) - [Unclassified](#unclassified-12) - [0.35.0-beta.1 (2020-01-13)](#0350-beta1-2020-01-13) - - [Documentation](#documentation-20) + - [Documentation](#documentation-21) - [Unclassified](#unclassified-13) - [0.34.0-beta.1 (2019-12-26)](#0340-beta1-2019-12-26) - - [Documentation](#documentation-21) + - [Documentation](#documentation-22) - [Unclassified](#unclassified-14) - [0.33.1-beta.1 (2019-12-18)](#0331-beta1-2019-12-18) - - [Documentation](#documentation-22) + - [Documentation](#documentation-23) - [Unclassified](#unclassified-15) - [0.33.0-beta.1 (2019-12-16)](#0330-beta1-2019-12-16) - - [Documentation](#documentation-23) + - [Documentation](#documentation-24) - [Unclassified](#unclassified-16) - [0.32.1-beta.1 (2019-10-30)](#0321-beta1-2019-10-30) - - [Documentation](#documentation-24) + - [Documentation](#documentation-25) - [Unclassified](#unclassified-17) - [0.32.0-beta.1 (2019-10-20)](#0320-beta1-2019-10-20) - - [Documentation](#documentation-25) -- [0.31.0-beta.1 (2019-10-20)](#0310-beta1-2019-10-20) - [Documentation](#documentation-26) +- [0.31.0-beta.1 (2019-10-20)](#0310-beta1-2019-10-20) + - [Documentation](#documentation-27) - [Unclassified](#unclassified-18) - [0.19.0-beta.1 (2019-09-23)](#0190-beta1-2019-09-23) - [Unclassified](#unclassified-19) - [0.18.0-beta.1 (2019-08-22)](#0180-beta1-2019-08-22) - - [Documentation](#documentation-27) + - [Documentation](#documentation-28) - [Unclassified](#unclassified-20) - [0.17.4-beta.1 (2019-08-09)](#0174-beta1-2019-08-09) - - [Documentation](#documentation-28) + - [Documentation](#documentation-29) - [Unclassified](#unclassified-21) - [0.17.3-beta.1 (2019-08-03)](#0173-beta1-2019-08-03) - - [Documentation](#documentation-29) + - [Documentation](#documentation-30) - [Unclassified](#unclassified-22) - [0.17.2-beta.1 (2019-08-02)](#0172-beta1-2019-08-02) - - [Documentation](#documentation-30) + - [Documentation](#documentation-31) - [Unclassified](#unclassified-23) - [0.17.1-beta.1 (2019-07-23)](#0171-beta1-2019-07-23) - - [Documentation](#documentation-31) + - [Documentation](#documentation-32) - [Unclassified](#unclassified-24) - [0.17.0-beta.1 (2019-07-18)](#0170-beta1-2019-07-18) - [Continuous Integration](#continuous-integration-1) - - [Documentation](#documentation-32) + - [Documentation](#documentation-33) - [Unclassified](#unclassified-25) - [0.16.0-beta.5 (2019-06-28)](#0160-beta5-2019-06-28) - - [Documentation](#documentation-33) + - [Documentation](#documentation-34) - [Unclassified](#unclassified-26) - [0.16.0-beta.4 (2019-05-28)](#0160-beta4-2019-05-28) - - [Documentation](#documentation-34) + - [Documentation](#documentation-35) - [Unclassified](#unclassified-27) - [0.16.0-beta.3 (2019-05-19)](#0160-beta3-2019-05-19) - [Continuous Integration](#continuous-integration-2) - - [Documentation](#documentation-35) + - [Documentation](#documentation-36) - [Unclassified](#unclassified-28) - [0.15.2 (2019-05-04)](#0152-2019-05-04) - - [Documentation](#documentation-36) + - [Documentation](#documentation-37) - [Unclassified](#unclassified-29) - [0.15.1 (2019-04-29)](#0151-2019-04-29) - [Unclassified](#unclassified-30) - [0.15.0 (2019-04-29)](#0150-2019-04-29) - - [Documentation](#documentation-37) + - [Documentation](#documentation-38) - [Unclassified](#unclassified-31) - [0.14.2+oryOS.10 (2018-12-13)](#0142oryos10-2018-12-13) - [Continuous Integration](#continuous-integration-3) @@ -242,10 +243,10 @@ - [Continuous Integration](#continuous-integration-4) - [0.14.0+oryOS.10 (2018-12-13)](#0140oryos10-2018-12-13) - [Continuous Integration](#continuous-integration-5) - - [Documentation](#documentation-38) + - [Documentation](#documentation-39) - [Unclassified](#unclassified-32) - [0.11.12 (2018-05-07)](#01112-2018-05-07) - - [Documentation](#documentation-39) + - [Documentation](#documentation-40) - [Unclassified](#unclassified-33) - [0.0.29 (2017-12-19)](#0029-2017-12-19) - [Unclassified](#unclassified-34) @@ -260,14 +261,14 @@ - [0.0.24 (2017-11-26)](#0024-2017-11-26) - [Unclassified](#unclassified-39) - [0.0.23 (2017-11-24)](#0023-2017-11-24) - - [Documentation](#documentation-40) + - [Documentation](#documentation-41) - [Unclassified](#unclassified-40) - [0.0.22 (2017-11-20)](#0022-2017-11-20) - [Unclassified](#unclassified-41) - [0.0.21 (2017-11-19)](#0021-2017-11-19) - [Unclassified](#unclassified-42) - [0.0.20 (2017-11-18)](#0020-2017-11-18) - - [Documentation](#documentation-41) + - [Documentation](#documentation-42) - [Unclassified](#unclassified-43) - [0.0.19 (2017-11-13)](#0019-2017-11-13) - [Unclassified](#unclassified-44) @@ -306,12 +307,12 @@ - [0.0.2 (2017-10-12)](#002-2017-10-12) - [Unclassified](#unclassified-61) - [0.0.1 (2017-10-10)](#001-2017-10-10) - - [Documentation](#documentation-42) + - [Documentation](#documentation-43) - [Unclassified](#unclassified-62) -# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.1...v0.0.0) (2023-02-23) +# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.1...v0.0.0) (2023-03-15) ### Bug Fixes @@ -331,6 +332,11 @@ With this change, Oathkeeper now reports as "not ready" on the health check if not at least one valid rule is loaded. +### Documentation + +- Update security email ([#1077](https://github.com/ory/oathkeeper/issues/1077)) + ([bba14ba](https://github.com/ory/oathkeeper/commit/bba14bac6aa6142a0c71a53f78efcba71476e405)) + ### Features - Add cache to Koanf.validatePipelineConfig From b3aa0c38b59299e3478d4c97db03d39ebe20cd7e Mon Sep 17 00:00:00 2001 From: Arne Luenser Date: Wed, 15 Mar 2023 15:34:29 +0100 Subject: [PATCH 03/63] feat: improved tracing for authorizers (#1079) --- .../configuration/provider_koanf_public_test.go | 3 ++- driver/registry_memory.go | 2 +- pipeline/authz/keto_engine_acp_ory.go | 15 ++++++++++++--- pipeline/authz/keto_engine_acp_ory_test.go | 1 + pipeline/authz/remote.go | 12 ++++++++++-- pipeline/authz/remote_json.go | 10 +++++++++- 6 files changed, 35 insertions(+), 8 deletions(-) diff --git a/driver/configuration/provider_koanf_public_test.go b/driver/configuration/provider_koanf_public_test.go index 044be58efc..f7a5223618 100644 --- a/driver/configuration/provider_koanf_public_test.go +++ b/driver/configuration/provider_koanf_public_test.go @@ -323,7 +323,8 @@ func TestKoanfProvider(t *testing.T) { }) t.Run("authorizer=keto_engine_acp_ory", func(t *testing.T) { - a := authz.NewAuthorizerKetoEngineACPORY(p) + l := logrusx.New("", "") + a := authz.NewAuthorizerKetoEngineACPORY(p, otelx.NewNoop(l, p.TracingConfig())) assert.True(t, p.AuthorizerIsEnabled(a.GetID())) require.NoError(t, a.Validate(nil)) diff --git a/driver/registry_memory.go b/driver/registry_memory.go index 0f6adc74f3..288b122f31 100644 --- a/driver/registry_memory.go +++ b/driver/registry_memory.go @@ -380,7 +380,7 @@ func (r *RegistryMemory) prepareAuthz() { interim := []authz.Authorizer{ authz.NewAuthorizerAllow(r.c), authz.NewAuthorizerDeny(r.c), - authz.NewAuthorizerKetoEngineACPORY(r.c), + authz.NewAuthorizerKetoEngineACPORY(r.c, r), authz.NewAuthorizerRemote(r.c, r), authz.NewAuthorizerRemoteJSON(r.c, r), } diff --git a/pipeline/authz/keto_engine_acp_ory.go b/pipeline/authz/keto_engine_acp_ory.go index eefc290e07..18a938ec66 100644 --- a/pipeline/authz/keto_engine_acp_ory.go +++ b/pipeline/authz/keto_engine_acp_ory.go @@ -14,6 +14,7 @@ import ( "time" "github.com/hashicorp/go-retryablehttp" + "go.opentelemetry.io/otel/trace" "github.com/ory/oathkeeper/driver/configuration" "github.com/ory/oathkeeper/pipeline" @@ -21,6 +22,7 @@ import ( "github.com/ory/oathkeeper/x" "github.com/ory/x/httpx" + "github.com/ory/x/otelx" "github.com/ory/x/urlx" "github.com/pkg/errors" @@ -55,14 +57,16 @@ type AuthorizerKetoEngineACPORY struct { client *retryablehttp.Client contextCreator authorizerKetoWardenContext t *template.Template + tracer trace.Tracer } -func NewAuthorizerKetoEngineACPORY(c configuration.Provider) *AuthorizerKetoEngineACPORY { +func NewAuthorizerKetoEngineACPORY(c configuration.Provider, d interface{ Tracer() trace.Tracer }) *AuthorizerKetoEngineACPORY { return &AuthorizerKetoEngineACPORY{ c: c, client: httpx.NewResilientClient( httpx.ResilientClientWithMaxRetryWait(100*time.Millisecond), httpx.ResilientClientWithMaxRetry(5), + httpx.ResilientClientWithTracer(d.Tracer()), ), contextCreator: func(r *http.Request) map[string]interface{} { return map[string]interface{}{ @@ -70,7 +74,8 @@ func NewAuthorizerKetoEngineACPORY(c configuration.Provider) *AuthorizerKetoEngi "requestedAt": time.Now().UTC(), } }, - t: x.NewTemplate("keto_engine_acp_ory"), + t: x.NewTemplate("keto_engine_acp_ory"), + tracer: d.Tracer(), } } @@ -91,7 +96,11 @@ func (a *AuthorizerKetoEngineACPORY) WithContextCreator(f authorizerKetoWardenCo a.contextCreator = f } -func (a *AuthorizerKetoEngineACPORY) Authorize(r *http.Request, session *authn.AuthenticationSession, config json.RawMessage, _ pipeline.Rule) error { +func (a *AuthorizerKetoEngineACPORY) Authorize(r *http.Request, session *authn.AuthenticationSession, config json.RawMessage, _ pipeline.Rule) (err error) { + ctx, span := a.tracer.Start(r.Context(), "authz.keto_engine_acp_ory") + defer otelx.End(span, &err) + r = r.WithContext(ctx) + cf, err := a.Config(config) if err != nil { return err diff --git a/pipeline/authz/keto_engine_acp_ory_test.go b/pipeline/authz/keto_engine_acp_ory_test.go index 115028fd37..19c225970b 100644 --- a/pipeline/authz/keto_engine_acp_ory_test.go +++ b/pipeline/authz/keto_engine_acp_ory_test.go @@ -47,6 +47,7 @@ func TestAuthorizerKetoWarden(t *testing.T) { expectErr bool }{ { + r: &http.Request{}, expectErr: true, }, { diff --git a/pipeline/authz/remote.go b/pipeline/authz/remote.go index e36c5e4674..011ac926ba 100644 --- a/pipeline/authz/remote.go +++ b/pipeline/authz/remote.go @@ -15,6 +15,7 @@ import ( "github.com/pkg/errors" "github.com/ory/x/httpx" + "github.com/ory/x/otelx" "go.opentelemetry.io/otel/trace" @@ -44,14 +45,16 @@ type AuthorizerRemote struct { client *http.Client t *template.Template + tracer trace.Tracer } // NewAuthorizerRemote creates a new AuthorizerRemote. func NewAuthorizerRemote(c configuration.Provider, d interface{ Tracer() trace.Tracer }) *AuthorizerRemote { return &AuthorizerRemote{ c: c, - client: httpx.NewResilientClient().StandardClient(), + client: httpx.NewResilientClient(httpx.ResilientClientWithTracer(d.Tracer())).StandardClient(), t: x.NewTemplate("remote"), + tracer: d.Tracer(), } } @@ -61,7 +64,11 @@ func (a *AuthorizerRemote) GetID() string { } // Authorize implements the Authorizer interface. -func (a *AuthorizerRemote) Authorize(r *http.Request, session *authn.AuthenticationSession, config json.RawMessage, rl pipeline.Rule) error { +func (a *AuthorizerRemote) Authorize(r *http.Request, session *authn.AuthenticationSession, config json.RawMessage, rl pipeline.Rule) (err error) { + ctx, span := a.tracer.Start(r.Context(), "authz.remote") + defer otelx.End(span, &err) + r = r.WithContext(ctx) + c, err := a.Config(config) if err != nil { return err @@ -174,6 +181,7 @@ func (a *AuthorizerRemote) Config(config json.RawMessage) (*AuthorizerRemoteConf a.client = httpx.NewResilientClient( httpx.ResilientClientWithMaxRetryWait(maxWait), httpx.ResilientClientWithConnectionTimeout(timeout), + httpx.ResilientClientWithTracer(a.tracer), ).StandardClient() return &c, nil diff --git a/pipeline/authz/remote_json.go b/pipeline/authz/remote_json.go index a0d329a598..c2f60abe29 100644 --- a/pipeline/authz/remote_json.go +++ b/pipeline/authz/remote_json.go @@ -15,6 +15,7 @@ import ( "github.com/pkg/errors" "github.com/ory/x/httpx" + "github.com/ory/x/otelx" "go.opentelemetry.io/otel/trace" @@ -49,6 +50,7 @@ type AuthorizerRemoteJSON struct { client *http.Client t *template.Template + tracer trace.Tracer } // NewAuthorizerRemoteJSON creates a new AuthorizerRemoteJSON. @@ -57,6 +59,7 @@ func NewAuthorizerRemoteJSON(c configuration.Provider, d interface{ Tracer() tra c: c, client: httpx.NewResilientClient(httpx.ResilientClientWithTracer(d.Tracer())).StandardClient(), t: x.NewTemplate("remote_json"), + tracer: d.Tracer(), } } @@ -66,7 +69,11 @@ func (a *AuthorizerRemoteJSON) GetID() string { } // Authorize implements the Authorizer interface. -func (a *AuthorizerRemoteJSON) Authorize(r *http.Request, session *authn.AuthenticationSession, config json.RawMessage, _ pipeline.Rule) error { +func (a *AuthorizerRemoteJSON) Authorize(r *http.Request, session *authn.AuthenticationSession, config json.RawMessage, _ pipeline.Rule) (err error) { + ctx, span := a.tracer.Start(r.Context(), "authz.remote_json") + defer otelx.End(span, &err) + r = r.WithContext(ctx) + c, err := a.Config(config) if err != nil { return err @@ -157,6 +164,7 @@ func (a *AuthorizerRemoteJSON) Config(config json.RawMessage) (*AuthorizerRemote a.client = httpx.NewResilientClient( httpx.ResilientClientWithMaxRetryWait(maxWait), httpx.ResilientClientWithConnectionTimeout(timeout), + httpx.ResilientClientWithTracer(a.tracer), ).StandardClient() return &c, nil From 0f42d7c45b1aed24576e5d94c01fbea335919b27 Mon Sep 17 00:00:00 2001 From: aeneasr <3372410+aeneasr@users.noreply.github.com> Date: Wed, 15 Mar 2023 15:35:44 +0100 Subject: [PATCH 04/63] autogen: pin v0.40.2 release commit From d15dfa285c8b3d0c36ff4efd406bf6572be6d80d Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Wed, 15 Mar 2023 16:30:20 +0000 Subject: [PATCH 05/63] autogen(docs): generate and bump docs [skip ci] From f3ec24a35ca2faeded81e06ba2c27027ed69529b Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Wed, 15 Mar 2023 16:31:44 +0000 Subject: [PATCH 06/63] autogen: add v0.40.2 to version.schema.json [skip ci] --- .schema/version.schema.json | 363 ++++++++++++++++++++---------------- 1 file changed, 202 insertions(+), 161 deletions(-) diff --git a/.schema/version.schema.json b/.schema/version.schema.json index ce805896ef..69a100e01a 100644 --- a/.schema/version.schema.json +++ b/.schema/version.schema.json @@ -1,186 +1,227 @@ { - "$id": "https://github.com/ory/oathkeeper/.schema/version.schema.json", - "$schema": "http://json-schema.org/draft-07/schema#", - "oneOf": [ - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.1" - } - }, - "required": ["version"] + "$id": "https://github.com/ory/oathkeeper/.schema/version.schema.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "oneOf": [ + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.2" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.2/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.1/spec/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.0" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.1/spec/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.0/spec/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.4-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.0" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.0/spec/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.4-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.5-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.4-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.4-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.5-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.9-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.5-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.5-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.9-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.14-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.9-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.9-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.14-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.15-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.14-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.14-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.15-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.17-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.15-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.15-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.17-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.19-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.17-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.17-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.19-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.20-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.19-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.19-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.20-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "oneOf": [ - { - "properties": { - "version": { - "type": "string", - "maxLength": 0 - } - }, - "required": ["version"] - }, - { - "not": { - "properties": { - "version": {} + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.20-beta.1" + } + }, + "required": [ + "version" + ] }, - "required": ["version"] - } - } - ] + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.20-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "#/oneOf/0/allOf/1" + "allOf": [ + { + "oneOf": [ + { + "properties": { + "version": { + "type": "string", + "maxLength": 0 + } + }, + "required": [ + "version" + ] + }, + { + "not": { + "properties": { + "version": {} + }, + "required": [ + "version" + ] + } + } + ] + }, + { + "$ref": "#/oneOf/0/allOf/1" + } + ] } - ] - } - ], - "title": "All Versions of the ORY Oathkeeper Configuration", - "type": "object" -} + ], + "title": "All Versions of the ORY Oathkeeper Configuration", + "type": "object" +} \ No newline at end of file From c60e4ac0c81b97ad738726af5d2f7b8d5731b1db Mon Sep 17 00:00:00 2001 From: Arne Luenser Date: Mon, 3 Apr 2023 13:25:07 +0200 Subject: [PATCH 07/63] feat: tracing for gRPC middleware (#1086) --- .schema/version.schema.json | 378 ++++++++++++++--------------- Dockerfile | 2 +- Dockerfile-alpine | 2 +- driver/registry_memory.go | 2 +- middleware/grpc_middleware.go | 142 ++++++----- middleware/grpc_middleware_test.go | 15 +- 6 files changed, 271 insertions(+), 270 deletions(-) diff --git a/.schema/version.schema.json b/.schema/version.schema.json index 69a100e01a..e7f4707cca 100644 --- a/.schema/version.schema.json +++ b/.schema/version.schema.json @@ -1,227 +1,201 @@ { - "$id": "https://github.com/ory/oathkeeper/.schema/version.schema.json", - "$schema": "http://json-schema.org/draft-07/schema#", - "oneOf": [ - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.2" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.2/.schema/config.schema.json" - } - ] + "$id": "https://github.com/ory/oathkeeper/.schema/version.schema.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "oneOf": [ + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.2" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.1/spec/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.2/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.0" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.0/spec/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.1/spec/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.0" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.4-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.4-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.0/spec/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.4-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.5-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.5-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.4-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.5-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.9-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.9-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.5-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.9-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.14-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.14-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.9-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.14-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.15-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.15-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.14-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.15-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.17-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.17-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.15-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.17-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.19-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.19-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.17-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.19-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.20-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.20-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.19-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.20-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "oneOf": [ - { - "properties": { - "version": { - "type": "string", - "maxLength": 0 - } - }, - "required": [ - "version" - ] - }, - { - "not": { - "properties": { - "version": {} - }, - "required": [ - "version" - ] - } - } - ] - }, - { - "$ref": "#/oneOf/0/allOf/1" + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.20-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "oneOf": [ + { + "properties": { + "version": { + "type": "string", + "maxLength": 0 } - ] + }, + "required": ["version"] + }, + { + "not": { + "properties": { + "version": {} + }, + "required": ["version"] + } + } + ] + }, + { + "$ref": "#/oneOf/0/allOf/1" } - ], - "title": "All Versions of the ORY Oathkeeper Configuration", - "type": "object" -} \ No newline at end of file + ] + } + ], + "title": "All Versions of the ORY Oathkeeper Configuration", + "type": "object" +} diff --git a/Dockerfile b/Dockerfile index 7651782f60..6e3d7cc12e 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,7 +1,7 @@ # To compile this image manually run: # # $ make docker -FROM alpine:3.17.2 +FROM alpine:3.17.3 RUN apk --no-cache --update-cache --upgrade --latest add ca-certificates diff --git a/Dockerfile-alpine b/Dockerfile-alpine index ce6cb4c392..d50f844cb0 100644 --- a/Dockerfile-alpine +++ b/Dockerfile-alpine @@ -1,7 +1,7 @@ # To compile this image manually run: # # $ make docker -FROM alpine:3.17.2 +FROM alpine:3.17.3 RUN addgroup -S ory; \ adduser -S ory -G ory -D -H -s /bin/nologin diff --git a/driver/registry_memory.go b/driver/registry_memory.go index 288b122f31..b073833ec7 100644 --- a/driver/registry_memory.go +++ b/driver/registry_memory.go @@ -66,11 +66,11 @@ type RegistryMemory struct { } func (r *RegistryMemory) Init() { + _ = r.Tracer() // make sure tracer is initialized if err := r.RuleFetcher().Watch(context.Background()); err != nil { r.Logger().WithError(err).Fatal("Access rule watcher could not be initialized.") } _ = r.RuleRepository() - _ = r.Tracer() // make sure tracer is initialized } func (r *RegistryMemory) RuleFetcher() rule.Fetcher { diff --git a/middleware/grpc_middleware.go b/middleware/grpc_middleware.go index 99380a5cdf..45fec6380d 100644 --- a/middleware/grpc_middleware.go +++ b/middleware/grpc_middleware.go @@ -10,6 +10,9 @@ import ( "net/url" "strings" + "go.opentelemetry.io/otel/attribute" + "go.opentelemetry.io/otel/codes" + "go.opentelemetry.io/otel/trace" "google.golang.org/grpc" "google.golang.org/grpc/metadata" @@ -49,85 +52,110 @@ func (m *middleware) httpRequest(ctx context.Context, fullMethod string) (*http. Scheme: "grpc", } - return &http.Request{ + return (&http.Request{ Method: "POST", Proto: "HTTP/2", ProtoMajor: 2, URL: u, Host: u.Host, Header: header, - }, nil + }).WithContext(ctx), nil } +var ( + _ grpc.UnaryServerInterceptor = new(middleware).unaryInterceptor + _ grpc.StreamServerInterceptor = new(middleware).streamInterceptor +) + // UnaryInterceptor returns the gRPC unary interceptor of the middleware. func (m *middleware) UnaryInterceptor() grpc.UnaryServerInterceptor { - return func( - ctx context.Context, - req interface{}, - info *grpc.UnaryServerInfo, - handler grpc.UnaryHandler) (resp interface{}, err error) { - - log := m.Logger().WithField("middleware", "oathkeeper") - - httpReq, err := m.httpRequest(ctx, info.FullMethod) - if err != nil { - log.WithError(err).Warn("could not build HTTP request") - return nil, ErrDenied - } - log = log.WithRequest(httpReq) + return m.unaryInterceptor +} - log.Debug("matching HTTP request build from gRPC") +func (m *middleware) unaryInterceptor(ctx context.Context, req interface{}, info *grpc.UnaryServerInfo, handler grpc.UnaryHandler) (resp interface{}, err error) { + traceCtx, span := trace.SpanFromContext(ctx).TracerProvider().Tracer("oathkeeper/middleware").Start(ctx, "Oathkeeper.UnaryInterceptor") + defer span.End() - r, err := m.RuleMatcher().Match(ctx, httpReq.Method, httpReq.URL, rule.ProtocolGRPC) - if err != nil { - log.WithError(err).Warn("could not find a matching rule") - return nil, ErrDenied - } + log := m.Logger().WithField("middleware", "oathkeeper") - _, err = m.ProxyRequestHandler().HandleRequest(httpReq, r) - if err != nil { - log.WithError(err).Warn("failed to handle request") - return nil, ErrDenied - } + httpReq, err := m.httpRequest(traceCtx, info.FullMethod) + if err != nil { + log.WithError(err).Warn("could not build HTTP request") + span.SetAttributes(attribute.String("oathkeeper.verdict", "denied")) + span.SetStatus(codes.Error, err.Error()) + return nil, ErrDenied + } + log = log.WithRequest(httpReq) + + log.Debug("matching HTTP request build from gRPC") + + r, err := m.RuleMatcher().Match(traceCtx, httpReq.Method, httpReq.URL, rule.ProtocolGRPC) + if err != nil { + log.WithError(err).Warn("could not find a matching rule") + span.SetAttributes(attribute.String("oathkeeper.verdict", "denied")) + span.SetStatus(codes.Error, err.Error()) + return nil, ErrDenied + } - log.Info("access request granted") - return handler(ctx, req) + _, err = m.ProxyRequestHandler().HandleRequest(httpReq, r) + if err != nil { + log.WithError(err).Warn("failed to handle request") + span.SetAttributes(attribute.String("oathkeeper.verdict", "denied")) + span.SetStatus(codes.Error, err.Error()) + return nil, ErrDenied } + + log.Info("access request granted") + span.SetAttributes(attribute.String("oathkeeper.verdict", "allowed")) + span.End() + return handler(ctx, req) } // StreamInterceptor returns the gRPC stream interceptor of the middleware. func (m *middleware) StreamInterceptor() grpc.StreamServerInterceptor { - return func( - srv interface{}, - stream grpc.ServerStream, - info *grpc.StreamServerInfo, - handler grpc.StreamHandler) error { - - log := m.Logger().WithField("middleware", "oathkeeper") - ctx := stream.Context() - - httpReq, err := m.httpRequest(ctx, info.FullMethod) - if err != nil { - log.WithError(err).Warn("could not build HTTP request") - return ErrDenied - } - log = log.WithRequest(httpReq) + return m.streamInterceptor +} - log.Debug("matching HTTP request build from gRPC") +func (m *middleware) streamInterceptor( + srv interface{}, + stream grpc.ServerStream, + info *grpc.StreamServerInfo, + handler grpc.StreamHandler) (err error) { + ctx := stream.Context() + ctx, span := trace.SpanFromContext(ctx).TracerProvider().Tracer("oathkeeper/middleware").Start(ctx, "Oathkeeper.UnaryInterceptor") + defer span.End() + + log := m.Logger().WithField("middleware", "oathkeeper") + + httpReq, err := m.httpRequest(ctx, info.FullMethod) + if err != nil { + log.WithError(err).Warn("could not build HTTP request") + span.SetAttributes(attribute.String("oathkeeper.verdict", "denied")) + span.SetStatus(codes.Error, err.Error()) + return ErrDenied + } + log = log.WithRequest(httpReq) - r, err := m.RuleMatcher().Match(ctx, httpReq.Method, httpReq.URL, rule.ProtocolGRPC) - if err != nil { - log.WithError(err).Warn("could not find a matching rule") - return ErrDenied - } + log.Debug("matching HTTP request build from gRPC") - _, err = m.ProxyRequestHandler().HandleRequest(httpReq, r) - if err != nil { - log.WithError(err).Warn("failed to handle request") - return ErrDenied - } + r, err := m.RuleMatcher().Match(ctx, httpReq.Method, httpReq.URL, rule.ProtocolGRPC) + if err != nil { + log.WithError(err).Warn("could not find a matching rule") + span.SetAttributes(attribute.String("oathkeeper.verdict", "denied")) + span.SetStatus(codes.Error, err.Error()) + return ErrDenied + } - log.Info("access request granted") - return handler(srv, stream) + _, err = m.ProxyRequestHandler().HandleRequest(httpReq, r) + if err != nil { + log.WithError(err).Warn("failed to handle request") + span.SetAttributes(attribute.String("oathkeeper.verdict", "denied")) + span.SetStatus(codes.Error, err.Error()) + return ErrDenied } + + log.Info("access request granted") + span.SetAttributes(attribute.String("oathkeeper.verdict", "allowed")) + span.End() + return handler(srv, stream) } diff --git a/middleware/grpc_middleware_test.go b/middleware/grpc_middleware_test.go index 7cc0be3d62..f6ebfaff8d 100644 --- a/middleware/grpc_middleware_test.go +++ b/middleware/grpc_middleware_test.go @@ -26,7 +26,6 @@ import ( "google.golang.org/grpc/status" "google.golang.org/grpc/test/bufconn" "google.golang.org/grpc/test/grpc_testing" - grpcTesting "google.golang.org/grpc/test/grpc_testing" "github.com/ory/oathkeeper/driver" "github.com/ory/oathkeeper/driver/configuration" @@ -34,7 +33,7 @@ import ( "github.com/ory/oathkeeper/rule" ) -func testClient(t *testing.T, l *bufconn.Listener, dialOpts ...grpc.DialOption) grpcTesting.TestServiceClient { +func testClient(t *testing.T, l *bufconn.Listener, dialOpts ...grpc.DialOption) grpc_testing.TestServiceClient { conn, err := grpc.Dial("bufnet", append(dialOpts, grpc.WithTransportCredentials(insecure.NewCredentials()), @@ -45,7 +44,7 @@ func testClient(t *testing.T, l *bufconn.Listener, dialOpts ...grpc.DialOption) require.NoError(t, err) t.Cleanup(func() { conn.Close() }) - return grpcTesting.NewTestServiceClient(conn) + return grpc_testing.NewTestServiceClient(conn) } func testTokenCheckServer(t *testing.T) *httptest.Server { @@ -126,7 +125,7 @@ mutators: grpc.UnaryInterceptor(mw.UnaryInterceptor()), grpc.StreamInterceptor(mw.StreamInterceptor()), ) - grpcTesting.RegisterTestServiceServer(s, upstream) + grpc_testing.RegisterTestServiceServer(s, upstream) go func() { if err := s.Serve(l); err != nil { t.Logf("Server exited with error: %v", err) @@ -137,7 +136,7 @@ mutators: upstream.EXPECT(). EmptyCall(gomock.Any(), gomock.Any()). AnyTimes(). - Return(&grpcTesting.Empty{}, nil) + Return(&grpc_testing.Empty{}, nil) cases := []struct { name string @@ -337,13 +336,13 @@ mutators: require.NoError(t, reg.RuleRepository().SetMatchingStrategy(ctx, s)) require.NoError(t, reg.RuleRepository().Set(ctx, tc.rules[s])) - _, err := client.EmptyCall(ctx, &grpcTesting.Empty{}) + _, err := client.EmptyCall(ctx, &grpc_testing.Empty{}) tc.assert(t, err) - _, err = client.UnaryCall(ctx, &grpcTesting.SimpleRequest{}) + _, err = client.UnaryCall(ctx, &grpc_testing.SimpleRequest{}) assertErrDenied(t, err) - stream, _ := client.StreamingOutputCall(ctx, &grpcTesting.StreamingOutputCallRequest{}) + stream, _ := client.StreamingOutputCall(ctx, &grpc_testing.StreamingOutputCallRequest{}) _, err = stream.Recv() assertErrDenied(t, err) }) From 37e2df81169ce5ef9047c7c73b9ad158324605fc Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 6 Apr 2023 15:47:29 +0200 Subject: [PATCH 08/63] chore(deps): bump github.com/opencontainers/runc from 1.1.4 to 1.1.5 (#1084) * feat: tracing for gRPC middleware (#1086) * chore(deps): bump github.com/opencontainers/runc from 1.1.4 to 1.1.5 Bumps [github.com/opencontainers/runc](https://github.com/opencontainers/runc) from 1.1.4 to 1.1.5. - [Release notes](https://github.com/opencontainers/runc/releases) - [Changelog](https://github.com/opencontainers/runc/blob/v1.1.5/CHANGELOG.md) - [Commits](https://github.com/opencontainers/runc/compare/v1.1.4...v1.1.5) --- updated-dependencies: - dependency-name: github.com/opencontainers/runc dependency-type: indirect ... Signed-off-by: dependabot[bot] --------- Signed-off-by: dependabot[bot] Co-authored-by: Arne Luenser Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 1794b32d00..1576b4a442 100644 --- a/go.mod +++ b/go.mod @@ -187,7 +187,7 @@ require ( github.com/oklog/ulid v1.3.1 // indirect github.com/opencontainers/go-digest v1.0.0 // indirect github.com/opencontainers/image-spec v1.1.0-rc2 // indirect - github.com/opencontainers/runc v1.1.4 // indirect + github.com/opencontainers/runc v1.1.5 // indirect github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/openzipkin/zipkin-go v0.4.1 // indirect github.com/ory/dockertest/v3 v3.9.1 // indirect diff --git a/go.sum b/go.sum index 22f81a238c..eccf6e386b 100644 --- a/go.sum +++ b/go.sum @@ -848,8 +848,8 @@ github.com/opencontainers/go-digest v1.0.0 h1:apOUWs51W5PlhuyGyz9FCeeBIOUDA/6nW8 github.com/opencontainers/go-digest v1.0.0/go.mod h1:0JzlMkj0TRzQZfJkVvzbP0HBR3IKzErnv2BNG4W4MAM= github.com/opencontainers/image-spec v1.1.0-rc2 h1:2zx/Stx4Wc5pIPDvIxHXvXtQFW/7XWJGmnM7r3wg034= github.com/opencontainers/image-spec v1.1.0-rc2/go.mod h1:3OVijpioIKYWTqjiG0zfF6wvoJ4fAXGbjdZuI2NgsRQ= -github.com/opencontainers/runc v1.1.4 h1:nRCz/8sKg6K6jgYAFLDlXzPeITBZJyX28DBVhWD+5dg= -github.com/opencontainers/runc v1.1.4/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= +github.com/opencontainers/runc v1.1.5 h1:L44KXEpKmfWDcS02aeGm8QNTFXTo2D+8MYGDIJ/GDEs= +github.com/opencontainers/runc v1.1.5/go.mod h1:1J5XiS+vdZ3wCyZybsuxXZWGrgSr8fFJHLXuG2PsnNg= github.com/opencontainers/runtime-spec v1.0.3-0.20210326190908-1c3f411f0417/go.mod h1:jwyrGlmzljRJv/Fgzds9SsS/C5hL+LL3ko9hs6T5lQ0= github.com/opencontainers/selinux v1.10.0/go.mod h1:2i0OySw99QjzBBQByd1Gr9gSjvuho1lHsJxIJ3gGbJI= github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+1B0VhjKrZUs= From 4768d05d4f698bcdc3e100c4d40f241a594ba0fd Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Thu, 6 Apr 2023 13:57:18 +0000 Subject: [PATCH 09/63] autogen(docs): regenerate and update changelog [skip ci] --- CHANGELOG.md | 127 ++++++++++++++++++++++++++++++--------------------- 1 file changed, 74 insertions(+), 53 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ba00f47f19..ad68716035 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,144 +5,147 @@ **Table of Contents** -- [0.0.0 (2023-03-15)](#000-2023-03-15) +- [0.0.0 (2023-04-06)](#000-2023-04-06) + - [Features](#features) +- [0.40.2 (2023-03-15)](#0402-2023-03-15) - [Bug Fixes](#bug-fixes) + - [Code Generation](#code-generation) - [Documentation](#documentation) - - [Features](#features) + - [Features](#features-1) - [0.40.1 (2023-01-17)](#0401-2023-01-17) - [Bug Fixes](#bug-fixes-1) - - [Code Generation](#code-generation) + - [Code Generation](#code-generation-1) - [Documentation](#documentation-1) - - [Features](#features-1) + - [Features](#features-2) - [Tests](#tests) - [0.40.0 (2022-09-14)](#0400-2022-09-14) - [Bug Fixes](#bug-fixes-2) - - [Code Generation](#code-generation-1) + - [Code Generation](#code-generation-2) - [Code Refactoring](#code-refactoring) - - [Features](#features-2) + - [Features](#features-3) - [Tests](#tests-1) - [0.39.4 (2022-08-31)](#0394-2022-08-31) - - [Code Generation](#code-generation-2) + - [Code Generation](#code-generation-3) - [Unclassified](#unclassified) - [0.39.3 (2022-08-18)](#0393-2022-08-18) - - [Code Generation](#code-generation-3) -- [0.39.3-pre.0 (2022-08-18)](#0393-pre0-2022-08-18) - [Code Generation](#code-generation-4) +- [0.39.3-pre.0 (2022-08-18)](#0393-pre0-2022-08-18) + - [Code Generation](#code-generation-5) - [0.39.2 (2022-08-18)](#0392-2022-08-18) - [Bug Fixes](#bug-fixes-3) - - [Code Generation](#code-generation-5) + - [Code Generation](#code-generation-6) - [Documentation](#documentation-2) - - [Features](#features-3) + - [Features](#features-4) - [0.39.0 (2022-06-27)](#0390-2022-06-27) - [Breaking Changes](#breaking-changes) - [Bug Fixes](#bug-fixes-4) - - [Code Generation](#code-generation-6) - - [Features](#features-4) + - [Code Generation](#code-generation-7) + - [Features](#features-5) - [0.38.25-beta.1 (2022-04-13)](#03825-beta1-2022-04-13) - [Bug Fixes](#bug-fixes-5) - - [Code Generation](#code-generation-7) + - [Code Generation](#code-generation-8) - [Documentation](#documentation-3) - [0.38.24-beta.1 (2022-04-06)](#03824-beta1-2022-04-06) - - [Code Generation](#code-generation-8) - - [Features](#features-5) -- [0.38.23-beta.1 (2022-02-24)](#03823-beta1-2022-02-24) - [Code Generation](#code-generation-9) - [Features](#features-6) +- [0.38.23-beta.1 (2022-02-24)](#03823-beta1-2022-02-24) + - [Code Generation](#code-generation-10) + - [Features](#features-7) - [0.38.22-beta.1 (2022-02-23)](#03822-beta1-2022-02-23) - [Bug Fixes](#bug-fixes-6) - - [Code Generation](#code-generation-10) + - [Code Generation](#code-generation-11) - [0.38.20-beta.1 (2022-02-14)](#03820-beta1-2022-02-14) - [Bug Fixes](#bug-fixes-7) - - [Code Generation](#code-generation-11) + - [Code Generation](#code-generation-12) - [Code Refactoring](#code-refactoring-1) - [Documentation](#documentation-4) - - [Features](#features-7) + - [Features](#features-8) - [0.38.19-beta.1 (2022-02-04)](#03819-beta1-2022-02-04) - [Bug Fixes](#bug-fixes-8) - - [Code Generation](#code-generation-12) + - [Code Generation](#code-generation-13) - [Documentation](#documentation-5) - - [Features](#features-8) + - [Features](#features-9) - [0.38.17-beta.1 (2022-02-03)](#03817-beta1-2022-02-03) - [Continuous Integration](#continuous-integration) - [0.38.18-beta.1 (2022-02-03)](#03818-beta1-2022-02-03) - [Bug Fixes](#bug-fixes-9) - - [Code Generation](#code-generation-13) + - [Code Generation](#code-generation-14) - [Documentation](#documentation-6) - - [Features](#features-9) + - [Features](#features-10) - [Tests](#tests-2) - [Unclassified](#unclassified-1) - [0.38.15-beta.1 (2021-08-28)](#03815-beta1-2021-08-28) - [Bug Fixes](#bug-fixes-10) - - [Code Generation](#code-generation-14) + - [Code Generation](#code-generation-15) - [Documentation](#documentation-7) - - [Features](#features-10) + - [Features](#features-11) - [0.38.14-beta.1 (2021-07-14)](#03814-beta1-2021-07-14) - [Bug Fixes](#bug-fixes-11) - - [Code Generation](#code-generation-15) + - [Code Generation](#code-generation-16) - [Documentation](#documentation-8) - - [Features](#features-11) + - [Features](#features-12) - [Reverts](#reverts) - [0.38.12-beta.1 (2021-06-22)](#03812-beta1-2021-06-22) - [Bug Fixes](#bug-fixes-12) - - [Code Generation](#code-generation-16) - - [Features](#features-12) + - [Code Generation](#code-generation-17) + - [Features](#features-13) - [Tests](#tests-3) - [Unclassified](#unclassified-2) - [0.38.11-beta.1 (2021-05-13)](#03811-beta1-2021-05-13) - [Bug Fixes](#bug-fixes-13) - - [Code Generation](#code-generation-17) + - [Code Generation](#code-generation-18) - [Reverts](#reverts-1) - [0.38.10-beta.2 (2021-05-05)](#03810-beta2-2021-05-05) - [Bug Fixes](#bug-fixes-14) - - [Code Generation](#code-generation-18) + - [Code Generation](#code-generation-19) - [Code Refactoring](#code-refactoring-2) - [Documentation](#documentation-9) - - [Features](#features-13) + - [Features](#features-14) - [0.38.9-beta.1 (2021-03-17)](#0389-beta1-2021-03-17) - - [Code Generation](#code-generation-19) + - [Code Generation](#code-generation-20) - [0.38.9-beta.1.pre.3 (2021-03-16)](#0389-beta1pre3-2021-03-16) - [Bug Fixes](#bug-fixes-15) - - [Code Generation](#code-generation-20) -- [0.38.9-beta.1.pre.2 (2021-03-15)](#0389-beta1pre2-2021-03-15) - [Code Generation](#code-generation-21) +- [0.38.9-beta.1.pre.2 (2021-03-15)](#0389-beta1pre2-2021-03-15) + - [Code Generation](#code-generation-22) - [0.38.9-beta.1.pre.1 (2021-03-15)](#0389-beta1pre1-2021-03-15) - [Bug Fixes](#bug-fixes-16) - - [Code Generation](#code-generation-22) + - [Code Generation](#code-generation-23) - [Unclassified](#unclassified-3) - [0.38.8-beta.1 (2021-02-25)](#0388-beta1-2021-02-25) - [Bug Fixes](#bug-fixes-17) - - [Code Generation](#code-generation-23) + - [Code Generation](#code-generation-24) - [Unclassified](#unclassified-4) - [0.38.7-beta.1 (2021-02-22)](#0387-beta1-2021-02-22) - [Bug Fixes](#bug-fixes-18) - - [Code Generation](#code-generation-24) - - [Features](#features-14) -- [0.38.6-beta.1 (2021-01-27)](#0386-beta1-2021-01-27) - [Code Generation](#code-generation-25) - - [Documentation](#documentation-10) - [Features](#features-15) +- [0.38.6-beta.1 (2021-01-27)](#0386-beta1-2021-01-27) + - [Code Generation](#code-generation-26) + - [Documentation](#documentation-10) + - [Features](#features-16) - [0.38.5-beta.1 (2020-12-10)](#0385-beta1-2020-12-10) - [Bug Fixes](#bug-fixes-19) - - [Code Generation](#code-generation-26) + - [Code Generation](#code-generation-27) - [Documentation](#documentation-11) - - [Features](#features-16) + - [Features](#features-17) - [Unclassified](#unclassified-5) - [0.38.4-beta.1 (2020-09-28)](#0384-beta1-2020-09-28) - [Bug Fixes](#bug-fixes-20) - - [Code Generation](#code-generation-27) + - [Code Generation](#code-generation-28) - [Documentation](#documentation-12) - - [Features](#features-17) + - [Features](#features-18) - [Unclassified](#unclassified-6) - [0.38.3-beta.1 (2020-07-29)](#0383-beta1-2020-07-29) - [Bug Fixes](#bug-fixes-21) - - [Code Generation](#code-generation-28) + - [Code Generation](#code-generation-29) - [Documentation](#documentation-13) - - [Features](#features-18) + - [Features](#features-19) - [0.38.2-beta.1 (2020-05-25)](#0382-beta1-2020-05-25) - [Bug Fixes](#bug-fixes-22) - [Chores](#chores) - [Documentation](#documentation-14) - - [Features](#features-19) + - [Features](#features-20) - [0.38.1-beta.1 (2020-05-08)](#0381-beta1-2020-05-08) - [Bug Fixes](#bug-fixes-23) - [Chores](#chores-1) @@ -151,7 +154,7 @@ - [Chores](#chores-2) - [Code Refactoring](#code-refactoring-3) - [Documentation](#documentation-15) - - [Features](#features-20) + - [Features](#features-21) - [0.37.1-beta.1 (2020-04-03)](#0371-beta1-2020-04-03) - [Chores](#chores-3) - [Documentation](#documentation-16) @@ -159,13 +162,13 @@ - [Breaking Changes](#breaking-changes-1) - [Bug Fixes](#bug-fixes-25) - [Documentation](#documentation-17) - - [Features](#features-21) + - [Features](#features-22) - [0.36.0-beta.4 (2020-02-14)](#0360-beta4-2020-02-14) - [Bug Fixes](#bug-fixes-26) - [Documentation](#documentation-18) - [0.36.0-beta.1 (2020-02-05)](#0360-beta1-2020-02-05) - [Documentation](#documentation-19) - - [Features](#features-22) + - [Features](#features-23) - [Unclassified](#unclassified-7) - [0.35.5-beta.2 (2020-01-31)](#0355-beta2-2020-01-31) - [Unclassified](#unclassified-8) @@ -312,7 +315,17 @@ -# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.1...v0.0.0) (2023-03-15) +# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.2...v0.0.0) (2023-04-06) + +### Features + +- Tracing for gRPC middleware + ([#1086](https://github.com/ory/oathkeeper/issues/1086)) + ([c60e4ac](https://github.com/ory/oathkeeper/commit/c60e4ac0c81b97ad738726af5d2f7b8d5731b1db)) + +# [0.40.2](https://github.com/ory/oathkeeper/compare/v0.40.1...v0.40.2) (2023-03-15) + +Resolves tracing and health monitoring issues. ### Bug Fixes @@ -332,6 +345,11 @@ With this change, Oathkeeper now reports as "not ready" on the health check if not at least one valid rule is loaded. +### Code Generation + +- Pin v0.40.2 release commit + ([0f42d7c](https://github.com/ory/oathkeeper/commit/0f42d7c45b1aed24576e5d94c01fbea335919b27)) + ### Documentation - Update security email ([#1077](https://github.com/ory/oathkeeper/issues/1077)) @@ -348,6 +366,9 @@ - Forward config options in middleware ([#1062](https://github.com/ory/oathkeeper/issues/1062)) ([f3c4386](https://github.com/ory/oathkeeper/commit/f3c43861e8ed9ba3bdf46380c97feb7ff53f18b5)) +- Improved tracing for authorizers + ([#1079](https://github.com/ory/oathkeeper/issues/1079)) + ([b3aa0c3](https://github.com/ory/oathkeeper/commit/b3aa0c38b59299e3478d4c97db03d39ebe20cd7e)) - Tracing for authz remote ([#1056](https://github.com/ory/oathkeeper/issues/1056)) ([7e7d45e](https://github.com/ory/oathkeeper/commit/7e7d45e4ec7af91157ea9b6526f8607bb9b8ef06)) From 360a03e4bac11dc982d5ec9384d0748e4d445614 Mon Sep 17 00:00:00 2001 From: Arne Luenser Date: Fri, 14 Apr 2023 09:19:43 +0200 Subject: [PATCH 10/63] fix: report 499, 502, or 504 (#1090) --- cmd/server/server.go | 20 +++++++++++++++++--- 1 file changed, 17 insertions(+), 3 deletions(-) diff --git a/cmd/server/server.go b/cmd/server/server.go index e06d4b19e5..8760b8eb7b 100644 --- a/cmd/server/server.go +++ b/cmd/server/server.go @@ -38,6 +38,11 @@ import ( "github.com/ory/oathkeeper/x" ) +func isTimeoutError(err error) bool { + var te interface{ Timeout() bool } = nil + return errors.As(err, &te) && te.Timeout() || errors.Is(err, context.DeadlineExceeded) +} + func runProxy(d driver.Driver, n *negroni.Negroni, logger *logrusx.Logger, prom *metrics.PrometheusRepository) func() { return func() { proxy := d.Registry().Proxy() @@ -45,9 +50,18 @@ func runProxy(d driver.Driver, n *negroni.Negroni, logger *logrusx.Logger, prom proxyHandler := &httputil.ReverseProxy{ Director: proxy.Director, Transport: transport, - ErrorHandler: func(w http.ResponseWriter, _ *http.Request, err error) { - logger.WithError(err).Errorf("http: proxy error: %v", err) - w.WriteHeader(http.StatusBadGateway) + ErrorHandler: func(w http.ResponseWriter, r *http.Request, err error) { + switch { + case errors.Is(r.Context().Err(), context.Canceled): + logger.WithError(err).Warn("http: client canceled request") + w.WriteHeader(499) // http://nginx.org/en/docs/dev/development_guide.html + case isTimeoutError(err): + logger.WithError(err).Errorf("http: gateway timeout") + w.WriteHeader(http.StatusGatewayTimeout) + default: + logger.WithError(err).Errorf("http: gateway error") + w.WriteHeader(http.StatusBadGateway) + } }, } From 629247b429a84d6ff9e7726bb042509972e93131 Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Fri, 14 Apr 2023 07:21:14 +0000 Subject: [PATCH 11/63] autogen(openapi): regenerate swagger spec and internal client [skip ci] --- spec/api.json | 18 ++++++++++++++---- 1 file changed, 14 insertions(+), 4 deletions(-) diff --git a/spec/api.json b/spec/api.json index 7f759b4b75..a8035ad30a 100755 --- a/spec/api.json +++ b/spec/api.json @@ -370,15 +370,15 @@ }, "description": "Ory Oathkeeper is ready to accept connections." }, - "500": { + "default": { "content": { - "application/json": { + "text/plain": { "schema": { - "$ref": "#/components/schemas/genericError" + "type": "string" } } }, - "description": "genericError" + "description": "Unexpected error" } }, "summary": "Check HTTP Server Status", @@ -426,6 +426,16 @@ } }, "description": "Ory Kratos is not yet ready to accept requests." + }, + "default": { + "content": { + "text/plain": { + "schema": { + "type": "string" + } + } + }, + "description": "Unexpected error" } }, "summary": "Check HTTP Server and Database Status", From b8c62616d3e3dec2a48cd265139804971ada419e Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Fri, 14 Apr 2023 07:26:27 +0000 Subject: [PATCH 12/63] autogen(docs): regenerate and update changelog [skip ci] --- CHANGELOG.md | 65 +++++++++++++++++++++++++++++----------------------- 1 file changed, 36 insertions(+), 29 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index ad68716035..6e71d3598d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,21 +5,22 @@ **Table of Contents** -- [0.0.0 (2023-04-06)](#000-2023-04-06) +- [0.0.0 (2023-04-14)](#000-2023-04-14) + - [Bug Fixes](#bug-fixes) - [Features](#features) - [0.40.2 (2023-03-15)](#0402-2023-03-15) - - [Bug Fixes](#bug-fixes) + - [Bug Fixes](#bug-fixes-1) - [Code Generation](#code-generation) - [Documentation](#documentation) - [Features](#features-1) - [0.40.1 (2023-01-17)](#0401-2023-01-17) - - [Bug Fixes](#bug-fixes-1) + - [Bug Fixes](#bug-fixes-2) - [Code Generation](#code-generation-1) - [Documentation](#documentation-1) - [Features](#features-2) - [Tests](#tests) - [0.40.0 (2022-09-14)](#0400-2022-09-14) - - [Bug Fixes](#bug-fixes-2) + - [Bug Fixes](#bug-fixes-3) - [Code Generation](#code-generation-2) - [Code Refactoring](#code-refactoring) - [Features](#features-3) @@ -32,17 +33,17 @@ - [0.39.3-pre.0 (2022-08-18)](#0393-pre0-2022-08-18) - [Code Generation](#code-generation-5) - [0.39.2 (2022-08-18)](#0392-2022-08-18) - - [Bug Fixes](#bug-fixes-3) + - [Bug Fixes](#bug-fixes-4) - [Code Generation](#code-generation-6) - [Documentation](#documentation-2) - [Features](#features-4) - [0.39.0 (2022-06-27)](#0390-2022-06-27) - [Breaking Changes](#breaking-changes) - - [Bug Fixes](#bug-fixes-4) + - [Bug Fixes](#bug-fixes-5) - [Code Generation](#code-generation-7) - [Features](#features-5) - [0.38.25-beta.1 (2022-04-13)](#03825-beta1-2022-04-13) - - [Bug Fixes](#bug-fixes-5) + - [Bug Fixes](#bug-fixes-6) - [Code Generation](#code-generation-8) - [Documentation](#documentation-3) - [0.38.24-beta.1 (2022-04-06)](#03824-beta1-2022-04-06) @@ -52,51 +53,51 @@ - [Code Generation](#code-generation-10) - [Features](#features-7) - [0.38.22-beta.1 (2022-02-23)](#03822-beta1-2022-02-23) - - [Bug Fixes](#bug-fixes-6) + - [Bug Fixes](#bug-fixes-7) - [Code Generation](#code-generation-11) - [0.38.20-beta.1 (2022-02-14)](#03820-beta1-2022-02-14) - - [Bug Fixes](#bug-fixes-7) + - [Bug Fixes](#bug-fixes-8) - [Code Generation](#code-generation-12) - [Code Refactoring](#code-refactoring-1) - [Documentation](#documentation-4) - [Features](#features-8) - [0.38.19-beta.1 (2022-02-04)](#03819-beta1-2022-02-04) - - [Bug Fixes](#bug-fixes-8) + - [Bug Fixes](#bug-fixes-9) - [Code Generation](#code-generation-13) - [Documentation](#documentation-5) - [Features](#features-9) - [0.38.17-beta.1 (2022-02-03)](#03817-beta1-2022-02-03) - [Continuous Integration](#continuous-integration) - [0.38.18-beta.1 (2022-02-03)](#03818-beta1-2022-02-03) - - [Bug Fixes](#bug-fixes-9) + - [Bug Fixes](#bug-fixes-10) - [Code Generation](#code-generation-14) - [Documentation](#documentation-6) - [Features](#features-10) - [Tests](#tests-2) - [Unclassified](#unclassified-1) - [0.38.15-beta.1 (2021-08-28)](#03815-beta1-2021-08-28) - - [Bug Fixes](#bug-fixes-10) + - [Bug Fixes](#bug-fixes-11) - [Code Generation](#code-generation-15) - [Documentation](#documentation-7) - [Features](#features-11) - [0.38.14-beta.1 (2021-07-14)](#03814-beta1-2021-07-14) - - [Bug Fixes](#bug-fixes-11) + - [Bug Fixes](#bug-fixes-12) - [Code Generation](#code-generation-16) - [Documentation](#documentation-8) - [Features](#features-12) - [Reverts](#reverts) - [0.38.12-beta.1 (2021-06-22)](#03812-beta1-2021-06-22) - - [Bug Fixes](#bug-fixes-12) + - [Bug Fixes](#bug-fixes-13) - [Code Generation](#code-generation-17) - [Features](#features-13) - [Tests](#tests-3) - [Unclassified](#unclassified-2) - [0.38.11-beta.1 (2021-05-13)](#03811-beta1-2021-05-13) - - [Bug Fixes](#bug-fixes-13) + - [Bug Fixes](#bug-fixes-14) - [Code Generation](#code-generation-18) - [Reverts](#reverts-1) - [0.38.10-beta.2 (2021-05-05)](#03810-beta2-2021-05-05) - - [Bug Fixes](#bug-fixes-14) + - [Bug Fixes](#bug-fixes-15) - [Code Generation](#code-generation-19) - [Code Refactoring](#code-refactoring-2) - [Documentation](#documentation-9) @@ -104,20 +105,20 @@ - [0.38.9-beta.1 (2021-03-17)](#0389-beta1-2021-03-17) - [Code Generation](#code-generation-20) - [0.38.9-beta.1.pre.3 (2021-03-16)](#0389-beta1pre3-2021-03-16) - - [Bug Fixes](#bug-fixes-15) + - [Bug Fixes](#bug-fixes-16) - [Code Generation](#code-generation-21) - [0.38.9-beta.1.pre.2 (2021-03-15)](#0389-beta1pre2-2021-03-15) - [Code Generation](#code-generation-22) - [0.38.9-beta.1.pre.1 (2021-03-15)](#0389-beta1pre1-2021-03-15) - - [Bug Fixes](#bug-fixes-16) + - [Bug Fixes](#bug-fixes-17) - [Code Generation](#code-generation-23) - [Unclassified](#unclassified-3) - [0.38.8-beta.1 (2021-02-25)](#0388-beta1-2021-02-25) - - [Bug Fixes](#bug-fixes-17) + - [Bug Fixes](#bug-fixes-18) - [Code Generation](#code-generation-24) - [Unclassified](#unclassified-4) - [0.38.7-beta.1 (2021-02-22)](#0387-beta1-2021-02-22) - - [Bug Fixes](#bug-fixes-18) + - [Bug Fixes](#bug-fixes-19) - [Code Generation](#code-generation-25) - [Features](#features-15) - [0.38.6-beta.1 (2021-01-27)](#0386-beta1-2021-01-27) @@ -125,32 +126,32 @@ - [Documentation](#documentation-10) - [Features](#features-16) - [0.38.5-beta.1 (2020-12-10)](#0385-beta1-2020-12-10) - - [Bug Fixes](#bug-fixes-19) + - [Bug Fixes](#bug-fixes-20) - [Code Generation](#code-generation-27) - [Documentation](#documentation-11) - [Features](#features-17) - [Unclassified](#unclassified-5) - [0.38.4-beta.1 (2020-09-28)](#0384-beta1-2020-09-28) - - [Bug Fixes](#bug-fixes-20) + - [Bug Fixes](#bug-fixes-21) - [Code Generation](#code-generation-28) - [Documentation](#documentation-12) - [Features](#features-18) - [Unclassified](#unclassified-6) - [0.38.3-beta.1 (2020-07-29)](#0383-beta1-2020-07-29) - - [Bug Fixes](#bug-fixes-21) + - [Bug Fixes](#bug-fixes-22) - [Code Generation](#code-generation-29) - [Documentation](#documentation-13) - [Features](#features-19) - [0.38.2-beta.1 (2020-05-25)](#0382-beta1-2020-05-25) - - [Bug Fixes](#bug-fixes-22) + - [Bug Fixes](#bug-fixes-23) - [Chores](#chores) - [Documentation](#documentation-14) - [Features](#features-20) - [0.38.1-beta.1 (2020-05-08)](#0381-beta1-2020-05-08) - - [Bug Fixes](#bug-fixes-23) + - [Bug Fixes](#bug-fixes-24) - [Chores](#chores-1) - [0.38.0-beta.2 (2020-05-07)](#0380-beta2-2020-05-07) - - [Bug Fixes](#bug-fixes-24) + - [Bug Fixes](#bug-fixes-25) - [Chores](#chores-2) - [Code Refactoring](#code-refactoring-3) - [Documentation](#documentation-15) @@ -160,11 +161,11 @@ - [Documentation](#documentation-16) - [0.37.0-beta.1 (2020-04-02)](#0370-beta1-2020-04-02) - [Breaking Changes](#breaking-changes-1) - - [Bug Fixes](#bug-fixes-25) + - [Bug Fixes](#bug-fixes-26) - [Documentation](#documentation-17) - [Features](#features-22) - [0.36.0-beta.4 (2020-02-14)](#0360-beta4-2020-02-14) - - [Bug Fixes](#bug-fixes-26) + - [Bug Fixes](#bug-fixes-27) - [Documentation](#documentation-18) - [0.36.0-beta.1 (2020-02-05)](#0360-beta1-2020-02-05) - [Documentation](#documentation-19) @@ -315,7 +316,13 @@ -# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.2...v0.0.0) (2023-04-06) +# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.2...v0.0.0) (2023-04-14) + +### Bug Fixes + +- Report 499, 502, or 504 + ([#1090](https://github.com/ory/oathkeeper/issues/1090)) + ([360a03e](https://github.com/ory/oathkeeper/commit/360a03e4bac11dc982d5ec9384d0748e4d445614)) ### Features From a615f7b524853b16a891f7b93e6f660557f21e08 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 14 Apr 2023 07:48:20 +0000 Subject: [PATCH 13/63] chore(deps): bump github.com/docker/docker Bumps [github.com/docker/docker](https://github.com/docker/docker) from 20.10.21+incompatible to 20.10.24+incompatible. - [Release notes](https://github.com/docker/docker/releases) - [Commits](https://github.com/docker/docker/compare/v20.10.21...v20.10.24) --- updated-dependencies: - dependency-name: github.com/docker/docker dependency-type: indirect ... Signed-off-by: dependabot[bot] --- go.mod | 4 ++-- go.sum | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/go.mod b/go.mod index 1576b4a442..1a127c782e 100644 --- a/go.mod +++ b/go.mod @@ -63,6 +63,7 @@ require ( github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce github.com/urfave/negroni v1.0.0 go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp v0.36.4 + go.opentelemetry.io/otel v1.11.1 go.opentelemetry.io/otel/trace v1.11.1 gocloud.dev v0.20.0 golang.org/x/crypto v0.1.0 @@ -98,7 +99,7 @@ require ( github.com/davecgh/go-spew v1.1.1 // indirect github.com/docker/cli v20.10.21+incompatible // indirect github.com/docker/distribution v2.8.1+incompatible // indirect - github.com/docker/docker v20.10.21+incompatible // indirect + github.com/docker/docker v20.10.24+incompatible // indirect github.com/docker/go-connections v0.4.0 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/dustin/go-humanize v1.0.0 // indirect @@ -227,7 +228,6 @@ require ( go.opentelemetry.io/contrib/propagators/b3 v1.11.1 // indirect go.opentelemetry.io/contrib/propagators/jaeger v1.11.1 // indirect go.opentelemetry.io/contrib/samplers/jaegerremote v0.5.2 // indirect - go.opentelemetry.io/otel v1.11.1 // indirect go.opentelemetry.io/otel/exporters/jaeger v1.11.1 // indirect go.opentelemetry.io/otel/exporters/otlp/internal/retry v1.11.1 // indirect go.opentelemetry.io/otel/exporters/otlp/otlptrace v1.9.0 // indirect diff --git a/go.sum b/go.sum index eccf6e386b..7634cc3088 100644 --- a/go.sum +++ b/go.sum @@ -242,8 +242,8 @@ github.com/docker/cli v20.10.21+incompatible h1:qVkgyYUnOLQ98LtXBrwd/duVqPT2X4SH github.com/docker/cli v20.10.21+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= -github.com/docker/docker v20.10.21+incompatible h1:UTLdBmHk3bEY+w8qeO5KttOhy6OmXWsl/FEet9Uswog= -github.com/docker/docker v20.10.21+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= +github.com/docker/docker v20.10.24+incompatible h1:Ugvxm7a8+Gz6vqQYQQ2W7GYq5EUPaAiuPgIfVyI3dYE= +github.com/docker/docker v20.10.24+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= github.com/docker/go-connections v0.4.0/go.mod h1:Gbd7IOopHjR8Iph03tsViu4nIes5XhDvyHbTtUxmeec= github.com/docker/go-units v0.4.0/go.mod h1:fgPhTUdO+D/Jk86RDLlptpiXQzgHJF7gydDDbaIK4Dk= From 9374d2f8646e673eaf8fd228cda8a156fe0c3cd4 Mon Sep 17 00:00:00 2001 From: Misa Munde Date: Mon, 17 Apr 2023 11:19:22 +0300 Subject: [PATCH 14/63] fix: sqa config values unified across projects (#1094) --- cmd/server/server.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/cmd/server/server.go b/cmd/server/server.go index 8760b8eb7b..34a3ccf55f 100644 --- a/cmd/server/server.go +++ b/cmd/server/server.go @@ -243,8 +243,8 @@ func RunServe(version, build, date string) func(cmd *cobra.Command, args []strin Endpoint: "https://sqa.ory.sh", GzipCompressionLevel: 6, BatchMaxSize: 500 * 1000, - BatchSize: 250, - Interval: time.Hour * 24, + BatchSize: 1000, + Interval: time.Hour * 6, }, }) From 271a666c4bc9f4d75146d4077d47fefb62b5ff7d Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Mon, 17 Apr 2023 08:25:26 +0000 Subject: [PATCH 15/63] autogen(docs): regenerate and update changelog [skip ci] --- CHANGELOG.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6e71d3598d..1f1a634a8d 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ **Table of Contents** -- [0.0.0 (2023-04-14)](#000-2023-04-14) +- [0.0.0 (2023-04-17)](#000-2023-04-17) - [Bug Fixes](#bug-fixes) - [Features](#features) - [0.40.2 (2023-03-15)](#0402-2023-03-15) @@ -316,13 +316,16 @@ -# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.2...v0.0.0) (2023-04-14) +# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.2...v0.0.0) (2023-04-17) ### Bug Fixes - Report 499, 502, or 504 ([#1090](https://github.com/ory/oathkeeper/issues/1090)) ([360a03e](https://github.com/ory/oathkeeper/commit/360a03e4bac11dc982d5ec9384d0748e4d445614)) +- Sqa config values unified across projects + ([#1094](https://github.com/ory/oathkeeper/issues/1094)) + ([9374d2f](https://github.com/ory/oathkeeper/commit/9374d2f8646e673eaf8fd228cda8a156fe0c3cd4)) ### Features From 310aa5fc30de0338b33effbb942f84824be223c2 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Mon, 17 Apr 2023 10:27:23 +0200 Subject: [PATCH 16/63] chore(deps): bump @nestjs/core and @openapitools/openapi-generator-cli (#1097) Removes [@nestjs/core](https://github.com/nestjs/nest). It's no longer used after updating ancestor dependency [@openapitools/openapi-generator-cli](https://github.com/OpenAPITools/openapi-generator-cli). These dependencies need to be updated together. Removes `@nestjs/core` Updates `@openapitools/openapi-generator-cli` from 2.4.26 to 2.6.0 - [Release notes](https://github.com/OpenAPITools/openapi-generator-cli/releases) - [Changelog](https://github.com/OpenAPITools/openapi-generator-cli/blob/master/.releaserc) - [Commits](https://github.com/OpenAPITools/openapi-generator-cli/compare/v2.4.26...v2.6.0) --- updated-dependencies: - dependency-name: "@nestjs/core" dependency-type: indirect - dependency-name: "@openapitools/openapi-generator-cli" dependency-type: direct:production ... Signed-off-by: dependabot[bot] Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> --- package-lock.json | 1605 +++++++++++++++++++++------------------------ package.json | 2 +- 2 files changed, 766 insertions(+), 841 deletions(-) diff --git a/package-lock.json b/package-lock.json index 0b4fbeddaa..072d0110ba 100644 --- a/package-lock.json +++ b/package-lock.json @@ -9,7 +9,7 @@ "version": "0.0.0", "license": "Apache-2.0", "dependencies": { - "@openapitools/openapi-generator-cli": "^2.4.26" + "@openapitools/openapi-generator-cli": "^2.6.0" }, "devDependencies": { "doctoc": "^2.0.0", @@ -19,14 +19,36 @@ "prettier-plugin-packagejson": "^2.2.18" } }, + "node_modules/@lukeed/csprng": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==", + "engines": { + "node": ">=8" + } + }, + "node_modules/@nestjs/axios": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@nestjs/axios/-/axios-0.0.8.tgz", + "integrity": "sha512-oJyfR9/h9tVk776il0829xyj3b2e81yTu6HjPraxynwNtMNGqZBHHmAQL24yMB3tVbBM0RvG3eUXH8+pRCGwlg==", + "dependencies": { + "axios": "0.27.2" + }, + "peerDependencies": { + "@nestjs/common": "^7.0.0 || ^8.0.0", + "reflect-metadata": "^0.1.12", + "rxjs": "^6.0.0 || ^7.0.0" + } + }, "node_modules/@nestjs/common": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-8.2.6.tgz", - "integrity": "sha512-flLYSXunxcKyjbYddrhwbc49uE705MxBt85rS3mHyhDbAIPSGGeZEqME44YyAzCg1NTfJSNe7ztmOce5kNkb9A==", + "version": "8.4.7", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-8.4.7.tgz", + "integrity": "sha512-m/YsbcBal+gA5CFrDpqXqsSfylo+DIQrkFY3qhVIltsYRfu8ct8J9pqsTO6OPf3mvqdOpFGrV5sBjoyAzOBvsw==", + "peer": true, "dependencies": { - "axios": "0.24.0", + "axios": "0.27.2", "iterare": "1.2.1", - "tslib": "2.3.1", + "tslib": "2.4.0", "uuid": "8.3.2" }, "funding": { @@ -53,52 +75,10 @@ } }, "node_modules/@nestjs/common/node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" - }, - "node_modules/@nestjs/core": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-8.2.6.tgz", - "integrity": "sha512-NwPcEIMmCsucs3QaDlQvkoU1FlFM2wm/WjaqLQhkSoIEmAR1gNtBo88f5io5cpMwCo1k5xYhqGlaSl6TfngwWQ==", - "hasInstallScript": true, - "dependencies": { - "@nuxtjs/opencollective": "0.3.2", - "fast-safe-stringify": "2.1.1", - "iterare": "1.2.1", - "object-hash": "2.2.0", - "path-to-regexp": "3.2.0", - "tslib": "2.3.1", - "uuid": "8.3.2" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/nest" - }, - "peerDependencies": { - "@nestjs/common": "^8.0.0", - "@nestjs/microservices": "^8.0.0", - "@nestjs/platform-express": "^8.0.0", - "@nestjs/websockets": "^8.0.0", - "reflect-metadata": "^0.1.12", - "rxjs": "^7.1.0" - }, - "peerDependenciesMeta": { - "@nestjs/microservices": { - "optional": true - }, - "@nestjs/platform-express": { - "optional": true - }, - "@nestjs/websockets": { - "optional": true - } - } - }, - "node_modules/@nestjs/core/node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "peer": true }, "node_modules/@nodelib/fs.scandir": { "version": "2.1.5", @@ -181,25 +161,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@nuxtjs/opencollective/node_modules/node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "dependencies": { - "whatwg-url": "^5.0.0" - }, - "engines": { - "node": "4.x || >=6.0.0" - }, - "peerDependencies": { - "encoding": "^0.1.0" - }, - "peerDependenciesMeta": { - "encoding": { - "optional": true - } - } - }, "node_modules/@nuxtjs/opencollective/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -212,25 +173,26 @@ } }, "node_modules/@openapitools/openapi-generator-cli": { - "version": "2.4.26", - "resolved": "https://registry.npmjs.org/@openapitools/openapi-generator-cli/-/openapi-generator-cli-2.4.26.tgz", - "integrity": "sha512-O42H9q1HWGoIpcpMaUu318b6bmOgcjP3MieHwOrFdoG3KyttceBGlbLf9Kbf7WM91WSNCDXum7cnEKASuoGjAg==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@openapitools/openapi-generator-cli/-/openapi-generator-cli-2.6.0.tgz", + "integrity": "sha512-M/aOpR7G+Y1nMf+ofuar8pGszajgfhs1aSPSijkcr2tHTxKAI3sA3YYcOGbszxaNRKFyvOcDq+KP9pcJvKoCHg==", "hasInstallScript": true, "dependencies": { - "@nestjs/common": "8.2.6", - "@nestjs/core": "8.2.6", + "@nestjs/axios": "0.0.8", + "@nestjs/common": "9.3.11", + "@nestjs/core": "9.3.11", "@nuxtjs/opencollective": "0.3.2", "chalk": "4.1.2", "commander": "8.3.0", - "compare-versions": "3.6.0", + "compare-versions": "4.1.4", "concurrently": "6.5.1", "console.table": "0.10.0", - "fs-extra": "10.0.0", + "fs-extra": "10.1.0", "glob": "7.1.6", - "inquirer": "8.2.0", + "inquirer": "8.2.5", "lodash": "4.17.21", "reflect-metadata": "0.1.13", - "rxjs": "7.5.2", + "rxjs": "7.8.0", "tslib": "2.0.3" }, "bin": { @@ -244,28 +206,85 @@ "url": "https://opencollective.com/openapi_generator" } }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "node_modules/@openapitools/openapi-generator-cli/node_modules/@nestjs/common": { + "version": "9.3.11", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-9.3.11.tgz", + "integrity": "sha512-IFZ2G/5UKWC2Uo7tJ4SxGed2+aiA+sJyWeWsGTogKVDhq90oxVBToh+uCDeI31HNUpqYGoWmkletfty42zUd8A==", "dependencies": { - "type-fest": "^0.21.3" - }, - "engines": { - "node": ">=8" + "iterare": "1.2.1", + "tslib": "2.5.0", + "uid": "2.0.1" }, "funding": { - "url": "https://github.com/sponsors/sindresorhus" + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "cache-manager": "<=5", + "class-transformer": "*", + "class-validator": "*", + "reflect-metadata": "^0.1.12", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "cache-manager": { + "optional": true + }, + "class-transformer": { + "optional": true + }, + "class-validator": { + "optional": true + } } }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" + "node_modules/@openapitools/openapi-generator-cli/node_modules/@nestjs/common/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/@nestjs/core": { + "version": "9.3.11", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-9.3.11.tgz", + "integrity": "sha512-CI27a2JFd5rvvbgkalWqsiwQNhcP4EAG5BUK8usjp29wVp1kx30ghfBT8FLqIgmkRVo65A0IcEnWsxeXMntkxQ==", + "hasInstallScript": true, + "dependencies": { + "@nuxtjs/opencollective": "0.3.2", + "fast-safe-stringify": "2.1.1", + "iterare": "1.2.1", + "path-to-regexp": "3.2.0", + "tslib": "2.5.0", + "uid": "2.0.1" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/nest" + }, + "peerDependencies": { + "@nestjs/common": "^9.0.0", + "@nestjs/microservices": "^9.0.0", + "@nestjs/platform-express": "^9.0.0", + "@nestjs/websockets": "^9.0.0", + "reflect-metadata": "^0.1.12", + "rxjs": "^7.1.0" + }, + "peerDependenciesMeta": { + "@nestjs/microservices": { + "optional": true + }, + "@nestjs/platform-express": { + "optional": true + }, + "@nestjs/websockets": { + "optional": true + } } }, + "node_modules/@openapitools/openapi-generator-cli/node_modules/@nestjs/core/node_modules/tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + }, "node_modules/@openapitools/openapi-generator-cli/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -295,157 +314,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", - "engines": { - "node": ">= 10" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "dependencies": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - }, - "engines": { - "node": ">=4" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "dependencies": { - "escape-string-regexp": "^1.0.5" - }, - "engines": { - "node": ">=8" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/inquirer": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz", - "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==", - "dependencies": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.2.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - }, - "engines": { - "node": ">=8.0.0" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/@openapitools/openapi-generator-cli/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/@openapitools/openapi-generator-cli/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -531,6 +399,28 @@ "emoji-regex": "~6.1.0" } }, + "node_modules/ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "dependencies": { + "type-fest": "^0.21.3" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "engines": { + "node": ">=8" + } + }, "node_modules/ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -582,12 +472,18 @@ "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", "dev": true }, + "node_modules/asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, "node_modules/axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", "dependencies": { - "follow-redirects": "^1.14.4" + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" } }, "node_modules/bail": { @@ -732,10 +628,26 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "node_modules/cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "dependencies": { + "restore-cursor": "^3.1.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==", + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.8.0.tgz", + "integrity": "sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==", "engines": { "node": ">=6" }, @@ -743,6 +655,14 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==", + "engines": { + "node": ">= 10" + } + }, "node_modules/cliui": { "version": "7.0.4", "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", @@ -753,51 +673,6 @@ "wrap-ansi": "^7.0.0" } }, - "node_modules/cliui/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/cliui/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/cliui/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/clone": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/clone/-/clone-1.0.4.tgz", @@ -822,6 +697,17 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "node_modules/combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "dependencies": { + "delayed-stream": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, "node_modules/commander": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", @@ -831,9 +717,9 @@ } }, "node_modules/compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-4.1.4.tgz", + "integrity": "sha512-FemMreK9xNyL8gQevsdRMrvO4lFCkQP7qbuktn1q8ndcNk1+0mz7lgE7b/sNvbhVgY4w6tMN1FDp6aADjqw2rw==" }, "node_modules/concat-map": { "version": "0.0.1", @@ -993,6 +879,14 @@ "clone": "^1.0.2" } }, + "node_modules/delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==", + "engines": { + "node": ">=0.4.0" + } + }, "node_modules/detect-indent": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", @@ -1162,6 +1056,19 @@ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, + "node_modules/external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "dependencies": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + }, + "engines": { + "node": ">=4" + } + }, "node_modules/fast-glob": { "version": "3.2.11", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", @@ -1205,6 +1112,20 @@ "url": "https://github.com/sponsors/wooorm" } }, + "node_modules/figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "dependencies": { + "escape-string-regexp": "^1.0.5" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -1218,9 +1139,9 @@ } }, "node_modules/follow-redirects": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz", - "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==", + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==", "funding": [ { "type": "individual", @@ -1236,6 +1157,19 @@ } } }, + "node_modules/form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "dependencies": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + }, + "engines": { + "node": ">= 6" + } + }, "node_modules/format": { "version": "0.2.2", "resolved": "https://registry.npmjs.org/format/-/format-0.2.2.tgz", @@ -1246,9 +1180,9 @@ } }, "node_modules/fs-extra": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", - "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "dependencies": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -1439,6 +1373,71 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "node_modules/inquirer": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz", + "integrity": "sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==", + "dependencies": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/inquirer/node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/inquirer/node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/is-alphabetical": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", @@ -1517,6 +1516,14 @@ "node": ">=0.10.0" } }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "engines": { + "node": ">=8" + } + }, "node_modules/is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -2026,11 +2033,38 @@ "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", "dev": true, "dependencies": { - "braces": "^3.0.2", - "picomatch": "^2.3.1" + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dependencies": { + "mime-db": "1.52.0" }, "engines": { - "node": ">=8.6" + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "engines": { + "node": ">=6" } }, "node_modules/minimatch": { @@ -2068,6 +2102,30 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "node_modules/mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "node_modules/node-fetch": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", + "dependencies": { + "whatwg-url": "^5.0.0" + }, + "engines": { + "node": "4.x || >=6.0.0" + }, + "peerDependencies": { + "encoding": "^0.1.0" + }, + "peerDependenciesMeta": { + "encoding": { + "optional": true + } + } + }, "node_modules/nopt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", @@ -2099,14 +2157,6 @@ "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", "dev": true }, - "node_modules/object-hash": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", - "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==", - "engines": { - "node": ">= 6" - } - }, "node_modules/once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -2115,6 +2165,20 @@ "wrappy": "1" } }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, "node_modules/ora": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", @@ -2137,14 +2201,6 @@ "url": "https://github.com/sponsors/sindresorhus" } }, - "node_modules/ora/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, "node_modules/ora/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -2174,62 +2230,6 @@ "url": "https://github.com/chalk/chalk?sponsor=1" } }, - "node_modules/ora/node_modules/cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "dependencies": { - "restore-cursor": "^3.1.0" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", - "engines": { - "node": ">=6" - } - }, - "node_modules/ora/node_modules/onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "dependencies": { - "mimic-fn": "^2.1.0" - }, - "engines": { - "node": ">=6" - }, - "funding": { - "url": "https://github.com/sponsors/sindresorhus" - } - }, - "node_modules/ora/node_modules/restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "dependencies": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/ora/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/ora/node_modules/supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -2409,9 +2409,9 @@ } }, "node_modules/readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "dependencies": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -2527,6 +2527,18 @@ "url": "https://github.com/sponsors/ljharb" } }, + "node_modules/restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "dependencies": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -2569,17 +2581,17 @@ } }, "node_modules/rxjs": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.2.tgz", - "integrity": "sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", "dependencies": { "tslib": "^2.1.0" } }, "node_modules/rxjs/node_modules/tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" }, "node_modules/safe-buffer": { "version": "5.2.1", @@ -2615,9 +2627,9 @@ } }, "node_modules/signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "node_modules/slash": { "version": "3.0.0", @@ -2733,6 +2745,35 @@ "safe-buffer": "~5.2.0" } }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string-width/node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -2769,7 +2810,7 @@ "node_modules/through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, "node_modules/tmp": { "version": "0.0.33", @@ -2797,7 +2838,7 @@ "node_modules/tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "node_modules/traverse": { "version": "0.6.6", @@ -2848,6 +2889,17 @@ "url": "https://github.com/sponsors/sindresorhus" } }, + "node_modules/uid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.1.tgz", + "integrity": "sha512-PF+1AnZgycpAIEmNtjxGBVmKbZAQguaa4pBUq6KNaGEcpzZ2klCNZLM34tsjp76maN00TttiiUf6zkIBpJQm2A==", + "dependencies": { + "@lukeed/csprng": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, "node_modules/underscore": { "version": "1.13.3", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.3.tgz", @@ -2926,7 +2978,7 @@ "node_modules/util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "node_modules/util-extend": { "version": "1.0.3", @@ -2938,6 +2990,7 @@ "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "peer": true, "bin": { "uuid": "dist/bin/uuid" } @@ -2993,12 +3046,12 @@ "node_modules/webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "node_modules/whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "dependencies": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -3020,14 +3073,6 @@ "url": "https://github.com/chalk/wrap-ansi?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, "node_modules/wrap-ansi/node_modules/ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -3042,43 +3087,6 @@ "url": "https://github.com/chalk/ansi-styles?sponsor=1" } }, - "node_modules/wrap-ansi/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/wrap-ansi/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/wrap-ansi/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/wrappy": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", @@ -3117,51 +3125,6 @@ "node": ">=10" } }, - "node_modules/yargs/node_modules/ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "node_modules/yargs/node_modules/is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "dependencies": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - }, - "engines": { - "node": ">=8" - } - }, - "node_modules/yargs/node_modules/strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "dependencies": { - "ansi-regex": "^5.0.1" - }, - "engines": { - "node": ">=8" - } - }, "node_modules/zwitch": { "version": "1.0.5", "resolved": "https://registry.npmjs.org/zwitch/-/zwitch-1.0.5.tgz", @@ -3174,42 +3137,36 @@ } }, "dependencies": { - "@nestjs/common": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-8.2.6.tgz", - "integrity": "sha512-flLYSXunxcKyjbYddrhwbc49uE705MxBt85rS3mHyhDbAIPSGGeZEqME44YyAzCg1NTfJSNe7ztmOce5kNkb9A==", + "@lukeed/csprng": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/@lukeed/csprng/-/csprng-1.1.0.tgz", + "integrity": "sha512-Z7C/xXCiGWsg0KuKsHTKJxbWhpI3Vs5GwLfOean7MGyVFGqdRgBbAjOCh6u4bbjPc/8MJ2pZmK/0DLdCbivLDA==" + }, + "@nestjs/axios": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/@nestjs/axios/-/axios-0.0.8.tgz", + "integrity": "sha512-oJyfR9/h9tVk776il0829xyj3b2e81yTu6HjPraxynwNtMNGqZBHHmAQL24yMB3tVbBM0RvG3eUXH8+pRCGwlg==", "requires": { - "axios": "0.24.0", - "iterare": "1.2.1", - "tslib": "2.3.1", - "uuid": "8.3.2" - }, - "dependencies": { - "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" - } + "axios": "0.27.2" } }, - "@nestjs/core": { - "version": "8.2.6", - "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-8.2.6.tgz", - "integrity": "sha512-NwPcEIMmCsucs3QaDlQvkoU1FlFM2wm/WjaqLQhkSoIEmAR1gNtBo88f5io5cpMwCo1k5xYhqGlaSl6TfngwWQ==", + "@nestjs/common": { + "version": "8.4.7", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-8.4.7.tgz", + "integrity": "sha512-m/YsbcBal+gA5CFrDpqXqsSfylo+DIQrkFY3qhVIltsYRfu8ct8J9pqsTO6OPf3mvqdOpFGrV5sBjoyAzOBvsw==", + "peer": true, "requires": { - "@nuxtjs/opencollective": "0.3.2", - "fast-safe-stringify": "2.1.1", + "axios": "0.27.2", "iterare": "1.2.1", - "object-hash": "2.2.0", - "path-to-regexp": "3.2.0", - "tslib": "2.3.1", + "tslib": "2.4.0", "uuid": "8.3.2" }, "dependencies": { "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "peer": true } } }, @@ -3266,14 +3223,6 @@ "supports-color": "^7.1.0" } }, - "node-fetch": { - "version": "2.6.7", - "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.7.tgz", - "integrity": "sha512-ZjMPFEfVx5j+y2yF35Kzx5sF7kDzxuDj6ziH4FFbOp87zKDZNx8yExJIb05OGF4Nlt9IHFIMBkRl41VdvcNdbQ==", - "requires": { - "whatwg-url": "^5.0.0" - } - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -3285,40 +3234,65 @@ } }, "@openapitools/openapi-generator-cli": { - "version": "2.4.26", - "resolved": "https://registry.npmjs.org/@openapitools/openapi-generator-cli/-/openapi-generator-cli-2.4.26.tgz", - "integrity": "sha512-O42H9q1HWGoIpcpMaUu318b6bmOgcjP3MieHwOrFdoG3KyttceBGlbLf9Kbf7WM91WSNCDXum7cnEKASuoGjAg==", + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/@openapitools/openapi-generator-cli/-/openapi-generator-cli-2.6.0.tgz", + "integrity": "sha512-M/aOpR7G+Y1nMf+ofuar8pGszajgfhs1aSPSijkcr2tHTxKAI3sA3YYcOGbszxaNRKFyvOcDq+KP9pcJvKoCHg==", "requires": { - "@nestjs/common": "8.2.6", - "@nestjs/core": "8.2.6", + "@nestjs/axios": "0.0.8", + "@nestjs/common": "9.3.11", + "@nestjs/core": "9.3.11", "@nuxtjs/opencollective": "0.3.2", "chalk": "4.1.2", "commander": "8.3.0", - "compare-versions": "3.6.0", + "compare-versions": "4.1.4", "concurrently": "6.5.1", "console.table": "0.10.0", - "fs-extra": "10.0.0", + "fs-extra": "10.1.0", "glob": "7.1.6", - "inquirer": "8.2.0", + "inquirer": "8.2.5", "lodash": "4.17.21", "reflect-metadata": "0.1.13", - "rxjs": "7.5.2", + "rxjs": "7.8.0", "tslib": "2.0.3" }, "dependencies": { - "ansi-escapes": { - "version": "4.3.2", - "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", - "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "@nestjs/common": { + "version": "9.3.11", + "resolved": "https://registry.npmjs.org/@nestjs/common/-/common-9.3.11.tgz", + "integrity": "sha512-IFZ2G/5UKWC2Uo7tJ4SxGed2+aiA+sJyWeWsGTogKVDhq90oxVBToh+uCDeI31HNUpqYGoWmkletfty42zUd8A==", "requires": { - "type-fest": "^0.21.3" + "iterare": "1.2.1", + "tslib": "2.5.0", + "uid": "2.0.1" + }, + "dependencies": { + "tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + } + } + }, + "@nestjs/core": { + "version": "9.3.11", + "resolved": "https://registry.npmjs.org/@nestjs/core/-/core-9.3.11.tgz", + "integrity": "sha512-CI27a2JFd5rvvbgkalWqsiwQNhcP4EAG5BUK8usjp29wVp1kx30ghfBT8FLqIgmkRVo65A0IcEnWsxeXMntkxQ==", + "requires": { + "@nuxtjs/opencollective": "0.3.2", + "fast-safe-stringify": "2.1.1", + "iterare": "1.2.1", + "path-to-regexp": "3.2.0", + "tslib": "2.5.0", + "uid": "2.0.1" + }, + "dependencies": { + "tslib": { + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" + } } }, - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -3336,118 +3310,6 @@ "supports-color": "^7.1.0" } }, - "chardet": { - "version": "0.7.0", - "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", - "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" - }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "cli-width": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", - "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "external-editor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", - "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", - "requires": { - "chardet": "^0.7.0", - "iconv-lite": "^0.4.24", - "tmp": "^0.0.33" - } - }, - "figures": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", - "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", - "requires": { - "escape-string-regexp": "^1.0.5" - } - }, - "inquirer": { - "version": "8.2.0", - "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.0.tgz", - "integrity": "sha512-0crLweprevJ02tTuA6ThpoAERAGyVILC4sS74uib58Xf/zSr1/ZWtmm7D5CI+bSQEaA04f0K7idaHpQbSWgiVQ==", - "requires": { - "ansi-escapes": "^4.2.1", - "chalk": "^4.1.1", - "cli-cursor": "^3.1.0", - "cli-width": "^3.0.0", - "external-editor": "^3.0.3", - "figures": "^3.0.0", - "lodash": "^4.17.21", - "mute-stream": "0.0.8", - "ora": "^5.4.1", - "run-async": "^2.4.0", - "rxjs": "^7.2.0", - "string-width": "^4.1.0", - "strip-ansi": "^6.0.0", - "through": "^2.3.6" - } - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "mute-stream": { - "version": "0.0.8", - "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", - "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -3532,6 +3394,19 @@ "emoji-regex": "~6.1.0" } }, + "ansi-escapes": { + "version": "4.3.2", + "resolved": "https://registry.npmjs.org/ansi-escapes/-/ansi-escapes-4.3.2.tgz", + "integrity": "sha512-gKXj5ALrKWQLsYG9jlTRmR/xKluxHV+Z9QEwNIgCfM1/uwPMCuzVVnh5mwTd+OuBZcwSIMbqssNWRm1lE51QaQ==", + "requires": { + "type-fest": "^0.21.3" + } + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" + }, "ansi-styles": { "version": "3.2.1", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", @@ -3576,12 +3451,18 @@ "integrity": "sha512-BSHWgDSAiKs50o2Re8ppvp3seVHXSRM44cdSsT9FfNEUUZLOGWVCsiWaRPWM1Znn+mqZ1OfVZ3z3DWEzSp7hRA==", "dev": true }, + "asynckit": { + "version": "0.4.0", + "resolved": "https://registry.npmjs.org/asynckit/-/asynckit-0.4.0.tgz", + "integrity": "sha512-Oei9OH4tRh0YqU3GxhX79dM/mwVgvbZJaSNaRk+bshkj0S5cfHcgYakreBjrHwatXKbz+IoIdYLxrKim2MjW0Q==" + }, "axios": { - "version": "0.24.0", - "resolved": "https://registry.npmjs.org/axios/-/axios-0.24.0.tgz", - "integrity": "sha512-Q6cWsys88HoPgAaFAVUb0WpPk0O8iTeisR9IMqy9G8AbO4NlpVknrnQS03zzF9PGAWgO3cgletO3VjV/P7VztA==", + "version": "0.27.2", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.27.2.tgz", + "integrity": "sha512-t+yRIyySRTp/wua5xEr+z1q60QmLq8ABsS5O9Me1AsE5dfKqgnCFzwiCZZ/cGNd1lq4/7akDWMxdhVlucjmnOQ==", "requires": { - "follow-redirects": "^1.14.4" + "follow-redirects": "^1.14.9", + "form-data": "^4.0.0" } }, "bail": { @@ -3672,10 +3553,28 @@ "integrity": "sha512-mKKUkUbhPpQlCOfIuZkvSEgktjPFIsZKRRbC6KWVEMvlzblj3i3asQv5ODsrwt0N3pHAEvjP8KTQPHkp0+6jOg==", "dev": true }, + "chardet": { + "version": "0.7.0", + "resolved": "https://registry.npmjs.org/chardet/-/chardet-0.7.0.tgz", + "integrity": "sha512-mT8iDcrh03qDGRRmoA2hmBJnxpllMR+0/0qlzjqZES6NdiWDcZkCNAk4rPFZ9Q85r27unkiNNg8ZOiwZXBHwcA==" + }, + "cli-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", + "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", + "requires": { + "restore-cursor": "^3.1.0" + } + }, "cli-spinners": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.6.1.tgz", - "integrity": "sha512-x/5fWmGMnbKQAaNwN+UZlV79qBLM9JFnJuJ03gIi5whrob0xV0ofNVHy9DhwGdsMJQc2OKv0oGmLzvaqvAVv+g==" + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/cli-spinners/-/cli-spinners-2.8.0.tgz", + "integrity": "sha512-/eG5sJcvEIwxcdYM86k5tPwn0MUzkX5YY3eImTGpJOZgVe4SdTMY14vQpcxgBzJ0wXwAYrS8E+c3uHeK4JNyzQ==" + }, + "cli-width": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cli-width/-/cli-width-3.0.0.tgz", + "integrity": "sha512-FxqpkPPwu1HjuN93Omfm4h8uIanXofW0RxVEW3k5RKx+mJJYSthzNhp32Kzxxy3YAEZ/Dc/EWN1vZRY0+kOhbw==" }, "cliui": { "version": "7.0.4", @@ -3685,41 +3584,6 @@ "string-width": "^4.2.0", "strip-ansi": "^6.0.0", "wrap-ansi": "^7.0.0" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } } }, "clone": { @@ -3740,15 +3604,23 @@ "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, + "combined-stream": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/combined-stream/-/combined-stream-1.0.8.tgz", + "integrity": "sha512-FQN4MRfuJeHf7cBbBMJFXhKSDq+2kAArBlmRBvcvFE5BB1HZKXtSFASDhdlz9zOYwxh8lDdnvmMOe/+5cdoEdg==", + "requires": { + "delayed-stream": "~1.0.0" + } + }, "commander": { "version": "8.3.0", "resolved": "https://registry.npmjs.org/commander/-/commander-8.3.0.tgz", "integrity": "sha512-OkTL9umf+He2DZkUq8f8J9of7yL6RJKI24dVITBmNfZBmri9zYZQrKkuXiKhyfPSu8tUhnVBB1iKXevvnlR4Ww==" }, "compare-versions": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-3.6.0.tgz", - "integrity": "sha512-W6Af2Iw1z4CB7q4uU4hv646dW9GQuBM+YpC0UvUCWSD8w90SJjp+ujJuXaEMtAXBtSqGfMPuFOVn4/+FlaqfBA==" + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/compare-versions/-/compare-versions-4.1.4.tgz", + "integrity": "sha512-FemMreK9xNyL8gQevsdRMrvO4lFCkQP7qbuktn1q8ndcNk1+0mz7lgE7b/sNvbhVgY4w6tMN1FDp6aADjqw2rw==" }, "concat-map": { "version": "0.0.1", @@ -3861,6 +3733,11 @@ "clone": "^1.0.2" } }, + "delayed-stream": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/delayed-stream/-/delayed-stream-1.0.0.tgz", + "integrity": "sha512-ZySD7Nf91aLB0RxL4KGrKHBXl7Eds1DAmEdcoVawXnLD7SDhpNgtuII2aAkg7a7QS41jxPSZ17p4VdGnMHk3MQ==" + }, "detect-indent": { "version": "6.1.0", "resolved": "https://registry.npmjs.org/detect-indent/-/detect-indent-6.1.0.tgz", @@ -3987,6 +3864,16 @@ "integrity": "sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==", "dev": true }, + "external-editor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/external-editor/-/external-editor-3.1.0.tgz", + "integrity": "sha512-hMQ4CX1p1izmuLYyZqLMO/qGNw10wSv9QDCPfzXfyFrOaCSSoRfqE1Kf1s5an66J5JZC62NewG+mK49jOCtQew==", + "requires": { + "chardet": "^0.7.0", + "iconv-lite": "^0.4.24", + "tmp": "^0.0.33" + } + }, "fast-glob": { "version": "3.2.11", "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", @@ -4023,6 +3910,14 @@ "format": "^0.2.0" } }, + "figures": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/figures/-/figures-3.2.0.tgz", + "integrity": "sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==", + "requires": { + "escape-string-regexp": "^1.0.5" + } + }, "fill-range": { "version": "7.0.1", "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", @@ -4033,9 +3928,19 @@ } }, "follow-redirects": { - "version": "1.15.0", - "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.0.tgz", - "integrity": "sha512-aExlJShTV4qOUOL7yF1U5tvLCB0xQuudbf6toyYA0E/acBNw71mvjFTnLaRp50aQaYocMR0a/RMMBIHeZnGyjQ==" + "version": "1.15.2", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.2.tgz", + "integrity": "sha512-VQLG33o04KaQ8uYi2tVNbdrWp1QWxNNea+nmIB4EVM28v0hmP17z7aG1+wAkNzVq4KeXTq3221ye5qTJP91JwA==" + }, + "form-data": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/form-data/-/form-data-4.0.0.tgz", + "integrity": "sha512-ETEklSGi5t0QMZuiXoA/Q6vcnxcLQP5vdugSpuAyi6SVGi2clPPp+xgEhuMaHC+zGgn31Kd235W35f7Hykkaww==", + "requires": { + "asynckit": "^0.4.0", + "combined-stream": "^1.0.8", + "mime-types": "^2.1.12" + } }, "format": { "version": "0.2.2", @@ -4044,9 +3949,9 @@ "dev": true }, "fs-extra": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.0.0.tgz", - "integrity": "sha512-C5owb14u9eJwizKGdchcDUQeFtlSHHthBk8pbX9Vc1PFZrLombudjDnNns88aYslCyF6IY5SUw3Roz6xShcEIQ==", + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", "requires": { "graceful-fs": "^4.2.0", "jsonfile": "^6.0.1", @@ -4183,6 +4088,55 @@ "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" }, + "inquirer": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/inquirer/-/inquirer-8.2.5.tgz", + "integrity": "sha512-QAgPDQMEgrDssk1XiwwHoOGYF9BAbUcc1+j+FhEvaOt8/cKRqyLn0U5qA6F74fGhTMGxf92pOvPBeh29jQJDTQ==", + "requires": { + "ansi-escapes": "^4.2.1", + "chalk": "^4.1.1", + "cli-cursor": "^3.1.0", + "cli-width": "^3.0.0", + "external-editor": "^3.0.3", + "figures": "^3.0.0", + "lodash": "^4.17.21", + "mute-stream": "0.0.8", + "ora": "^5.4.1", + "run-async": "^2.4.0", + "rxjs": "^7.5.5", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0", + "through": "^2.3.6", + "wrap-ansi": "^7.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "requires": { + "color-convert": "^2.0.1" + } + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, "is-alphabetical": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/is-alphabetical/-/is-alphabetical-1.0.4.tgz", @@ -4226,6 +4180,11 @@ "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", "dev": true }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" + }, "is-glob": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", @@ -4591,6 +4550,24 @@ "picomatch": "^2.3.1" } }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==" + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" + }, "minimatch": { "version": "3.0.5", "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.0.5.tgz", @@ -4620,6 +4597,19 @@ "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", "dev": true }, + "mute-stream": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/mute-stream/-/mute-stream-0.0.8.tgz", + "integrity": "sha512-nnbWWOkoWyUsTjKrhgD0dcz22mdkSnpYqbEjIm2nhwhuxlSkpywJmBo8h0ZqJdkp73mb90SssHkN4rsRaBAfAA==" + }, + "node-fetch": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/node-fetch/-/node-fetch-2.6.9.tgz", + "integrity": "sha512-DJm/CJkZkRjKKj4Zi4BsKVZh3ValV5IR5s7LVZnW+6YMh0W1BfNA8XSs6DLMGYlId5F3KnA70uu2qepcR08Qqg==", + "requires": { + "whatwg-url": "^5.0.0" + } + }, "nopt": { "version": "4.0.3", "resolved": "https://registry.npmjs.org/nopt/-/nopt-4.0.3.tgz", @@ -4648,11 +4638,6 @@ "integrity": "sha512-EPfafl6JL5/rU+ot6P3gRSCpPDW5VmIzX959Ob1+ySFUuuYHWHekXpwdUZcKP5C+DS4GEtdJluwBjnsNDl+fSA==", "dev": true }, - "object-hash": { - "version": "2.2.0", - "resolved": "https://registry.npmjs.org/object-hash/-/object-hash-2.2.0.tgz", - "integrity": "sha512-gScRMn0bS5fH+IuwyIFgnh9zBdo4DV+6GhygmWM9HyNJSgS0hScp1f5vjtm7oIIOiT9trXrShAkLFSc2IqKNgw==" - }, "once": { "version": "1.4.0", "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", @@ -4661,6 +4646,14 @@ "wrappy": "1" } }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "requires": { + "mimic-fn": "^2.1.0" + } + }, "ora": { "version": "5.4.1", "resolved": "https://registry.npmjs.org/ora/-/ora-5.4.1.tgz", @@ -4677,11 +4670,6 @@ "wcwidth": "^1.0.1" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -4699,44 +4687,6 @@ "supports-color": "^7.1.0" } }, - "cli-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/cli-cursor/-/cli-cursor-3.1.0.tgz", - "integrity": "sha512-I/zHAwsKf9FqGoXM4WWRACob9+SNukZTd94DWF57E4toouRulbCxcUh6RKUEOQlYTHJnzkPMySvPNaaSLNfLZw==", - "requires": { - "restore-cursor": "^3.1.0" - } - }, - "mimic-fn": { - "version": "2.1.0", - "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", - "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==" - }, - "onetime": { - "version": "5.1.2", - "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", - "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", - "requires": { - "mimic-fn": "^2.1.0" - } - }, - "restore-cursor": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", - "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", - "requires": { - "onetime": "^5.1.0", - "signal-exit": "^3.0.2" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - }, "supports-color": { "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", @@ -4865,9 +4815,9 @@ } }, "readable-stream": { - "version": "3.6.0", - "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", - "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "version": "3.6.2", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.2.tgz", + "integrity": "sha512-9u/sniCrY3D5WdsERHzHE4G2YCXqoG5FTHUiCC4SIbr6XcLZBY05ya9EKjYek9O5xOAwjGq+1JdGBAS7Q9ScoA==", "requires": { "inherits": "^2.0.3", "string_decoder": "^1.1.1", @@ -4952,6 +4902,15 @@ "supports-preserve-symlinks-flag": "^1.0.0" } }, + "restore-cursor": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/restore-cursor/-/restore-cursor-3.1.0.tgz", + "integrity": "sha512-l+sSefzHpj5qimhFSE5a8nufZYAM3sBSVMAPtYkmC+4EH2anSGaEMXSD0izRQbu9nfyQ9y5JrVmp7E8oZrUjvA==", + "requires": { + "onetime": "^5.1.0", + "signal-exit": "^3.0.2" + } + }, "reusify": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", @@ -4973,17 +4932,17 @@ } }, "rxjs": { - "version": "7.5.2", - "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.5.2.tgz", - "integrity": "sha512-PwDt186XaL3QN5qXj/H9DGyHhP3/RYYgZZwqBv9Tv8rsAaiwFH1IsJJlcgD37J7UW5a6O67qX0KWKS3/pu0m4w==", + "version": "7.8.0", + "resolved": "https://registry.npmjs.org/rxjs/-/rxjs-7.8.0.tgz", + "integrity": "sha512-F2+gxDshqmIub1KdvZkaEfGDwLNpPvk9Fs6LD/MyQxNgMds/WH9OdDDXOmxUZpME+iSK3rQCctkL0DYyytUqMg==", "requires": { "tslib": "^2.1.0" }, "dependencies": { "tslib": { - "version": "2.3.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.3.1.tgz", - "integrity": "sha512-77EbyPPpMz+FRFRuAFlWMtmgUWGe9UOG2Z25NqCwiIjRhOf5iKGuzSe5P2w1laq+FkRy4p+PCuVkJSGkzTEKVw==" + "version": "2.5.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.5.0.tgz", + "integrity": "sha512-336iVw3rtn2BUK7ORdIAHTyxHGRIHVReokCR3XjbckJMK7ms8FysBfhLR8IXnAgy7T0PTPNBWKiH514FOW/WSg==" } } }, @@ -5004,9 +4963,9 @@ "dev": true }, "signal-exit": { - "version": "3.0.3", - "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.3.tgz", - "integrity": "sha512-VUJ49FC8U1OxwZLxIbTTrDvLnf/6TDgxZcK8wxR8zs13xpx7xbG60ndBlhNrFi2EMuFRoeDoJO7wthSLq42EjA==" + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==" }, "slash": { "version": "3.0.0", @@ -5113,6 +5072,31 @@ "safe-buffer": "~5.2.0" } }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "dependencies": { + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" + } + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "requires": { + "ansi-regex": "^5.0.1" + } + }, "supports-color": { "version": "5.5.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", @@ -5139,7 +5123,7 @@ "through": { "version": "2.3.8", "resolved": "https://registry.npmjs.org/through/-/through-2.3.8.tgz", - "integrity": "sha1-DdTJ/6q8NXlgsbckEV1+Doai4fU=" + "integrity": "sha512-w89qg7PI8wAdvX60bMDP+bFoD5Dvhm9oLheFp5O4a2QF0cSBGsBX4qZmadPMvVqlLJBBci+WqGGOAPvcDeNSVg==" }, "tmp": { "version": "0.0.33", @@ -5161,7 +5145,7 @@ "tr46": { "version": "0.0.3", "resolved": "https://registry.npmjs.org/tr46/-/tr46-0.0.3.tgz", - "integrity": "sha1-gYT9NH2snNwYWZLzpmIuFLnZq2o=" + "integrity": "sha512-N3WMsuqV66lT30CrXNbEjx4GEwlow3v6rr4mCcv6prnfwhS01rkgyFdjPNBYd9br7LpXV1+Emh01fHnq2Gdgrw==" }, "traverse": { "version": "0.6.6", @@ -5196,6 +5180,14 @@ "resolved": "https://registry.npmjs.org/type-fest/-/type-fest-0.21.3.tgz", "integrity": "sha512-t0rzBq87m3fVcduHDUFhKmyyX+9eo6WQjZvf51Ea/M0Q7+T374Jp1aUiyUl0GKxp8M/OETVHSDvmkyPgvX+X2w==" }, + "uid": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/uid/-/uid-2.0.1.tgz", + "integrity": "sha512-PF+1AnZgycpAIEmNtjxGBVmKbZAQguaa4pBUq6KNaGEcpzZ2klCNZLM34tsjp76maN00TttiiUf6zkIBpJQm2A==", + "requires": { + "@lukeed/csprng": "^1.0.0" + } + }, "underscore": { "version": "1.13.3", "resolved": "https://registry.npmjs.org/underscore/-/underscore-1.13.3.tgz", @@ -5255,7 +5247,7 @@ "util-deprecate": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", - "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + "integrity": "sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==" }, "util-extend": { "version": "1.0.3", @@ -5266,7 +5258,8 @@ "uuid": { "version": "8.3.2", "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", - "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==" + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "peer": true }, "validate-npm-package-license": { "version": "3.0.4", @@ -5311,12 +5304,12 @@ "webidl-conversions": { "version": "3.0.1", "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-3.0.1.tgz", - "integrity": "sha1-JFNCdeKnvGvnvIZhHMFq4KVlSHE=" + "integrity": "sha512-2JAn3z8AR6rjK8Sm8orRC0h/bcl/DqL7tRPdGZ4I1CjdF+EaMLmYxBHyXuKL849eucPFhvBoxMsflfOb8kxaeQ==" }, "whatwg-url": { "version": "5.0.0", "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-5.0.0.tgz", - "integrity": "sha1-lmRU6HZUYuN2RNNib2dCzotwll0=", + "integrity": "sha512-saE57nupxk6v3HY35+jzBwYa0rKSy0XR8JSxZPwgLr7ys0IBzhGviA1/TUGJLmSVqs8pb9AnvICXEuOHLprYTw==", "requires": { "tr46": "~0.0.3", "webidl-conversions": "^3.0.0" @@ -5332,11 +5325,6 @@ "strip-ansi": "^6.0.0" }, "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, "ansi-styles": { "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", @@ -5344,34 +5332,6 @@ "requires": { "color-convert": "^2.0.1" } - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } } } }, @@ -5397,41 +5357,6 @@ "string-width": "^4.2.0", "y18n": "^5.0.5", "yargs-parser": "^20.2.2" - }, - "dependencies": { - "ansi-regex": { - "version": "5.0.1", - "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", - "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==" - }, - "emoji-regex": { - "version": "8.0.0", - "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", - "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==" - }, - "is-fullwidth-code-point": { - "version": "3.0.0", - "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", - "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==" - }, - "string-width": { - "version": "4.2.3", - "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", - "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", - "requires": { - "emoji-regex": "^8.0.0", - "is-fullwidth-code-point": "^3.0.0", - "strip-ansi": "^6.0.1" - } - }, - "strip-ansi": { - "version": "6.0.1", - "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", - "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", - "requires": { - "ansi-regex": "^5.0.1" - } - } } }, "yargs-parser": { diff --git a/package.json b/package.json index cfe9888ff3..495de7e9a8 100644 --- a/package.json +++ b/package.json @@ -11,7 +11,7 @@ }, "prettier": "ory-prettier-styles", "dependencies": { - "@openapitools/openapi-generator-cli": "^2.4.26" + "@openapitools/openapi-generator-cli": "^2.6.0" }, "devDependencies": { "doctoc": "^2.0.0", From c5cc7f736dc84185034be4356057d1c7a656d797 Mon Sep 17 00:00:00 2001 From: Patrik Date: Tue, 25 Apr 2023 10:55:04 +0200 Subject: [PATCH 17/63] fix: switch to `httputil.ReverseProxy.Rewrite` (#1098) --- .github/workflows/ci.yml | 6 +-- .github/workflows/format.yml | 2 +- .github/workflows/licenses.yml | 2 +- cmd/server/server.go | 2 +- go.mod | 2 +- proxy/proxy.go | 39 ++++++++-------- proxy/proxy_test.go | 74 +++++++++++++++++++++++------- test/forwarded-header/rules.1.json | 6 ++- test/forwarded-header/run.sh | 11 ++--- 9 files changed, 93 insertions(+), 51 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 0ea23e71cd..7ee38c1561 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -37,7 +37,7 @@ jobs: key: ${{ needs.sdk-generate.outputs.sdk-cache-key }} - uses: actions/setup-go@v2 with: - go-version: 1.19 + go-version: "1.20" - run: go list -json > go.list - name: Run nancy uses: sonatype-nexus-community/nancy-github-action@v1.0.2 @@ -47,7 +47,7 @@ jobs: GOGC: 100 with: args: --timeout 10m0s - version: v1.47.3 + version: v1.52.2 skip-go-installation: true skip-pkg-cache: true - name: Run go-acc (tests) @@ -70,7 +70,7 @@ jobs: - uses: ory/ci/checkout@master - uses: actions/setup-go@v2 with: - go-version: "1.19" + go-version: "1.20" - uses: actions/cache@v2 with: path: ~/go/bin/oathkeeper diff --git a/.github/workflows/format.yml b/.github/workflows/format.yml index a7a720ebc0..80515a6172 100644 --- a/.github/workflows/format.yml +++ b/.github/workflows/format.yml @@ -11,7 +11,7 @@ jobs: - uses: actions/checkout@v3 - uses: actions/setup-go@v3 with: - go-version: 1.19 + go-version: "1.20" - run: make format - name: Indicate formatting issues run: git diff HEAD --exit-code --color diff --git a/.github/workflows/licenses.yml b/.github/workflows/licenses.yml index 1c1de87847..cab996050b 100644 --- a/.github/workflows/licenses.yml +++ b/.github/workflows/licenses.yml @@ -14,7 +14,7 @@ jobs: - uses: actions/checkout@v2 - uses: actions/setup-go@v2 with: - go-version: "1.19" + go-version: "1.20" - uses: actions/setup-node@v2 with: node-version: "18" diff --git a/cmd/server/server.go b/cmd/server/server.go index 34a3ccf55f..276c823360 100644 --- a/cmd/server/server.go +++ b/cmd/server/server.go @@ -48,7 +48,7 @@ func runProxy(d driver.Driver, n *negroni.Negroni, logger *logrusx.Logger, prom proxy := d.Registry().Proxy() transport := otelhttp.NewTransport(proxy, otelhttp.WithSpanNameFormatter(func(operation string, r *http.Request) string { return "upstream" })) proxyHandler := &httputil.ReverseProxy{ - Director: proxy.Director, + Rewrite: proxy.Rewrite, Transport: transport, ErrorHandler: func(w http.ResponseWriter, r *http.Request, err error) { switch { diff --git a/go.mod b/go.mod index 1a127c782e..0066ed7ea4 100644 --- a/go.mod +++ b/go.mod @@ -1,4 +1,4 @@ -go 1.19 +go 1.20 module github.com/ory/oathkeeper diff --git a/proxy/proxy.go b/proxy/proxy.go index b2bb78a672..3f9bea36bf 100644 --- a/proxy/proxy.go +++ b/proxy/proxy.go @@ -5,8 +5,9 @@ package proxy import ( "context" - "io/ioutil" + "io" "net/http" + "net/http/httputil" "net/url" "strings" @@ -67,7 +68,7 @@ func (d *Proxy) RoundTrip(r *http.Request) (*http.Response, error) { return &http.Response{ StatusCode: rw.code, - Body: ioutil.NopCloser(rw.buffer), + Body: io.NopCloser(rw.buffer), Header: rw.header, }, nil } else if err == nil { @@ -100,36 +101,36 @@ func (d *Proxy) RoundTrip(r *http.Request) (*http.Response, error) { return &http.Response{ StatusCode: rw.code, - Body: ioutil.NopCloser(rw.buffer), + Body: io.NopCloser(rw.buffer), Header: rw.header, }, nil } -func (d *Proxy) Director(r *http.Request) { +func (d *Proxy) Rewrite(r *httputil.ProxyRequest) { EnrichRequestedURL(r) - rl, err := d.r.RuleMatcher().Match(r.Context(), r.Method, r.URL, rule.ProtocolHTTP) + rl, err := d.r.RuleMatcher().Match(r.Out.Context(), r.Out.Method, r.Out.URL, rule.ProtocolHTTP) if err != nil { - *r = *r.WithContext(context.WithValue(r.Context(), director, err)) + *r.Out = *r.Out.WithContext(context.WithValue(r.Out.Context(), director, err)) return } - *r = *r.WithContext(context.WithValue(r.Context(), ContextKeyMatchedRule, rl)) - s, err := d.r.ProxyRequestHandler().HandleRequest(r, rl) + *r.Out = *r.Out.WithContext(context.WithValue(r.Out.Context(), ContextKeyMatchedRule, rl)) + s, err := d.r.ProxyRequestHandler().HandleRequest(r.Out, rl) if err != nil { - *r = *r.WithContext(context.WithValue(r.Context(), director, err)) + *r.Out = *r.Out.WithContext(context.WithValue(r.Out.Context(), director, err)) return } - *r = *r.WithContext(context.WithValue(r.Context(), ContextKeySession, s)) + *r.Out = *r.Out.WithContext(context.WithValue(r.Out.Context(), ContextKeySession, s)) - CopyHeaders(s.Header, r) + CopyHeaders(s.Header, r.Out) - if err := ConfigureBackendURL(r, rl); err != nil { - *r = *r.WithContext(context.WithValue(r.Context(), director, err)) + if err := ConfigureBackendURL(r.Out, rl); err != nil { + *r.Out = *r.Out.WithContext(context.WithValue(r.Out.Context(), director, err)) return } var en error // need to set it to error but with nil value - *r = *r.WithContext(context.WithValue(r.Context(), director, en)) + *r.Out = *r.Out.WithContext(context.WithValue(r.Out.Context(), director, en)) } func CopyHeaders(headers http.Header, r *http.Request) { @@ -149,11 +150,11 @@ func CopyHeaders(headers http.Header, r *http.Request) { // EnrichRequestedURL sets Scheme and Host values in a URL passed down by a http server. Per default, the URL // does not contain host nor scheme values. -func EnrichRequestedURL(r *http.Request) { - r.URL.Scheme = "http" - r.URL.Host = r.Host - if r.TLS != nil || strings.EqualFold(r.Header.Get("X-Forwarded-Proto"), "https") { - r.URL.Scheme = "https" +func EnrichRequestedURL(r *httputil.ProxyRequest) { + r.Out.URL.Scheme = "http" + r.Out.URL.Host = r.In.Host + if r.In.TLS != nil || strings.EqualFold(r.In.Header.Get("X-Forwarded-Proto"), "https") { + r.Out.URL.Scheme = "https" } } diff --git a/proxy/proxy_test.go b/proxy/proxy_test.go index 106b66a83b..ce9a1e3403 100644 --- a/proxy/proxy_test.go +++ b/proxy/proxy_test.go @@ -6,8 +6,9 @@ package proxy_test import ( "context" "crypto/tls" + "encoding/json" "fmt" - "io/ioutil" + "io" "net/http" "net/http/httptest" "net/http/httputil" @@ -30,7 +31,10 @@ func TestProxy(t *testing.T) { // assert.NotEmpty(t, helper.BearerTokenFromRequest(r)) fmt.Fprint(w, "authorization="+r.Header.Get("Authorization")+"\n") fmt.Fprint(w, "host="+r.Host+"\n") - fmt.Fprint(w, "url="+r.URL.String()) + fmt.Fprint(w, "url="+r.URL.String()+"\n") + for k, v := range r.Header { + fmt.Fprint(w, "header "+k+"="+strings.Join(v, ",")+"\n") + } })) defer backend.Close() @@ -38,7 +42,7 @@ func TestProxy(t *testing.T) { reg := internal.NewRegistry(conf).WithBrokenPipelineMutator() d := reg.Proxy() - ts := httptest.NewServer(&httputil.ReverseProxy{Director: d.Director, Transport: d}) + ts := httptest.NewServer(&httputil.ReverseProxy{Rewrite: d.Rewrite, Transport: d}) defer ts.Close() conf.SetForTest(t, configuration.AuthenticatorNoopIsEnabled, true) @@ -47,6 +51,8 @@ func TestProxy(t *testing.T) { conf.SetForTest(t, configuration.AuthorizerAllowIsEnabled, true) conf.SetForTest(t, configuration.AuthorizerDenyIsEnabled, true) conf.SetForTest(t, configuration.MutatorNoopIsEnabled, true) + conf.SetForTest(t, "mutators.header.config", map[string]interface{}{"headers": map[string]string{}}) + conf.SetForTest(t, configuration.MutatorHeaderIsEnabled, true) conf.SetForTest(t, configuration.ErrorsWWWAuthenticateIsEnabled, true) ruleNoOpAuthenticator := rule.Rule{ @@ -83,7 +89,7 @@ func TestProxy(t *testing.T) { // acceptRuleStripHostWithoutTrailing2 := rule.Rule{MatchesMethods: []string{"GET"}, MatchesURLCompiled: mustCompileRegex(t, proxy.URL+"/users/<[0-9]+>"), Mode: "pass_through_accept", Upstream: rule.Upstream{URLParsed: u, StripPath: "users", PreserveHost: true}} // denyRule := rule.Rule{MatchesMethods: []string{"GET"}, MatchesURLCompiled: mustCompileRegex(t, proxy.URL+"/users/<[0-9]+>"), Mode: "pass_through_deny", Upstream: rule.Upstream{URLParsed: u}} - for k, tc := range []struct { + for _, tc := range []struct { url string code int messages []string @@ -305,9 +311,34 @@ func TestProxy(t *testing.T) { }}, code: http.StatusInternalServerError, }, + { + d: "should not remove headers set by the mutator that are defined in the connection header", + url: ts.URL + "/", + rulesRegexp: []rule.Rule{{ + Match: &rule.Match{Methods: []string{"GET"}, URL: ts.URL + "/"}, + Authenticators: []rule.Handler{{Handler: "noop"}}, + Authorizer: rule.Handler{Handler: "allow"}, + Mutators: []rule.Handler{{Handler: "header", Config: json.RawMessage(`{"headers":{"X-Arbitrary":"foo"}}`)}}, + Upstream: rule.Upstream{URL: backend.URL}, + }}, + rulesGlob: []rule.Rule{{ + Match: &rule.Match{Methods: []string{"GET"}, URL: ts.URL + "/"}, + Authenticators: []rule.Handler{{Handler: "noop"}}, + Authorizer: rule.Handler{Handler: "allow"}, + Mutators: []rule.Handler{{Handler: "header", Config: json.RawMessage(`{"headers":{"X-Arbitrary":"foo"}}`)}}, + Upstream: rule.Upstream{URL: backend.URL}, + }}, + code: http.StatusOK, + messages: []string{ + "header X-Arbitrary=foo", + }, + transform: func(r *http.Request) { + r.Header.Set("Connection", "x-arbitrary") + }, + }, } { - t.Run(fmt.Sprintf("case=%d/description=%s", k, tc.d), func(t *testing.T) { - testFunc := func(strategy configuration.MatchingStrategy, rules []rule.Rule) { + t.Run(fmt.Sprintf("description=%s", tc.d), func(t *testing.T) { + testFunc := func(t *testing.T, strategy configuration.MatchingStrategy, rules []rule.Rule) { reg.RuleRepository().(*rule.RepositoryMemory).WithRules(rules) require.NoError(t, reg.RuleRepository().SetMatchingStrategy(context.Background(), strategy)) @@ -320,7 +351,7 @@ func TestProxy(t *testing.T) { res, err := http.DefaultClient.Do(req) require.NoError(t, err) - greeting, err := ioutil.ReadAll(res.Body) + greeting, err := io.ReadAll(res.Body) require.NoError(t, res.Body.Close()) require.NoError(t, err) @@ -335,11 +366,11 @@ backend_url=%s } - t.Run("regexp", func(*testing.T) { - testFunc(configuration.Regexp, tc.rulesRegexp) + t.Run("regexp", func(t *testing.T) { + testFunc(t, configuration.Regexp, tc.rulesRegexp) }) - t.Run("glob", func(*testing.T) { - testFunc(configuration.Glob, tc.rulesGlob) + t.Run("glob", func(t *testing.T) { + testFunc(t, configuration.Glob, tc.rulesGlob) }) }) @@ -412,25 +443,34 @@ func TestConfigureBackendURL(t *testing.T) { func TestEnrichRequestedURL(t *testing.T) { for k, tc := range []struct { - in *http.Request + req *httputil.ProxyRequest expect url.URL }{ { - in: &http.Request{Host: "test", TLS: &tls.ConnectionState{}, URL: new(url.URL)}, + req: &httputil.ProxyRequest{ + In: &http.Request{Host: "test", TLS: &tls.ConnectionState{}, URL: new(url.URL)}, + Out: &http.Request{Host: "test", TLS: &tls.ConnectionState{}, URL: new(url.URL)}, + }, expect: url.URL{Scheme: "https", Host: "test"}, }, { - in: &http.Request{Host: "test", URL: new(url.URL)}, + req: &httputil.ProxyRequest{ + In: &http.Request{Host: "test", URL: new(url.URL)}, + Out: &http.Request{Host: "test", URL: new(url.URL)}, + }, expect: url.URL{Scheme: "http", Host: "test"}, }, { - in: &http.Request{Host: "test", Header: http.Header{"X-Forwarded-Proto": {"https"}}, URL: new(url.URL)}, + req: &httputil.ProxyRequest{ + In: &http.Request{Host: "test", Header: http.Header{"X-Forwarded-Proto": {"https"}}, URL: new(url.URL)}, + Out: &http.Request{Host: "test", URL: new(url.URL)}, + }, expect: url.URL{Scheme: "https", Host: "test"}, }, } { t.Run(fmt.Sprintf("case=%d", k), func(t *testing.T) { - proxy.EnrichRequestedURL(tc.in) - assert.EqualValues(t, tc.expect, *tc.in.URL) + proxy.EnrichRequestedURL(tc.req) + assert.EqualValues(t, tc.expect, *tc.req.Out.URL) }) } } diff --git a/test/forwarded-header/rules.1.json b/test/forwarded-header/rules.1.json index f1d1d0ec02..b1bfaa83cb 100644 --- a/test/forwarded-header/rules.1.json +++ b/test/forwarded-header/rules.1.json @@ -2,7 +2,8 @@ { "id": "test-rule-http", "upstream": { - "url": "https://httpbin.org/anything/" + "url": "https://example.com/", + "strip_path": "http" }, "match": { "url": "http://127.0.0.1:6060/http", @@ -25,7 +26,8 @@ { "id": "test-rule-https", "upstream": { - "url": "https://httpbin.org/anything/" + "url": "https://example.com/", + "strip_path": "https" }, "match": { "url": "https://127.0.0.1:6060/https", diff --git a/test/forwarded-header/run.sh b/test/forwarded-header/run.sh index 6f04c47c65..6b206f5572 100755 --- a/test/forwarded-header/run.sh +++ b/test/forwarded-header/run.sh @@ -18,18 +18,13 @@ waitport() { cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" -export GO111MODULE=on - -[[ "$(command -v oathkeeper)" == "" ]] && - (cd ../../; make install) - run_oathkekeper() { killall oathkeeper || true export OATHKEEPER_PROXY=http://127.0.0.1:6060 export OATHKEEPER_API=http://127.0.0.1:6061 - LOG_LEVEL=debug oathkeeper --config ./config.yaml serve >> ./oathkeeper.log 2>&1 & + LOG_LEVEL=debug go run ../.. --config ./config.yaml serve > ./oathkeeper.log 2>&1 & waitport 6060 waitport 6061 @@ -61,9 +56,13 @@ run_test() { } function finish { + echo ::group::Config cat ./config.yaml cat ./rules.1.json + echo ::endgroup:: + echo ::group::Log cat ./oathkeeper.log + echo ::endgroup:: } trap finish EXIT From 2fd6a84716b28e40f9f25ed68816cd4a725ed0d8 Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Tue, 25 Apr 2023 13:33:53 +0000 Subject: [PATCH 18/63] autogen(docs): regenerate and update changelog [skip ci] --- CHANGELOG.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 1f1a634a8d..537d09ef51 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ **Table of Contents** -- [0.0.0 (2023-04-17)](#000-2023-04-17) +- [0.0.0 (2023-04-25)](#000-2023-04-25) - [Bug Fixes](#bug-fixes) - [Features](#features) - [0.40.2 (2023-03-15)](#0402-2023-03-15) @@ -316,7 +316,7 @@ -# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.2...v0.0.0) (2023-04-17) +# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.2...v0.0.0) (2023-04-25) ### Bug Fixes @@ -326,6 +326,9 @@ - Sqa config values unified across projects ([#1094](https://github.com/ory/oathkeeper/issues/1094)) ([9374d2f](https://github.com/ory/oathkeeper/commit/9374d2f8646e673eaf8fd228cda8a156fe0c3cd4)) +- Switch to `httputil.ReverseProxy.Rewrite` + ([#1098](https://github.com/ory/oathkeeper/issues/1098)) + ([c5cc7f7](https://github.com/ory/oathkeeper/commit/c5cc7f736dc84185034be4356057d1c7a656d797)) ### Features From 2ab7687217d683f1a8d863cb5c96077c9c286767 Mon Sep 17 00:00:00 2001 From: Patrik Date: Tue, 25 Apr 2023 15:47:27 +0200 Subject: [PATCH 19/63] autogen: pin v0.40.3 release commit From af5ce296f21768d0bc4573fc9bf1a34d32355155 Mon Sep 17 00:00:00 2001 From: Patrik Date: Wed, 26 Apr 2023 09:43:45 +0200 Subject: [PATCH 20/63] test: use reliable upstream server (#1099) --- .github/workflows/ci.yml | 6 ------ test/e2e/run.sh | 19 ++++++++----------- test/forwarded-header/run.sh | 3 ++- test/reload/rules.1.json | 3 ++- test/reload/rules.2.json | 3 ++- test/reload/rules.3.1.json | 3 ++- test/reload/rules.3.2.json | 3 ++- test/reload/run.sh | 10 ++++++---- 8 files changed, 24 insertions(+), 26 deletions(-) diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 7ee38c1561..cee35c656c 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -71,13 +71,7 @@ jobs: - uses: actions/setup-go@v2 with: go-version: "1.20" - - uses: actions/cache@v2 - with: - path: ~/go/bin/oathkeeper - key: oathkeeper-${{ hashFiles('~/go/bin/oathkeeper') }} - run: | - make install - go version -m $(which oathkeeper) | grep "\w*build" ./test/${{ matrix.name }}/run.sh docs-cli: diff --git a/test/e2e/run.sh b/test/e2e/run.sh index dcdda7727e..9b81927e34 100755 --- a/test/e2e/run.sh +++ b/test/e2e/run.sh @@ -22,32 +22,29 @@ killall oathkeeper || true killall okapi || true killall okclient || true -OATHKEEPER="go run ../.." -OKAPI="go run ./okapi" -OKCLIENT="go run ./okclient" - export OATHKEEPER_PROXY=http://127.0.0.1:6660 export OATHKEEPER_API=http://127.0.0.1:6661 export GO111MODULE=on -[[ "$(command -v oathkeeper)" == "" ]] && - (cd ../../; make install) - -$OATHKEEPER --config ./config.yml serve > ./oathkeeper.e2e.log 2>&1 & -PORT=6662 $OKAPI > ./api.e2e.log 2>&1 & +go build -o . ../.. +./oathkeeper --config ./config.yml serve > ./oathkeeper.e2e.log 2>&1 & +PORT=6662 go run ./okapi > ./api.e2e.log 2>&1 & waitport 6660 waitport 6661 waitport 6662 function finish { + echo ::group::Oathkeeper Log cat ./oathkeeper.e2e.log - echo "-----" + echo ::endgroup:: + echo ::group::OK API Log cat ./api.e2e.log + echo ::endgroup:: } trap finish EXIT -$OKCLIENT +go run ./okclient kill %1 || true kill %2 || true diff --git a/test/forwarded-header/run.sh b/test/forwarded-header/run.sh index 6b206f5572..7d674933f4 100755 --- a/test/forwarded-header/run.sh +++ b/test/forwarded-header/run.sh @@ -24,7 +24,8 @@ run_oathkekeper() { export OATHKEEPER_PROXY=http://127.0.0.1:6060 export OATHKEEPER_API=http://127.0.0.1:6061 - LOG_LEVEL=debug go run ../.. --config ./config.yaml serve > ./oathkeeper.log 2>&1 & + go build -o . ../.. + LOG_LEVEL=debug ./oathkeeper --config ./config.yaml serve > ./oathkeeper.log 2>&1 & waitport 6060 waitport 6061 diff --git a/test/reload/rules.1.json b/test/reload/rules.1.json index 3d6532e210..36f216e53e 100644 --- a/test/reload/rules.1.json +++ b/test/reload/rules.1.json @@ -2,7 +2,8 @@ { "id": "test-rule-1", "upstream": { - "url": "https://httpbin.org/anything/" + "url": "https://example.com/", + "strip_path": "/rules" }, "match": { "url": "http://127.0.0.1:6060/rules", diff --git a/test/reload/rules.2.json b/test/reload/rules.2.json index 8bd68d76de..5f76bfbaa1 100644 --- a/test/reload/rules.2.json +++ b/test/reload/rules.2.json @@ -2,7 +2,8 @@ { "id": "test-rule-1", "upstream": { - "url": "https://httpbin.org/anything/" + "url": "https://example.com/", + "strip_path": "/rules" }, "match": { "url": "http://127.0.0.1:6060/rules", diff --git a/test/reload/rules.3.1.json b/test/reload/rules.3.1.json index 9610a468e5..21bda0fa64 100644 --- a/test/reload/rules.3.1.json +++ b/test/reload/rules.3.1.json @@ -2,7 +2,8 @@ { "id": "test-rule-2", "upstream": { - "url": "https://httpbin.org/anything/" + "url": "https://example.com/", + "strip_path": "/other-rules" }, "match": { "url": "http://127.0.0.1:6060/other-rules", diff --git a/test/reload/rules.3.2.json b/test/reload/rules.3.2.json index 842cdc0bf1..b2820f02b6 100644 --- a/test/reload/rules.3.2.json +++ b/test/reload/rules.3.2.json @@ -2,7 +2,8 @@ { "id": "test-rule-2", "upstream": { - "url": "https://httpbin.org/anything/" + "url": "https://example.com/", + "strip_path": "/other-rules" }, "match": { "url": "http://127.0.0.1:6060/other-rules", diff --git a/test/reload/run.sh b/test/reload/run.sh index c5427468da..547da42a93 100755 --- a/test/reload/run.sh +++ b/test/reload/run.sh @@ -23,21 +23,23 @@ export OATHKEEPER_PROXY=http://127.0.0.1:6060 export OATHKEEPER_API=http://127.0.0.1:6061 export GO111MODULE=on -[[ "$(command -v oathkeeper)" == "" ]] && - (cd ../../; make install) - cp config.1.yaml config.yaml -LOG_LEVEL=debug oathkeeper --config ./config.yaml serve >> ./oathkeeper.log 2>&1 & +go build -o . ../.. +LOG_LEVEL=debug ./oathkeeper --config ./config.yaml serve > ./oathkeeper.log 2>&1 & waitport 6060 waitport 6061 function finish { killall oathkeeper || true + echo ::group::Config cat ./config.yaml cat ./rules.3.json || true + echo ::endgroup:: + echo ::group::Log cat ./oathkeeper.log + echo ::endgroup:: } trap finish EXIT From b7c57ca1e636c56367217f78807558f8466e5142 Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Wed, 26 Apr 2023 07:49:11 +0000 Subject: [PATCH 21/63] autogen(docs): regenerate and update changelog [skip ci] --- CHANGELOG.md | 90 +++++++++++++++++++++++++++++++--------------------- 1 file changed, 54 insertions(+), 36 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 537d09ef51..a7560fc9ba 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,141 +5,144 @@ **Table of Contents** -- [0.0.0 (2023-04-25)](#000-2023-04-25) +- [0.0.0 (2023-04-26)](#000-2023-04-26) + - [Tests](#tests) +- [0.40.3 (2023-04-25)](#0403-2023-04-25) - [Bug Fixes](#bug-fixes) + - [Code Generation](#code-generation) - [Features](#features) - [0.40.2 (2023-03-15)](#0402-2023-03-15) - [Bug Fixes](#bug-fixes-1) - - [Code Generation](#code-generation) + - [Code Generation](#code-generation-1) - [Documentation](#documentation) - [Features](#features-1) - [0.40.1 (2023-01-17)](#0401-2023-01-17) - [Bug Fixes](#bug-fixes-2) - - [Code Generation](#code-generation-1) + - [Code Generation](#code-generation-2) - [Documentation](#documentation-1) - [Features](#features-2) - - [Tests](#tests) + - [Tests](#tests-1) - [0.40.0 (2022-09-14)](#0400-2022-09-14) - [Bug Fixes](#bug-fixes-3) - - [Code Generation](#code-generation-2) + - [Code Generation](#code-generation-3) - [Code Refactoring](#code-refactoring) - [Features](#features-3) - - [Tests](#tests-1) + - [Tests](#tests-2) - [0.39.4 (2022-08-31)](#0394-2022-08-31) - - [Code Generation](#code-generation-3) + - [Code Generation](#code-generation-4) - [Unclassified](#unclassified) - [0.39.3 (2022-08-18)](#0393-2022-08-18) - - [Code Generation](#code-generation-4) -- [0.39.3-pre.0 (2022-08-18)](#0393-pre0-2022-08-18) - [Code Generation](#code-generation-5) +- [0.39.3-pre.0 (2022-08-18)](#0393-pre0-2022-08-18) + - [Code Generation](#code-generation-6) - [0.39.2 (2022-08-18)](#0392-2022-08-18) - [Bug Fixes](#bug-fixes-4) - - [Code Generation](#code-generation-6) + - [Code Generation](#code-generation-7) - [Documentation](#documentation-2) - [Features](#features-4) - [0.39.0 (2022-06-27)](#0390-2022-06-27) - [Breaking Changes](#breaking-changes) - [Bug Fixes](#bug-fixes-5) - - [Code Generation](#code-generation-7) + - [Code Generation](#code-generation-8) - [Features](#features-5) - [0.38.25-beta.1 (2022-04-13)](#03825-beta1-2022-04-13) - [Bug Fixes](#bug-fixes-6) - - [Code Generation](#code-generation-8) + - [Code Generation](#code-generation-9) - [Documentation](#documentation-3) - [0.38.24-beta.1 (2022-04-06)](#03824-beta1-2022-04-06) - - [Code Generation](#code-generation-9) + - [Code Generation](#code-generation-10) - [Features](#features-6) - [0.38.23-beta.1 (2022-02-24)](#03823-beta1-2022-02-24) - - [Code Generation](#code-generation-10) + - [Code Generation](#code-generation-11) - [Features](#features-7) - [0.38.22-beta.1 (2022-02-23)](#03822-beta1-2022-02-23) - [Bug Fixes](#bug-fixes-7) - - [Code Generation](#code-generation-11) + - [Code Generation](#code-generation-12) - [0.38.20-beta.1 (2022-02-14)](#03820-beta1-2022-02-14) - [Bug Fixes](#bug-fixes-8) - - [Code Generation](#code-generation-12) + - [Code Generation](#code-generation-13) - [Code Refactoring](#code-refactoring-1) - [Documentation](#documentation-4) - [Features](#features-8) - [0.38.19-beta.1 (2022-02-04)](#03819-beta1-2022-02-04) - [Bug Fixes](#bug-fixes-9) - - [Code Generation](#code-generation-13) + - [Code Generation](#code-generation-14) - [Documentation](#documentation-5) - [Features](#features-9) - [0.38.17-beta.1 (2022-02-03)](#03817-beta1-2022-02-03) - [Continuous Integration](#continuous-integration) - [0.38.18-beta.1 (2022-02-03)](#03818-beta1-2022-02-03) - [Bug Fixes](#bug-fixes-10) - - [Code Generation](#code-generation-14) + - [Code Generation](#code-generation-15) - [Documentation](#documentation-6) - [Features](#features-10) - - [Tests](#tests-2) + - [Tests](#tests-3) - [Unclassified](#unclassified-1) - [0.38.15-beta.1 (2021-08-28)](#03815-beta1-2021-08-28) - [Bug Fixes](#bug-fixes-11) - - [Code Generation](#code-generation-15) + - [Code Generation](#code-generation-16) - [Documentation](#documentation-7) - [Features](#features-11) - [0.38.14-beta.1 (2021-07-14)](#03814-beta1-2021-07-14) - [Bug Fixes](#bug-fixes-12) - - [Code Generation](#code-generation-16) + - [Code Generation](#code-generation-17) - [Documentation](#documentation-8) - [Features](#features-12) - [Reverts](#reverts) - [0.38.12-beta.1 (2021-06-22)](#03812-beta1-2021-06-22) - [Bug Fixes](#bug-fixes-13) - - [Code Generation](#code-generation-17) + - [Code Generation](#code-generation-18) - [Features](#features-13) - - [Tests](#tests-3) + - [Tests](#tests-4) - [Unclassified](#unclassified-2) - [0.38.11-beta.1 (2021-05-13)](#03811-beta1-2021-05-13) - [Bug Fixes](#bug-fixes-14) - - [Code Generation](#code-generation-18) + - [Code Generation](#code-generation-19) - [Reverts](#reverts-1) - [0.38.10-beta.2 (2021-05-05)](#03810-beta2-2021-05-05) - [Bug Fixes](#bug-fixes-15) - - [Code Generation](#code-generation-19) + - [Code Generation](#code-generation-20) - [Code Refactoring](#code-refactoring-2) - [Documentation](#documentation-9) - [Features](#features-14) - [0.38.9-beta.1 (2021-03-17)](#0389-beta1-2021-03-17) - - [Code Generation](#code-generation-20) + - [Code Generation](#code-generation-21) - [0.38.9-beta.1.pre.3 (2021-03-16)](#0389-beta1pre3-2021-03-16) - [Bug Fixes](#bug-fixes-16) - - [Code Generation](#code-generation-21) -- [0.38.9-beta.1.pre.2 (2021-03-15)](#0389-beta1pre2-2021-03-15) - [Code Generation](#code-generation-22) +- [0.38.9-beta.1.pre.2 (2021-03-15)](#0389-beta1pre2-2021-03-15) + - [Code Generation](#code-generation-23) - [0.38.9-beta.1.pre.1 (2021-03-15)](#0389-beta1pre1-2021-03-15) - [Bug Fixes](#bug-fixes-17) - - [Code Generation](#code-generation-23) + - [Code Generation](#code-generation-24) - [Unclassified](#unclassified-3) - [0.38.8-beta.1 (2021-02-25)](#0388-beta1-2021-02-25) - [Bug Fixes](#bug-fixes-18) - - [Code Generation](#code-generation-24) + - [Code Generation](#code-generation-25) - [Unclassified](#unclassified-4) - [0.38.7-beta.1 (2021-02-22)](#0387-beta1-2021-02-22) - [Bug Fixes](#bug-fixes-19) - - [Code Generation](#code-generation-25) + - [Code Generation](#code-generation-26) - [Features](#features-15) - [0.38.6-beta.1 (2021-01-27)](#0386-beta1-2021-01-27) - - [Code Generation](#code-generation-26) + - [Code Generation](#code-generation-27) - [Documentation](#documentation-10) - [Features](#features-16) - [0.38.5-beta.1 (2020-12-10)](#0385-beta1-2020-12-10) - [Bug Fixes](#bug-fixes-20) - - [Code Generation](#code-generation-27) + - [Code Generation](#code-generation-28) - [Documentation](#documentation-11) - [Features](#features-17) - [Unclassified](#unclassified-5) - [0.38.4-beta.1 (2020-09-28)](#0384-beta1-2020-09-28) - [Bug Fixes](#bug-fixes-21) - - [Code Generation](#code-generation-28) + - [Code Generation](#code-generation-29) - [Documentation](#documentation-12) - [Features](#features-18) - [Unclassified](#unclassified-6) - [0.38.3-beta.1 (2020-07-29)](#0383-beta1-2020-07-29) - [Bug Fixes](#bug-fixes-22) - - [Code Generation](#code-generation-29) + - [Code Generation](#code-generation-30) - [Documentation](#documentation-13) - [Features](#features-19) - [0.38.2-beta.1 (2020-05-25)](#0382-beta1-2020-05-25) @@ -316,7 +319,17 @@ -# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.2...v0.0.0) (2023-04-25) +# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.3...v0.0.0) (2023-04-26) + +### Tests + +- Use reliable upstream server + ([#1099](https://github.com/ory/oathkeeper/issues/1099)) + ([af5ce29](https://github.com/ory/oathkeeper/commit/af5ce296f21768d0bc4573fc9bf1a34d32355155)) + +# [0.40.3](https://github.com/ory/oathkeeper/compare/v0.40.2...v0.40.3) (2023-04-25) + +This release fixes a low-severity security vulnerability. ### Bug Fixes @@ -330,6 +343,11 @@ ([#1098](https://github.com/ory/oathkeeper/issues/1098)) ([c5cc7f7](https://github.com/ory/oathkeeper/commit/c5cc7f736dc84185034be4356057d1c7a656d797)) +### Code Generation + +- Pin v0.40.3 release commit + ([2ab7687](https://github.com/ory/oathkeeper/commit/2ab7687217d683f1a8d863cb5c96077c9c286767)) + ### Features - Tracing for gRPC middleware From 48c90c16e332b9038c959904c58c22f3e17f0833 Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Wed, 26 Apr 2023 17:02:11 +0000 Subject: [PATCH 22/63] autogen(docs): generate and bump docs [skip ci] From 12d0aeafcf18b19bb2524beacc0d44aa639d5165 Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Wed, 26 Apr 2023 17:03:16 +0000 Subject: [PATCH 23/63] autogen: add v0.40.3 to version.schema.json [skip ci] --- .schema/version.schema.json | 391 ++++++++++++++++++++---------------- 1 file changed, 217 insertions(+), 174 deletions(-) diff --git a/.schema/version.schema.json b/.schema/version.schema.json index e7f4707cca..0a3fad47d3 100644 --- a/.schema/version.schema.json +++ b/.schema/version.schema.json @@ -1,201 +1,244 @@ { - "$id": "https://github.com/ory/oathkeeper/.schema/version.schema.json", - "$schema": "http://json-schema.org/draft-07/schema#", - "oneOf": [ - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.2" - } - }, - "required": ["version"] + "$id": "https://github.com/ory/oathkeeper/.schema/version.schema.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "oneOf": [ + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.3" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.3/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.2/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.2" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.2/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.1/spec/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.0" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.1/spec/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.0/spec/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.4-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.0" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.0/spec/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.4-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.5-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.4-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.4-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.5-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.9-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.5-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.5-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.9-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.14-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.9-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.9-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.14-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.15-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.14-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.14-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.15-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.17-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.15-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.15-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.17-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.19-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.17-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.17-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.19-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.20-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.19-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.19-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.20-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "oneOf": [ - { - "properties": { - "version": { - "type": "string", - "maxLength": 0 - } - }, - "required": ["version"] - }, - { - "not": { - "properties": { - "version": {} + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.20-beta.1" + } + }, + "required": [ + "version" + ] }, - "required": ["version"] - } - } - ] + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.20-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "#/oneOf/0/allOf/1" + "allOf": [ + { + "oneOf": [ + { + "properties": { + "version": { + "type": "string", + "maxLength": 0 + } + }, + "required": [ + "version" + ] + }, + { + "not": { + "properties": { + "version": {} + }, + "required": [ + "version" + ] + } + } + ] + }, + { + "$ref": "#/oneOf/0/allOf/1" + } + ] } - ] - } - ], - "title": "All Versions of the ORY Oathkeeper Configuration", - "type": "object" -} + ], + "title": "All Versions of the ORY Oathkeeper Configuration", + "type": "object" +} \ No newline at end of file From d9b096595f1a6ea65604da11c7f6e2040100396d Mon Sep 17 00:00:00 2001 From: Josh Mills Date: Thu, 25 May 2023 09:35:50 +0100 Subject: [PATCH 24/63] fix: ensure logger uses config (#1104) --- driver/configuration/provider_koanf.go | 2 ++ 1 file changed, 2 insertions(+) diff --git a/driver/configuration/provider_koanf.go b/driver/configuration/provider_koanf.go index 2e22a45084..1275f2e496 100644 --- a/driver/configuration/provider_koanf.go +++ b/driver/configuration/provider_koanf.go @@ -93,6 +93,8 @@ func NewKoanfProvider(ctx context.Context, flags *pflag.FlagSet, l *logrusx.Logg return nil, err } + l.UseConfig(kp.source) + for k, v := range kp.source.All() { l.Infof("Loaded config: %v = %v", k, v) } From 327640845941be250c83854cdaa1a1b20ebb9e64 Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Thu, 25 May 2023 08:44:01 +0000 Subject: [PATCH 25/63] autogen(openapi): regenerate swagger spec and internal client [skip ci] --- .schema/version.schema.json | 406 +++++++++++++++++------------------- 1 file changed, 189 insertions(+), 217 deletions(-) diff --git a/.schema/version.schema.json b/.schema/version.schema.json index 0a3fad47d3..fa395b396d 100644 --- a/.schema/version.schema.json +++ b/.schema/version.schema.json @@ -1,244 +1,216 @@ { - "$id": "https://github.com/ory/oathkeeper/.schema/version.schema.json", - "$schema": "http://json-schema.org/draft-07/schema#", - "oneOf": [ - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.3" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.3/.schema/config.schema.json" - } - ] + "$id": "https://github.com/ory/oathkeeper/.schema/version.schema.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "oneOf": [ + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.3" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.2" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.2/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.3/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.2" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.1/spec/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.2/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.0" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.0/spec/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.1/spec/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.0" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.4-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.4-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.0/spec/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.4-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.5-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.5-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.4-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.5-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.9-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.9-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.5-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.9-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.14-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.14-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.9-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.14-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.15-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.15-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.14-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.15-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.17-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.17-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.15-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.17-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.19-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.19-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.17-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.19-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.20-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.20-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.19-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.20-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "oneOf": [ - { - "properties": { - "version": { - "type": "string", - "maxLength": 0 - } - }, - "required": [ - "version" - ] - }, - { - "not": { - "properties": { - "version": {} - }, - "required": [ - "version" - ] - } - } - ] - }, - { - "$ref": "#/oneOf/0/allOf/1" + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.20-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "oneOf": [ + { + "properties": { + "version": { + "type": "string", + "maxLength": 0 } - ] + }, + "required": ["version"] + }, + { + "not": { + "properties": { + "version": {} + }, + "required": ["version"] + } + } + ] + }, + { + "$ref": "#/oneOf/0/allOf/1" } - ], - "title": "All Versions of the ORY Oathkeeper Configuration", - "type": "object" -} \ No newline at end of file + ] + } + ], + "title": "All Versions of the ORY Oathkeeper Configuration", + "type": "object" +} From 1857ba35c475602d16d9fcf2b8c62d801957e5d7 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20B=C5=82aszczyk?= Date: Tue, 30 May 2023 14:20:17 +0200 Subject: [PATCH 26/63] chore: update security scanners (#1107) --- .github/workflows/cve-scan.yaml | 67 ++++++++++++++++----------------- Dockerfile | 8 +++- Dockerfile-alpine | 5 ++- Dockerfile-dc | 17 +++++++-- Makefile | 11 +++--- 5 files changed, 61 insertions(+), 47 deletions(-) diff --git a/.github/workflows/cve-scan.yaml b/.github/workflows/cve-scan.yaml index 22b1229faa..e17ea70eda 100644 --- a/.github/workflows/cve-scan.yaml +++ b/.github/workflows/cve-scan.yaml @@ -14,74 +14,71 @@ jobs: runs-on: ubuntu-latest steps: - name: Checkout - uses: actions/checkout@v2 + uses: actions/checkout@v3 - name: Setup Env id: vars shell: bash run: | - echo "##[set-output name=branch;]$(echo ${GITHUB_REF#refs/heads/})" - echo "::set-output name=sha_short::$(git rev-parse --short HEAD)" + echo "SHA_SHORT=$(git rev-parse --short HEAD)" >> "${GITHUB_ENV}" - name: Set up QEMU - uses: docker/setup-qemu-action@v1 + uses: docker/setup-qemu-action@v2 - name: Set up Docker Buildx - uses: docker/setup-buildx-action@v1 + uses: docker/setup-buildx-action@v2 - name: Build images shell: bash run: | - touch oathkeeper - DOCKER_BUILDKIT=1 docker build -t oryd/oathkeeper:${{ steps.vars.outputs.sha_short }} --build-arg=COMMIT=${{ steps.vars.outputs.sha_short }} . - DOCKER_BUILDKIT=1 docker build -t oryd/oathkeeper:alpine-${{ steps.vars.outputs.sha_short }} --build-arg=COMMIT=${{ steps.vars.outputs.sha_short }} -f Dockerfile-alpine . - rm oathkeeper + IMAGE_TAG="${{ env.SHA_SHORT }}" make docker - name: Anchore Scanner uses: anchore/scan-action@v3 id: grype-scan with: - image: oryd/oathkeeper:${{ steps.vars.outputs.sha_short }} + image: oryd/oathkeeper:${{ env.SHA_SHORT }}-alpine fail-build: true severity-cutoff: high - debug: false - acs-report-enable: true - - name: Anchore Scanner - uses: anchore/scan-action@v3 - id: grype-scan-alpine - with: - image: oryd/oathkeeper:alpine-${{ steps.vars.outputs.sha_short }} - fail-build: true - severity-cutoff: high - debug: false - acs-report-enable: true + add-cpes-if-none: true - name: Inspect action SARIF report shell: bash if: ${{ always() }} run: | echo "::group::Anchore Scan Details" jq '.runs[0].results' ${{ steps.grype-scan.outputs.sarif }} - jq '.runs[0].results' ${{ steps.grype-scan-alpine.outputs.sarif }} echo "::endgroup::" - - name: Trivy Scanner - uses: aquasecurity/trivy-action@master - if: ${{ always() }} + - name: Anchore upload scan SARIF report + if: always() + uses: github/codeql-action/upload-sarif@v2 with: - image-ref: oryd/oathkeeper:${{ steps.vars.outputs.sha_short }} - format: "table" - exit-code: "42" - ignore-unfixed: true - vuln-type: "os,library" - severity: "CRITICAL,HIGH" - - name: Trivy Scanner 2 + sarif_file: ${{ steps.grype-scan.outputs.sarif }} + - name: Trivy Scanner uses: aquasecurity/trivy-action@master if: ${{ always() }} with: - image-ref: oryd/oathkeeper:alpine-${{ steps.vars.outputs.sha_short }} + image-ref: oryd/oathkeeper:${{ env.SHA_SHORT }}-alpine format: "table" exit-code: "42" ignore-unfixed: true vuln-type: "os,library" severity: "CRITICAL,HIGH" + scanners: "vuln,secret,config" - name: Dockle Linter uses: erzz/dockle-action@v1.3.2 if: ${{ always() }} with: - image: oryd/oathkeeper:${{ steps.vars.outputs.sha_short }} + image: oryd/oathkeeper:${{ env.SHA_SHORT }}-alpine exit-code: 42 - failure-threshold: fatal + failure-threshold: high + - name: Hadolint + uses: hadolint/hadolint-action@v3.1.0 + id: hadolint + if: ${{ always() }} + with: + dockerfile: Dockerfile-alpine + verbose: true + format: "json" + failure-threshold: "error" + - name: View Hadolint results + if: ${{ always() }} + shell: bash + run: | + echo "::group::Hadolint Scan Details" + echo "${HADOLINT_RESULTS}" | jq '.' + echo "::endgroup::" diff --git a/Dockerfile b/Dockerfile index 6e3d7cc12e..1c7a0f747a 100644 --- a/Dockerfile +++ b/Dockerfile @@ -1,16 +1,20 @@ # To compile this image manually run: # # $ make docker -FROM alpine:3.17.3 +FROM alpine:3.18 as base RUN apk --no-cache --update-cache --upgrade --latest add ca-certificates +############# FROM scratch -COPY --from=0 /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ +COPY --from=base /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ COPY oathkeeper /usr/bin/oathkeeper USER 1000 +EXPOSE 4455 +EXPOSE 4456 + ENTRYPOINT ["oathkeeper"] CMD ["serve"] diff --git a/Dockerfile-alpine b/Dockerfile-alpine index d50f844cb0..ee5e0bfe8c 100644 --- a/Dockerfile-alpine +++ b/Dockerfile-alpine @@ -1,7 +1,7 @@ # To compile this image manually run: # # $ make docker -FROM alpine:3.17.3 +FROM alpine:3.18 RUN addgroup -S ory; \ adduser -S ory -G ory -D -H -s /bin/nologin @@ -11,5 +11,8 @@ COPY oathkeeper /usr/bin/oathkeeper USER ory +EXPOSE 4455 +EXPOSE 4456 + ENTRYPOINT ["oathkeeper"] CMD ["serve"] diff --git a/Dockerfile-dc b/Dockerfile-dc index af3e9cf111..e3e6e43f8b 100644 --- a/Dockerfile-dc +++ b/Dockerfile-dc @@ -1,17 +1,26 @@ -FROM golang:1.19-alpine3.17 +FROM golang:1.20-alpine3.18 AS builder RUN addgroup -S ory; \ adduser -S ory -G ory -D -H -s /bin/nologin RUN apk --no-cache --update-cache --upgrade --latest add ca-certificates -ADD . /app +COPY . /app WORKDIR /app ENV GO111MODULE on RUN go mod download && go mod tidy RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build -USER ory +############ +FROM alpine:3.18 AS runner -ENTRYPOINT ["/app/oathkeeper"] +RUN apk --no-cache --update-cache --upgrade --latest add ca-certificates + +COPY --from=builder /app/oathkeeper /usr/bin/oathkeeper +USER 1000 + +EXPOSE 4455 +EXPOSE 4456 + +ENTRYPOINT ["/usr/bin/oathkeeper"] CMD ["serve"] diff --git a/Makefile b/Makefile index 3d1d57e588..82029a7a3c 100644 --- a/Makefile +++ b/Makefile @@ -1,8 +1,9 @@ SHELL=/bin/bash -o pipefail -export GO111MODULE := on -export PATH := .bin:${PATH} -export PWD := $(shell pwd) +export GO111MODULE := on +export PATH := .bin:${PATH} +export PWD := $(shell pwd) +export IMAGE_TAG := $(if $(IMAGE_TAG),$(IMAGE_TAG),dev) GO_DEPENDENCIES = github.com/ory/go-acc \ github.com/go-swagger/go-swagger/cmd/swagger \ @@ -82,8 +83,8 @@ install: .PHONY: docker docker: CGO_ENABLED=0 GO111MODULE=on GOOS=linux GOARCH=amd64 go build - docker build -t oryd/oathkeeper:dev . - docker build -t oryd/oathkeeper:dev-alpine -f Dockerfile-alpine . + DOCKER_BUILDKIT=1 DOCKER_CONTENT_TRUST=1 docker build -t oryd/oathkeeper:${IMAGE_TAG} --progress=plain . + DOCKER_BUILDKIT=1 DOCKER_CONTENT_TRUST=1 docker build -t oryd/oathkeeper:${IMAGE_TAG}-alpine --progress=plain -f Dockerfile-alpine . rm oathkeeper docs/cli: .bin/clidoc From 9275dcd4d84f498470d7b75faf4af98d1dcf7478 Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Tue, 30 May 2023 12:33:19 +0000 Subject: [PATCH 27/63] autogen(docs): regenerate and update changelog [skip ci] --- CHANGELOG.md | 67 +++++++++++++++++++++++++++++----------------------- 1 file changed, 37 insertions(+), 30 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index a7560fc9ba..75bb7256a9 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,25 +5,26 @@ **Table of Contents** -- [0.0.0 (2023-04-26)](#000-2023-04-26) +- [0.0.0 (2023-05-30)](#000-2023-05-30) + - [Bug Fixes](#bug-fixes) - [Tests](#tests) - [0.40.3 (2023-04-25)](#0403-2023-04-25) - - [Bug Fixes](#bug-fixes) + - [Bug Fixes](#bug-fixes-1) - [Code Generation](#code-generation) - [Features](#features) - [0.40.2 (2023-03-15)](#0402-2023-03-15) - - [Bug Fixes](#bug-fixes-1) + - [Bug Fixes](#bug-fixes-2) - [Code Generation](#code-generation-1) - [Documentation](#documentation) - [Features](#features-1) - [0.40.1 (2023-01-17)](#0401-2023-01-17) - - [Bug Fixes](#bug-fixes-2) + - [Bug Fixes](#bug-fixes-3) - [Code Generation](#code-generation-2) - [Documentation](#documentation-1) - [Features](#features-2) - [Tests](#tests-1) - [0.40.0 (2022-09-14)](#0400-2022-09-14) - - [Bug Fixes](#bug-fixes-3) + - [Bug Fixes](#bug-fixes-4) - [Code Generation](#code-generation-3) - [Code Refactoring](#code-refactoring) - [Features](#features-3) @@ -36,17 +37,17 @@ - [0.39.3-pre.0 (2022-08-18)](#0393-pre0-2022-08-18) - [Code Generation](#code-generation-6) - [0.39.2 (2022-08-18)](#0392-2022-08-18) - - [Bug Fixes](#bug-fixes-4) + - [Bug Fixes](#bug-fixes-5) - [Code Generation](#code-generation-7) - [Documentation](#documentation-2) - [Features](#features-4) - [0.39.0 (2022-06-27)](#0390-2022-06-27) - [Breaking Changes](#breaking-changes) - - [Bug Fixes](#bug-fixes-5) + - [Bug Fixes](#bug-fixes-6) - [Code Generation](#code-generation-8) - [Features](#features-5) - [0.38.25-beta.1 (2022-04-13)](#03825-beta1-2022-04-13) - - [Bug Fixes](#bug-fixes-6) + - [Bug Fixes](#bug-fixes-7) - [Code Generation](#code-generation-9) - [Documentation](#documentation-3) - [0.38.24-beta.1 (2022-04-06)](#03824-beta1-2022-04-06) @@ -56,51 +57,51 @@ - [Code Generation](#code-generation-11) - [Features](#features-7) - [0.38.22-beta.1 (2022-02-23)](#03822-beta1-2022-02-23) - - [Bug Fixes](#bug-fixes-7) + - [Bug Fixes](#bug-fixes-8) - [Code Generation](#code-generation-12) - [0.38.20-beta.1 (2022-02-14)](#03820-beta1-2022-02-14) - - [Bug Fixes](#bug-fixes-8) + - [Bug Fixes](#bug-fixes-9) - [Code Generation](#code-generation-13) - [Code Refactoring](#code-refactoring-1) - [Documentation](#documentation-4) - [Features](#features-8) - [0.38.19-beta.1 (2022-02-04)](#03819-beta1-2022-02-04) - - [Bug Fixes](#bug-fixes-9) + - [Bug Fixes](#bug-fixes-10) - [Code Generation](#code-generation-14) - [Documentation](#documentation-5) - [Features](#features-9) - [0.38.17-beta.1 (2022-02-03)](#03817-beta1-2022-02-03) - [Continuous Integration](#continuous-integration) - [0.38.18-beta.1 (2022-02-03)](#03818-beta1-2022-02-03) - - [Bug Fixes](#bug-fixes-10) + - [Bug Fixes](#bug-fixes-11) - [Code Generation](#code-generation-15) - [Documentation](#documentation-6) - [Features](#features-10) - [Tests](#tests-3) - [Unclassified](#unclassified-1) - [0.38.15-beta.1 (2021-08-28)](#03815-beta1-2021-08-28) - - [Bug Fixes](#bug-fixes-11) + - [Bug Fixes](#bug-fixes-12) - [Code Generation](#code-generation-16) - [Documentation](#documentation-7) - [Features](#features-11) - [0.38.14-beta.1 (2021-07-14)](#03814-beta1-2021-07-14) - - [Bug Fixes](#bug-fixes-12) + - [Bug Fixes](#bug-fixes-13) - [Code Generation](#code-generation-17) - [Documentation](#documentation-8) - [Features](#features-12) - [Reverts](#reverts) - [0.38.12-beta.1 (2021-06-22)](#03812-beta1-2021-06-22) - - [Bug Fixes](#bug-fixes-13) + - [Bug Fixes](#bug-fixes-14) - [Code Generation](#code-generation-18) - [Features](#features-13) - [Tests](#tests-4) - [Unclassified](#unclassified-2) - [0.38.11-beta.1 (2021-05-13)](#03811-beta1-2021-05-13) - - [Bug Fixes](#bug-fixes-14) + - [Bug Fixes](#bug-fixes-15) - [Code Generation](#code-generation-19) - [Reverts](#reverts-1) - [0.38.10-beta.2 (2021-05-05)](#03810-beta2-2021-05-05) - - [Bug Fixes](#bug-fixes-15) + - [Bug Fixes](#bug-fixes-16) - [Code Generation](#code-generation-20) - [Code Refactoring](#code-refactoring-2) - [Documentation](#documentation-9) @@ -108,20 +109,20 @@ - [0.38.9-beta.1 (2021-03-17)](#0389-beta1-2021-03-17) - [Code Generation](#code-generation-21) - [0.38.9-beta.1.pre.3 (2021-03-16)](#0389-beta1pre3-2021-03-16) - - [Bug Fixes](#bug-fixes-16) + - [Bug Fixes](#bug-fixes-17) - [Code Generation](#code-generation-22) - [0.38.9-beta.1.pre.2 (2021-03-15)](#0389-beta1pre2-2021-03-15) - [Code Generation](#code-generation-23) - [0.38.9-beta.1.pre.1 (2021-03-15)](#0389-beta1pre1-2021-03-15) - - [Bug Fixes](#bug-fixes-17) + - [Bug Fixes](#bug-fixes-18) - [Code Generation](#code-generation-24) - [Unclassified](#unclassified-3) - [0.38.8-beta.1 (2021-02-25)](#0388-beta1-2021-02-25) - - [Bug Fixes](#bug-fixes-18) + - [Bug Fixes](#bug-fixes-19) - [Code Generation](#code-generation-25) - [Unclassified](#unclassified-4) - [0.38.7-beta.1 (2021-02-22)](#0387-beta1-2021-02-22) - - [Bug Fixes](#bug-fixes-19) + - [Bug Fixes](#bug-fixes-20) - [Code Generation](#code-generation-26) - [Features](#features-15) - [0.38.6-beta.1 (2021-01-27)](#0386-beta1-2021-01-27) @@ -129,32 +130,32 @@ - [Documentation](#documentation-10) - [Features](#features-16) - [0.38.5-beta.1 (2020-12-10)](#0385-beta1-2020-12-10) - - [Bug Fixes](#bug-fixes-20) + - [Bug Fixes](#bug-fixes-21) - [Code Generation](#code-generation-28) - [Documentation](#documentation-11) - [Features](#features-17) - [Unclassified](#unclassified-5) - [0.38.4-beta.1 (2020-09-28)](#0384-beta1-2020-09-28) - - [Bug Fixes](#bug-fixes-21) + - [Bug Fixes](#bug-fixes-22) - [Code Generation](#code-generation-29) - [Documentation](#documentation-12) - [Features](#features-18) - [Unclassified](#unclassified-6) - [0.38.3-beta.1 (2020-07-29)](#0383-beta1-2020-07-29) - - [Bug Fixes](#bug-fixes-22) + - [Bug Fixes](#bug-fixes-23) - [Code Generation](#code-generation-30) - [Documentation](#documentation-13) - [Features](#features-19) - [0.38.2-beta.1 (2020-05-25)](#0382-beta1-2020-05-25) - - [Bug Fixes](#bug-fixes-23) + - [Bug Fixes](#bug-fixes-24) - [Chores](#chores) - [Documentation](#documentation-14) - [Features](#features-20) - [0.38.1-beta.1 (2020-05-08)](#0381-beta1-2020-05-08) - - [Bug Fixes](#bug-fixes-24) + - [Bug Fixes](#bug-fixes-25) - [Chores](#chores-1) - [0.38.0-beta.2 (2020-05-07)](#0380-beta2-2020-05-07) - - [Bug Fixes](#bug-fixes-25) + - [Bug Fixes](#bug-fixes-26) - [Chores](#chores-2) - [Code Refactoring](#code-refactoring-3) - [Documentation](#documentation-15) @@ -164,11 +165,11 @@ - [Documentation](#documentation-16) - [0.37.0-beta.1 (2020-04-02)](#0370-beta1-2020-04-02) - [Breaking Changes](#breaking-changes-1) - - [Bug Fixes](#bug-fixes-26) + - [Bug Fixes](#bug-fixes-27) - [Documentation](#documentation-17) - [Features](#features-22) - [0.36.0-beta.4 (2020-02-14)](#0360-beta4-2020-02-14) - - [Bug Fixes](#bug-fixes-27) + - [Bug Fixes](#bug-fixes-28) - [Documentation](#documentation-18) - [0.36.0-beta.1 (2020-02-05)](#0360-beta1-2020-02-05) - [Documentation](#documentation-19) @@ -319,7 +320,13 @@ -# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.3...v0.0.0) (2023-04-26) +# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.3...v0.0.0) (2023-05-30) + +### Bug Fixes + +- Ensure logger uses config + ([#1104](https://github.com/ory/oathkeeper/issues/1104)) + ([d9b0965](https://github.com/ory/oathkeeper/commit/d9b096595f1a6ea65604da11c7f6e2040100396d)) ### Tests From baeecc6b79d04c7f332b42f597f6f02cf56d88d2 Mon Sep 17 00:00:00 2001 From: Misa Munde Date: Wed, 7 Jun 2023 11:11:19 +0300 Subject: [PATCH 28/63] feat: sqa metrics v2 (#1110) --- cmd/server/server.go | 6 +++--- go.mod | 6 +++--- go.sum | 13 +++++++------ 3 files changed, 13 insertions(+), 12 deletions(-) diff --git a/cmd/server/server.go b/cmd/server/server.go index 276c823360..06b294e2dc 100644 --- a/cmd/server/server.go +++ b/cmd/server/server.go @@ -21,7 +21,7 @@ import ( "github.com/urfave/negroni" "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" - "github.com/ory/analytics-go/v4" + "github.com/ory/analytics-go/v5" "github.com/ory/graceful" "github.com/ory/x/corsx" "github.com/ory/x/healthx" @@ -223,8 +223,8 @@ func RunServe(version, build, date string) func(cmd *cobra.Command, args []strin publicmw := negroni.New() telemetry := metricsx.New(cmd, logger, d.Configuration().Source(), &metricsx.Options{ - Service: "ory-oathkeeper", - ClusterID: metricsx.Hash(clusterID(d.Configuration())), + Service: "oathkeeper", + DeploymentId: metricsx.Hash(clusterID(d.Configuration())), IsDevelopment: isDevelopment(d.Configuration()), WriteKey: "xRVRP48SAKw6ViJEnvB0u2PY8bVlsO6O", WhitelistedPaths: []string{ diff --git a/go.mod b/go.mod index 0066ed7ea4..6d9bebb6fe 100644 --- a/go.mod +++ b/go.mod @@ -37,7 +37,7 @@ require ( github.com/knadh/koanf v1.4.4 github.com/lib/pq v1.10.7 github.com/mitchellh/copystructure v1.2.0 - github.com/ory/analytics-go/v4 v4.0.3 + github.com/ory/analytics-go/v5 v5.0.1 github.com/ory/fosite v0.44.0 github.com/ory/go-acc v0.2.9-0.20230103102148-6b1c9a70dbbe github.com/ory/go-convenience v0.1.0 @@ -47,7 +47,7 @@ require ( github.com/ory/jsonschema/v3 v3.0.7 github.com/ory/ladon v1.1.0 github.com/ory/viper v1.7.5 - github.com/ory/x v0.0.535 + github.com/ory/x v0.0.556 github.com/pborman/uuid v1.2.1 github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2 github.com/pkg/errors v0.9.1 @@ -90,7 +90,7 @@ require ( github.com/avast/retry-go/v4 v4.3.0 // indirect github.com/aymerick/douceur v0.2.0 // indirect github.com/beorn7/perks v1.0.1 // indirect - github.com/cenkalti/backoff/v4 v4.1.3 // indirect + github.com/cenkalti/backoff/v4 v4.2.0 // indirect github.com/cespare/xxhash/v2 v2.2.0 // indirect github.com/cockroachdb/cockroach-go/v2 v2.2.16 // indirect github.com/containerd/continuity v0.3.0 // indirect diff --git a/go.sum b/go.sum index 7634cc3088..059c832f06 100644 --- a/go.sum +++ b/go.sum @@ -170,8 +170,8 @@ github.com/blang/semver v3.5.1+incompatible/go.mod h1:kRBLl5iJ+tD4TcOOxsy/0fnweb github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869 h1:DDGfHa7BWjL4YnC6+E63dPcxHo2sUxDIu8g3QgEJdRY= github.com/bmizerany/assert v0.0.0-20160611221934-b7ed37b82869/go.mod h1:Ekp36dRnpXw/yCqJaO+ZrUyxD+3VXMFFr56k5XYrpB4= github.com/bradleyjkemp/cupaloy/v2 v2.8.0 h1:any4BmKE+jGIaMpnU8YgH/I2LPiLBufr6oMMlVBbn9M= -github.com/cenkalti/backoff/v4 v4.1.3 h1:cFAlzYUlVYDysBEH2T5hyJZMh3+5+WCBvSnK6Q8UtC4= -github.com/cenkalti/backoff/v4 v4.1.3/go.mod h1:scbssz8iZGpm3xbr14ovlUdkxfGXNInqkPWOWmG2CLw= +github.com/cenkalti/backoff/v4 v4.2.0 h1:HN5dHm3WBOgndBH6E8V0q2jIYIR3s9yglV8k/+MN3u4= +github.com/cenkalti/backoff/v4 v4.2.0/go.mod h1:Y3VNntkOUPxTVeUxJ/G5vcM//AlwfmyYozVcomhLiZE= github.com/census-instrumentation/opencensus-proto v0.2.0/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/census-instrumentation/opencensus-proto v0.2.1/go.mod h1:f6KPmirojxKA12rnyqOA5BBL4O983OfeGPqjHWSTneU= github.com/cespare/xxhash v1.1.0/go.mod h1:XrSqR1VqqWfGrhpAt58auRo0WTKS1nRRg3ghfAqPWnc= @@ -856,8 +856,8 @@ github.com/opentracing/opentracing-go v1.2.0 h1:uEJPy/1a5RIPAJ0Ov+OIO8OxWu77jEv+ github.com/opentracing/opentracing-go v1.2.0/go.mod h1:GxEUsuufX4nBwe+T+Wl9TAgYrxe9dPLANfrWvHYVTgc= github.com/openzipkin/zipkin-go v0.4.1 h1:kNd/ST2yLLWhaWrkgchya40TJabe8Hioj9udfPcEO5A= github.com/openzipkin/zipkin-go v0.4.1/go.mod h1:qY0VqDSN1pOBN94dBc6w2GJlWLiovAyg7Qt6/I9HecM= -github.com/ory/analytics-go/v4 v4.0.3 h1:2zNBQLlm3UiD8U7DdUGLLUBm62ZA5GtbEJ3S5U+xEOI= -github.com/ory/analytics-go/v4 v4.0.3/go.mod h1:A3Chm/3TmM8jw4nqRss+gFhAYHRI5j/HFYH3C1FRahU= +github.com/ory/analytics-go/v5 v5.0.1 h1:LX8T5B9FN8KZXOtxgN+R3I4THRRVB6+28IKgKBpXmAM= +github.com/ory/analytics-go/v5 v5.0.1/go.mod h1:lWCiCjAaJkKfgR/BN5DCLMol8BjKS1x+4jxBxff/FF0= github.com/ory/dockertest/v3 v3.9.1 h1:v4dkG+dlu76goxMiTT2j8zV7s4oPPEppKT8K8p2f1kY= github.com/ory/dockertest/v3 v3.9.1/go.mod h1:42Ir9hmvaAPm0Mgibk6mBPi7SFvTXxEcnztDYOJ//uM= github.com/ory/fosite v0.44.0 h1:Z3UjyO11/wlIoa3BotOqcTkfm7kUNA8F7dd8mOMfx0o= @@ -882,8 +882,8 @@ github.com/ory/ladon v1.1.0/go.mod h1:25bNc/Glx/8xCH7MbItDxjvviAmFQ+aYxb1V1SE5wl github.com/ory/pagination v0.0.1/go.mod h1:d1ToRROAUleriPhmb2dYbhANhhLwZ8s395m2yJCDFh8= github.com/ory/viper v1.7.5 h1:+xVdq7SU3e1vNaCsk/ixsfxE4zylk1TJUiJrY647jUE= github.com/ory/viper v1.7.5/go.mod h1:ypOuyJmEUb3oENywQZRgeAMwqgOyDqwboO1tj3DjTaM= -github.com/ory/x v0.0.535 h1:muhBRYkAz52J00yEGw6LtwJDF5HhyxM2w0E0V4w5z+o= -github.com/ory/x v0.0.535/go.mod h1:CQopDsCC9t0tQsddE9UlyRFVEFd2xjKBVcw4nLMMMS0= +github.com/ory/x v0.0.556 h1:dZWjM5+MyUFZwTO2ReySz6BP3tcn4XRRl6Gmktr6vx0= +github.com/ory/x v0.0.556/go.mod h1:YuiBfxCRM8dhKl/qUiTRwFvqM/xJp4ZYfwDS2LKQFG4= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= @@ -1153,6 +1153,7 @@ go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= +go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= From 97e96602fc1d99f6c53eff183a2873ede986bc38 Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Wed, 7 Jun 2023 08:13:38 +0000 Subject: [PATCH 29/63] autogen(openapi): regenerate swagger spec and internal client [skip ci] --- .../httpclient/client/health/health_client.go | 16 ++-- .../health/is_instance_alive_responses.go | 78 ++++++++++-------- .../health/is_instance_ready_responses.go | 79 ++++++++++++++++++- .../httpclient/models/unexpected_error.go | 27 +++++++ spec/api.json | 3 + spec/swagger.json | 19 +++-- 6 files changed, 171 insertions(+), 51 deletions(-) create mode 100644 internal/httpclient/models/unexpected_error.go diff --git a/internal/httpclient/client/health/health_client.go b/internal/httpclient/client/health/health_client.go index 5e3a22b545..0744697873 100644 --- a/internal/httpclient/client/health/health_client.go +++ b/internal/httpclient/client/health/health_client.go @@ -6,8 +6,6 @@ package health // Editing this file might prove futile when you re-run the swagger generate command import ( - "fmt" - "github.com/go-openapi/runtime" "github.com/go-openapi/strfmt" ) @@ -59,7 +57,7 @@ func (a *Client) IsInstanceAlive(params *IsInstanceAliveParams, opts ...ClientOp ID: "isInstanceAlive", Method: "GET", PathPattern: "/health/alive", - ProducesMediaTypes: []string{"application/json"}, + ProducesMediaTypes: []string{"application/json", "text/plain"}, ConsumesMediaTypes: []string{"application/json"}, Schemes: []string{"http", "https"}, Params: params, @@ -80,9 +78,8 @@ func (a *Client) IsInstanceAlive(params *IsInstanceAliveParams, opts ...ClientOp return success, nil } // unexpected success response - // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue - msg := fmt.Sprintf("unexpected success response for isInstanceAlive: API contract not enforced by server. Client expected to get an error, but got: %T", result) - panic(msg) + unexpectedSuccess := result.(*IsInstanceAliveDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) } /* @@ -107,7 +104,7 @@ func (a *Client) IsInstanceReady(params *IsInstanceReadyParams, opts ...ClientOp ID: "isInstanceReady", Method: "GET", PathPattern: "/health/ready", - ProducesMediaTypes: []string{"application/json"}, + ProducesMediaTypes: []string{"application/json", "text/plain"}, ConsumesMediaTypes: []string{"application/json"}, Schemes: []string{"http", "https"}, Params: params, @@ -128,9 +125,8 @@ func (a *Client) IsInstanceReady(params *IsInstanceReadyParams, opts ...ClientOp return success, nil } // unexpected success response - // safeguard: normally, absent a default response, unknown success responses return an error above: so this is a codegen issue - msg := fmt.Sprintf("unexpected success response for isInstanceReady: API contract not enforced by server. Client expected to get an error, but got: %T", result) - panic(msg) + unexpectedSuccess := result.(*IsInstanceReadyDefault) + return nil, runtime.NewAPIError("unexpected success response: content available as default response in error", unexpectedSuccess, unexpectedSuccess.Code()) } // SetTransport changes the transport on the client diff --git a/internal/httpclient/client/health/is_instance_alive_responses.go b/internal/httpclient/client/health/is_instance_alive_responses.go index f17a763e6b..9f7cd64e3b 100644 --- a/internal/httpclient/client/health/is_instance_alive_responses.go +++ b/internal/httpclient/client/health/is_instance_alive_responses.go @@ -29,14 +29,15 @@ func (o *IsInstanceAliveReader) ReadResponse(response runtime.ClientResponse, co return nil, err } return result, nil - case 500: - result := NewIsInstanceAliveInternalServerError() + default: + result := NewIsInstanceAliveDefault(response.Code()) if err := result.readResponse(response, consumer, o.formats); err != nil { return nil, err } + if response.Code()/100 == 2 { + return result, nil + } return nil, result - default: - return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code()) } } @@ -103,63 +104,70 @@ func (o *IsInstanceAliveOK) readResponse(response runtime.ClientResponse, consum return nil } -// NewIsInstanceAliveInternalServerError creates a IsInstanceAliveInternalServerError with default headers values -func NewIsInstanceAliveInternalServerError() *IsInstanceAliveInternalServerError { - return &IsInstanceAliveInternalServerError{} +// NewIsInstanceAliveDefault creates a IsInstanceAliveDefault with default headers values +func NewIsInstanceAliveDefault(code int) *IsInstanceAliveDefault { + return &IsInstanceAliveDefault{ + _statusCode: code, + } } /* -IsInstanceAliveInternalServerError describes a response with status code 500, with default header values. +IsInstanceAliveDefault describes a response with status code -1, with default header values. -genericError +unexpectedError */ -type IsInstanceAliveInternalServerError struct { - Payload *models.GenericError +type IsInstanceAliveDefault struct { + _statusCode int + + Payload models.UnexpectedError } -// IsSuccess returns true when this is instance alive internal server error response has a 2xx status code -func (o *IsInstanceAliveInternalServerError) IsSuccess() bool { - return false +// Code gets the status code for the is instance alive default response +func (o *IsInstanceAliveDefault) Code() int { + return o._statusCode } -// IsRedirect returns true when this is instance alive internal server error response has a 3xx status code -func (o *IsInstanceAliveInternalServerError) IsRedirect() bool { - return false +// IsSuccess returns true when this is instance alive default response has a 2xx status code +func (o *IsInstanceAliveDefault) IsSuccess() bool { + return o._statusCode/100 == 2 } -// IsClientError returns true when this is instance alive internal server error response has a 4xx status code -func (o *IsInstanceAliveInternalServerError) IsClientError() bool { - return false +// IsRedirect returns true when this is instance alive default response has a 3xx status code +func (o *IsInstanceAliveDefault) IsRedirect() bool { + return o._statusCode/100 == 3 } -// IsServerError returns true when this is instance alive internal server error response has a 5xx status code -func (o *IsInstanceAliveInternalServerError) IsServerError() bool { - return true +// IsClientError returns true when this is instance alive default response has a 4xx status code +func (o *IsInstanceAliveDefault) IsClientError() bool { + return o._statusCode/100 == 4 } -// IsCode returns true when this is instance alive internal server error response a status code equal to that given -func (o *IsInstanceAliveInternalServerError) IsCode(code int) bool { - return code == 500 +// IsServerError returns true when this is instance alive default response has a 5xx status code +func (o *IsInstanceAliveDefault) IsServerError() bool { + return o._statusCode/100 == 5 } -func (o *IsInstanceAliveInternalServerError) Error() string { - return fmt.Sprintf("[GET /health/alive][%d] isInstanceAliveInternalServerError %+v", 500, o.Payload) +// IsCode returns true when this is instance alive default response a status code equal to that given +func (o *IsInstanceAliveDefault) IsCode(code int) bool { + return o._statusCode == code } -func (o *IsInstanceAliveInternalServerError) String() string { - return fmt.Sprintf("[GET /health/alive][%d] isInstanceAliveInternalServerError %+v", 500, o.Payload) +func (o *IsInstanceAliveDefault) Error() string { + return fmt.Sprintf("[GET /health/alive][%d] isInstanceAlive default %+v", o._statusCode, o.Payload) } -func (o *IsInstanceAliveInternalServerError) GetPayload() *models.GenericError { - return o.Payload +func (o *IsInstanceAliveDefault) String() string { + return fmt.Sprintf("[GET /health/alive][%d] isInstanceAlive default %+v", o._statusCode, o.Payload) } -func (o *IsInstanceAliveInternalServerError) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { +func (o *IsInstanceAliveDefault) GetPayload() models.UnexpectedError { + return o.Payload +} - o.Payload = new(models.GenericError) +func (o *IsInstanceAliveDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { // response payload - if err := consumer.Consume(response.Body(), o.Payload); err != nil && err != io.EOF { + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { return err } diff --git a/internal/httpclient/client/health/is_instance_ready_responses.go b/internal/httpclient/client/health/is_instance_ready_responses.go index 7065a11452..0fce97aea4 100644 --- a/internal/httpclient/client/health/is_instance_ready_responses.go +++ b/internal/httpclient/client/health/is_instance_ready_responses.go @@ -36,7 +36,14 @@ func (o *IsInstanceReadyReader) ReadResponse(response runtime.ClientResponse, co } return nil, result default: - return nil, runtime.NewAPIError("response status code does not match any response statuses defined for this endpoint in the swagger spec", response, response.Code()) + result := NewIsInstanceReadyDefault(response.Code()) + if err := result.readResponse(response, consumer, o.formats); err != nil { + return nil, err + } + if response.Code()/100 == 2 { + return result, nil + } + return nil, result } } @@ -165,3 +172,73 @@ func (o *IsInstanceReadyServiceUnavailable) readResponse(response runtime.Client return nil } + +// NewIsInstanceReadyDefault creates a IsInstanceReadyDefault with default headers values +func NewIsInstanceReadyDefault(code int) *IsInstanceReadyDefault { + return &IsInstanceReadyDefault{ + _statusCode: code, + } +} + +/* +IsInstanceReadyDefault describes a response with status code -1, with default header values. + +unexpectedError +*/ +type IsInstanceReadyDefault struct { + _statusCode int + + Payload models.UnexpectedError +} + +// Code gets the status code for the is instance ready default response +func (o *IsInstanceReadyDefault) Code() int { + return o._statusCode +} + +// IsSuccess returns true when this is instance ready default response has a 2xx status code +func (o *IsInstanceReadyDefault) IsSuccess() bool { + return o._statusCode/100 == 2 +} + +// IsRedirect returns true when this is instance ready default response has a 3xx status code +func (o *IsInstanceReadyDefault) IsRedirect() bool { + return o._statusCode/100 == 3 +} + +// IsClientError returns true when this is instance ready default response has a 4xx status code +func (o *IsInstanceReadyDefault) IsClientError() bool { + return o._statusCode/100 == 4 +} + +// IsServerError returns true when this is instance ready default response has a 5xx status code +func (o *IsInstanceReadyDefault) IsServerError() bool { + return o._statusCode/100 == 5 +} + +// IsCode returns true when this is instance ready default response a status code equal to that given +func (o *IsInstanceReadyDefault) IsCode(code int) bool { + return o._statusCode == code +} + +func (o *IsInstanceReadyDefault) Error() string { + return fmt.Sprintf("[GET /health/ready][%d] isInstanceReady default %+v", o._statusCode, o.Payload) +} + +func (o *IsInstanceReadyDefault) String() string { + return fmt.Sprintf("[GET /health/ready][%d] isInstanceReady default %+v", o._statusCode, o.Payload) +} + +func (o *IsInstanceReadyDefault) GetPayload() models.UnexpectedError { + return o.Payload +} + +func (o *IsInstanceReadyDefault) readResponse(response runtime.ClientResponse, consumer runtime.Consumer, formats strfmt.Registry) error { + + // response payload + if err := consumer.Consume(response.Body(), &o.Payload); err != nil && err != io.EOF { + return err + } + + return nil +} diff --git a/internal/httpclient/models/unexpected_error.go b/internal/httpclient/models/unexpected_error.go new file mode 100644 index 0000000000..8c83e4cc5c --- /dev/null +++ b/internal/httpclient/models/unexpected_error.go @@ -0,0 +1,27 @@ +// Code generated by go-swagger; DO NOT EDIT. + +package models + +// This file was generated by the swagger tool. +// Editing this file might prove futile when you re-run the swagger generate command + +import ( + "context" + + "github.com/go-openapi/strfmt" +) + +// UnexpectedError unexpected error +// +// swagger:model unexpectedError +type UnexpectedError string + +// Validate validates this unexpected error +func (m UnexpectedError) Validate(formats strfmt.Registry) error { + return nil +} + +// ContextValidate validates this unexpected error based on context it is used +func (m UnexpectedError) ContextValidate(ctx context.Context, formats strfmt.Registry) error { + return nil +} diff --git a/spec/api.json b/spec/api.json index a8035ad30a..6157857546 100755 --- a/spec/api.json +++ b/spec/api.json @@ -241,6 +241,9 @@ }, "type": "object" }, + "unexpectedError": { + "type": "string" + }, "version": { "properties": { "version": { diff --git a/spec/swagger.json b/spec/swagger.json index 6e687adf77..11a151c93b 100755 --- a/spec/swagger.json +++ b/spec/swagger.json @@ -80,7 +80,7 @@ "/health/alive": { "get": { "description": "This endpoint returns a 200 status code when the HTTP server is up running.\nThis status does currently not include checks whether the database connection is working.\n\nIf the service supports TLS Edge Termination, this endpoint does not require the\n`X-Forwarded-Proto` header to be set.\n\nBe aware that if you are running multiple nodes of this service, the health status will never\nrefer to the cluster state, only to a single instance.", - "produces": ["application/json"], + "produces": ["application/json", "text/plain"], "tags": ["health"], "summary": "Check alive status", "operationId": "isInstanceAlive", @@ -91,10 +91,10 @@ "$ref": "#/definitions/healthStatus" } }, - "500": { - "description": "genericError", + "default": { + "description": "unexpectedError", "schema": { - "$ref": "#/definitions/genericError" + "$ref": "#/definitions/unexpectedError" } } } @@ -103,7 +103,7 @@ "/health/ready": { "get": { "description": "This endpoint returns a 200 status code when the HTTP server is up running and the environment dependencies (e.g.\nthe database) are responsive as well.\n\nIf the service supports TLS Edge Termination, this endpoint does not require the\n`X-Forwarded-Proto` header to be set.\n\nBe aware that if you are running multiple nodes of this service, the health status will never\nrefer to the cluster state, only to a single instance.", - "produces": ["application/json"], + "produces": ["application/json", "text/plain"], "tags": ["health"], "summary": "Check readiness status", "operationId": "isInstanceReady", @@ -119,6 +119,12 @@ "schema": { "$ref": "#/definitions/healthNotReadyStatus" } + }, + "default": { + "description": "unexpectedError", + "schema": { + "$ref": "#/definitions/unexpectedError" + } } } } @@ -424,6 +430,9 @@ } } }, + "unexpectedError": { + "type": "string" + }, "version": { "type": "object", "properties": { From 4f08af7b1c0ae276012a04f947ab54e42b908206 Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Wed, 7 Jun 2023 08:18:20 +0000 Subject: [PATCH 30/63] autogen(docs): regenerate and update changelog [skip ci] --- CHANGELOG.md | 58 +++++++++++++++++++++++++++++----------------------- 1 file changed, 32 insertions(+), 26 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 75bb7256a9..fb60ceafdb 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,29 +5,30 @@ **Table of Contents** -- [0.0.0 (2023-05-30)](#000-2023-05-30) +- [0.0.0 (2023-06-07)](#000-2023-06-07) - [Bug Fixes](#bug-fixes) + - [Features](#features) - [Tests](#tests) - [0.40.3 (2023-04-25)](#0403-2023-04-25) - [Bug Fixes](#bug-fixes-1) - [Code Generation](#code-generation) - - [Features](#features) + - [Features](#features-1) - [0.40.2 (2023-03-15)](#0402-2023-03-15) - [Bug Fixes](#bug-fixes-2) - [Code Generation](#code-generation-1) - [Documentation](#documentation) - - [Features](#features-1) + - [Features](#features-2) - [0.40.1 (2023-01-17)](#0401-2023-01-17) - [Bug Fixes](#bug-fixes-3) - [Code Generation](#code-generation-2) - [Documentation](#documentation-1) - - [Features](#features-2) + - [Features](#features-3) - [Tests](#tests-1) - [0.40.0 (2022-09-14)](#0400-2022-09-14) - [Bug Fixes](#bug-fixes-4) - [Code Generation](#code-generation-3) - [Code Refactoring](#code-refactoring) - - [Features](#features-3) + - [Features](#features-4) - [Tests](#tests-2) - [0.39.4 (2022-08-31)](#0394-2022-08-31) - [Code Generation](#code-generation-4) @@ -40,22 +41,22 @@ - [Bug Fixes](#bug-fixes-5) - [Code Generation](#code-generation-7) - [Documentation](#documentation-2) - - [Features](#features-4) + - [Features](#features-5) - [0.39.0 (2022-06-27)](#0390-2022-06-27) - [Breaking Changes](#breaking-changes) - [Bug Fixes](#bug-fixes-6) - [Code Generation](#code-generation-8) - - [Features](#features-5) + - [Features](#features-6) - [0.38.25-beta.1 (2022-04-13)](#03825-beta1-2022-04-13) - [Bug Fixes](#bug-fixes-7) - [Code Generation](#code-generation-9) - [Documentation](#documentation-3) - [0.38.24-beta.1 (2022-04-06)](#03824-beta1-2022-04-06) - [Code Generation](#code-generation-10) - - [Features](#features-6) + - [Features](#features-7) - [0.38.23-beta.1 (2022-02-24)](#03823-beta1-2022-02-24) - [Code Generation](#code-generation-11) - - [Features](#features-7) + - [Features](#features-8) - [0.38.22-beta.1 (2022-02-23)](#03822-beta1-2022-02-23) - [Bug Fixes](#bug-fixes-8) - [Code Generation](#code-generation-12) @@ -64,36 +65,36 @@ - [Code Generation](#code-generation-13) - [Code Refactoring](#code-refactoring-1) - [Documentation](#documentation-4) - - [Features](#features-8) + - [Features](#features-9) - [0.38.19-beta.1 (2022-02-04)](#03819-beta1-2022-02-04) - [Bug Fixes](#bug-fixes-10) - [Code Generation](#code-generation-14) - [Documentation](#documentation-5) - - [Features](#features-9) + - [Features](#features-10) - [0.38.17-beta.1 (2022-02-03)](#03817-beta1-2022-02-03) - [Continuous Integration](#continuous-integration) - [0.38.18-beta.1 (2022-02-03)](#03818-beta1-2022-02-03) - [Bug Fixes](#bug-fixes-11) - [Code Generation](#code-generation-15) - [Documentation](#documentation-6) - - [Features](#features-10) + - [Features](#features-11) - [Tests](#tests-3) - [Unclassified](#unclassified-1) - [0.38.15-beta.1 (2021-08-28)](#03815-beta1-2021-08-28) - [Bug Fixes](#bug-fixes-12) - [Code Generation](#code-generation-16) - [Documentation](#documentation-7) - - [Features](#features-11) + - [Features](#features-12) - [0.38.14-beta.1 (2021-07-14)](#03814-beta1-2021-07-14) - [Bug Fixes](#bug-fixes-13) - [Code Generation](#code-generation-17) - [Documentation](#documentation-8) - - [Features](#features-12) + - [Features](#features-13) - [Reverts](#reverts) - [0.38.12-beta.1 (2021-06-22)](#03812-beta1-2021-06-22) - [Bug Fixes](#bug-fixes-14) - [Code Generation](#code-generation-18) - - [Features](#features-13) + - [Features](#features-14) - [Tests](#tests-4) - [Unclassified](#unclassified-2) - [0.38.11-beta.1 (2021-05-13)](#03811-beta1-2021-05-13) @@ -105,7 +106,7 @@ - [Code Generation](#code-generation-20) - [Code Refactoring](#code-refactoring-2) - [Documentation](#documentation-9) - - [Features](#features-14) + - [Features](#features-15) - [0.38.9-beta.1 (2021-03-17)](#0389-beta1-2021-03-17) - [Code Generation](#code-generation-21) - [0.38.9-beta.1.pre.3 (2021-03-16)](#0389-beta1pre3-2021-03-16) @@ -124,33 +125,33 @@ - [0.38.7-beta.1 (2021-02-22)](#0387-beta1-2021-02-22) - [Bug Fixes](#bug-fixes-20) - [Code Generation](#code-generation-26) - - [Features](#features-15) + - [Features](#features-16) - [0.38.6-beta.1 (2021-01-27)](#0386-beta1-2021-01-27) - [Code Generation](#code-generation-27) - [Documentation](#documentation-10) - - [Features](#features-16) + - [Features](#features-17) - [0.38.5-beta.1 (2020-12-10)](#0385-beta1-2020-12-10) - [Bug Fixes](#bug-fixes-21) - [Code Generation](#code-generation-28) - [Documentation](#documentation-11) - - [Features](#features-17) + - [Features](#features-18) - [Unclassified](#unclassified-5) - [0.38.4-beta.1 (2020-09-28)](#0384-beta1-2020-09-28) - [Bug Fixes](#bug-fixes-22) - [Code Generation](#code-generation-29) - [Documentation](#documentation-12) - - [Features](#features-18) + - [Features](#features-19) - [Unclassified](#unclassified-6) - [0.38.3-beta.1 (2020-07-29)](#0383-beta1-2020-07-29) - [Bug Fixes](#bug-fixes-23) - [Code Generation](#code-generation-30) - [Documentation](#documentation-13) - - [Features](#features-19) + - [Features](#features-20) - [0.38.2-beta.1 (2020-05-25)](#0382-beta1-2020-05-25) - [Bug Fixes](#bug-fixes-24) - [Chores](#chores) - [Documentation](#documentation-14) - - [Features](#features-20) + - [Features](#features-21) - [0.38.1-beta.1 (2020-05-08)](#0381-beta1-2020-05-08) - [Bug Fixes](#bug-fixes-25) - [Chores](#chores-1) @@ -159,7 +160,7 @@ - [Chores](#chores-2) - [Code Refactoring](#code-refactoring-3) - [Documentation](#documentation-15) - - [Features](#features-21) + - [Features](#features-22) - [0.37.1-beta.1 (2020-04-03)](#0371-beta1-2020-04-03) - [Chores](#chores-3) - [Documentation](#documentation-16) @@ -167,13 +168,13 @@ - [Breaking Changes](#breaking-changes-1) - [Bug Fixes](#bug-fixes-27) - [Documentation](#documentation-17) - - [Features](#features-22) + - [Features](#features-23) - [0.36.0-beta.4 (2020-02-14)](#0360-beta4-2020-02-14) - [Bug Fixes](#bug-fixes-28) - [Documentation](#documentation-18) - [0.36.0-beta.1 (2020-02-05)](#0360-beta1-2020-02-05) - [Documentation](#documentation-19) - - [Features](#features-23) + - [Features](#features-24) - [Unclassified](#unclassified-7) - [0.35.5-beta.2 (2020-01-31)](#0355-beta2-2020-01-31) - [Unclassified](#unclassified-8) @@ -320,7 +321,7 @@ -# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.3...v0.0.0) (2023-05-30) +# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.3...v0.0.0) (2023-06-07) ### Bug Fixes @@ -328,6 +329,11 @@ ([#1104](https://github.com/ory/oathkeeper/issues/1104)) ([d9b0965](https://github.com/ory/oathkeeper/commit/d9b096595f1a6ea65604da11c7f6e2040100396d)) +### Features + +- Sqa metrics v2 ([#1110](https://github.com/ory/oathkeeper/issues/1110)) + ([baeecc6](https://github.com/ory/oathkeeper/commit/baeecc6b79d04c7f332b42f597f6f02cf56d88d2)) + ### Tests - Use reliable upstream server From 596ad116494d6eaec2329a64b33c7b08598e7876 Mon Sep 17 00:00:00 2001 From: Joe Kralicky Date: Sun, 11 Jun 2023 05:56:32 -0400 Subject: [PATCH 31/63] chore(deps): bump github.com/knadh/koanf to v2.0.1 (#1111) --- driver/configuration/provider_koanf.go | 2 +- go.mod | 13 ++- go.sum | 109 +++++-------------------- 3 files changed, 30 insertions(+), 94 deletions(-) diff --git a/driver/configuration/provider_koanf.go b/driver/configuration/provider_koanf.go index 1275f2e496..2589b3a1ca 100644 --- a/driver/configuration/provider_koanf.go +++ b/driver/configuration/provider_koanf.go @@ -18,7 +18,7 @@ import ( "github.com/dgraph-io/ristretto" "github.com/google/uuid" - "github.com/knadh/koanf" + "github.com/knadh/koanf/v2" "github.com/pkg/errors" "github.com/rs/cors" "github.com/spf13/pflag" diff --git a/go.mod b/go.mod index 6d9bebb6fe..126f8c5054 100644 --- a/go.mod +++ b/go.mod @@ -34,7 +34,7 @@ require ( github.com/google/uuid v1.3.0 github.com/hashicorp/go-retryablehttp v0.7.1 github.com/julienschmidt/httprouter v1.3.0 - github.com/knadh/koanf v1.4.4 + github.com/knadh/koanf/v2 v2.0.1 github.com/lib/pq v1.10.7 github.com/mitchellh/copystructure v1.2.0 github.com/ory/analytics-go/v5 v5.0.1 @@ -47,7 +47,7 @@ require ( github.com/ory/jsonschema/v3 v3.0.7 github.com/ory/ladon v1.1.0 github.com/ory/viper v1.7.5 - github.com/ory/x v0.0.556 + github.com/ory/x v0.0.559 github.com/pborman/uuid v1.2.1 github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2 github.com/pkg/errors v0.9.1 @@ -98,13 +98,13 @@ require ( github.com/dave/jennifer v1.4.0 // indirect github.com/davecgh/go-spew v1.1.1 // indirect github.com/docker/cli v20.10.21+incompatible // indirect - github.com/docker/distribution v2.8.1+incompatible // indirect + github.com/docker/distribution v2.8.2+incompatible // indirect github.com/docker/docker v20.10.24+incompatible // indirect github.com/docker/go-connections v0.4.0 // indirect github.com/docker/go-units v0.5.0 // indirect github.com/dustin/go-humanize v1.0.0 // indirect github.com/ecordell/optgen v0.0.6 // indirect - github.com/evanphx/json-patch v5.6.0+incompatible // indirect + github.com/evanphx/json-patch/v5 v5.6.0 // indirect github.com/fatih/color v1.13.0 // indirect github.com/fatih/structs v1.1.0 // indirect github.com/felixge/fgprof v0.9.3 // indirect @@ -168,6 +168,11 @@ require ( github.com/joho/godotenv v1.4.0 // indirect github.com/josharian/intern v1.0.0 // indirect github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51 // indirect + github.com/knadh/koanf/maps v0.1.1 // indirect + github.com/knadh/koanf/parsers/json v0.1.0 // indirect + github.com/knadh/koanf/parsers/toml v0.1.0 // indirect + github.com/knadh/koanf/parsers/yaml v0.1.0 // indirect + github.com/knadh/koanf/providers/posflag v0.1.0 // indirect github.com/kr/pretty v0.3.0 // indirect github.com/kr/text v0.2.0 // indirect github.com/luna-duclos/instrumentedsql v1.1.3 // indirect diff --git a/go.sum b/go.sum index 059c832f06..f4540edaf9 100644 --- a/go.sum +++ b/go.sum @@ -134,7 +134,6 @@ github.com/armon/circbuf v0.0.0-20150827004946-bbbad097214e/go.mod h1:3U/XgcO3hC github.com/armon/consul-api v0.0.0-20180202201655-eb2c6b5be1b6/go.mod h1:grANhF5doyWs3UAsr3K4I6qtAmlQcZDesFNEHPZAzj8= github.com/armon/go-metrics v0.0.0-20180917152333-f0300d1749da/go.mod h1:Q73ZrmVTwzkszR9V5SSuryQ31EELlFMUz1kKyl939pY= github.com/armon/go-radix v0.0.0-20180808171621-7fddfc383310/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= -github.com/armon/go-radix v1.0.0/go.mod h1:ufUuZ+zHj4x4TnLV4JWEpy2hxWSpsRywHrMgIH9cCH8= github.com/asaskevich/govalidator v0.0.0-20200907205600-7a23bdc65eef/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d h1:Byv0BzEl3/e6D5CLfI0j/7hiIEtvGVFPCZ7Ei2oq8iQ= github.com/asaskevich/govalidator v0.0.0-20210307081110-f21760c49a8d/go.mod h1:WaHUgvxTVq04UNunO+XhnAqY/wQc+bxr74GqbsZ/Jqw= @@ -147,16 +146,6 @@ github.com/aws/aws-sdk-go v1.19.18/go.mod h1:KmX6BPdI08NWTb3/sm4ZGu5ShLoqVDhKgpi github.com/aws/aws-sdk-go v1.31.13/go.mod h1:5zCpMtNQVjRREroY7sYe8lOMRSxkhG6MZveU8YkpAk0= github.com/aws/aws-sdk-go v1.34.28 h1:sscPpn/Ns3i0F4HPEWAVcwdIRaZZCuL7llJ2/60yPIk= github.com/aws/aws-sdk-go v1.34.28/go.mod h1:H7NKnBqNVzoTJpGfLrQkkD+ytBA93eiDYi/+8rV9s48= -github.com/aws/aws-sdk-go-v2 v1.9.2/go.mod h1:cK/D0BBs0b/oWPIcX/Z/obahJK1TT7IPVjy53i/mX/4= -github.com/aws/aws-sdk-go-v2/config v1.8.3/go.mod h1:4AEiLtAb8kLs7vgw2ZV3p2VZ1+hBavOc84hqxVNpCyw= -github.com/aws/aws-sdk-go-v2/credentials v1.4.3/go.mod h1:FNNC6nQZQUuyhq5aE5c7ata8o9e4ECGmS4lAXC7o1mQ= -github.com/aws/aws-sdk-go-v2/feature/ec2/imds v1.6.0/go.mod h1:gqlclDEZp4aqJOancXK6TN24aKhT0W0Ae9MHk3wzTMM= -github.com/aws/aws-sdk-go-v2/internal/ini v1.2.4/go.mod h1:ZcBrrI3zBKlhGFNYWvju0I3TR93I7YIgAfy82Fh4lcQ= -github.com/aws/aws-sdk-go-v2/service/appconfig v1.4.2/go.mod h1:FZ3HkCe+b10uFZZkFdvf98LHW21k49W8o8J366lqVKY= -github.com/aws/aws-sdk-go-v2/service/internal/presigned-url v1.3.2/go.mod h1:72HRZDLMtmVQiLG2tLfQcaWLCssELvGl+Zf2WVxMmR8= -github.com/aws/aws-sdk-go-v2/service/sso v1.4.2/go.mod h1:NBvT9R1MEF+Ud6ApJKM0G+IkPchKS7p7c2YPKwHmBOk= -github.com/aws/aws-sdk-go-v2/service/sts v1.7.2/go.mod h1:8EzeIqfWt2wWT4rJVu3f21TfrhJ8AEMzVybRNSb/b4g= -github.com/aws/smithy-go v1.8.0/go.mod h1:SObp3lf9smib00L/v3U2eAKG8FyQ7iLrJnQiAmR5n+E= github.com/aymerick/douceur v0.2.0 h1:Mv+mAeH1Q+n9Fr+oyamOlAkUNPWPlA8PPGR0QAaYuPk= github.com/aymerick/douceur v0.2.0/go.mod h1:wlT5vV2O3h55X9m7iVYN0TBM0NH/MmbLnd30/FjWUq4= github.com/beorn7/perks v0.0.0-20180321164747-3a771d992973/go.mod h1:Dwedo/Wpr24TaqPxmxbtue+5NUziq4I4S80YR8gNf3Q= @@ -240,8 +229,8 @@ github.com/dlclark/regexp2 v1.2.0 h1:8sAhBGEM0dRWogWqWyQeIJnxjWO6oIjl8FKqREDsGfk github.com/dlclark/regexp2 v1.2.0/go.mod h1:2pZnwuY/m+8K6iRw6wQdMtk+rH5tNGR1i55kozfMjCc= github.com/docker/cli v20.10.21+incompatible h1:qVkgyYUnOLQ98LtXBrwd/duVqPT2X4SHndOuGsfwyhU= github.com/docker/cli v20.10.21+incompatible/go.mod h1:JLrzqnKDaYBop7H2jaqPtU4hHvMKP+vjCwu2uszcLI8= -github.com/docker/distribution v2.8.1+incompatible h1:Q50tZOPR6T/hjNsyc9g8/syEs6bk8XXApsHjKukMl68= -github.com/docker/distribution v2.8.1+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= +github.com/docker/distribution v2.8.2+incompatible h1:T3de5rq0dB1j30rp0sA2rER+m322EBzniBPB6ZIzuh8= +github.com/docker/distribution v2.8.2+incompatible/go.mod h1:J2gT2udsDAN96Uj4KfcMRqY0/ypR+oyYUYmja8H+y+w= github.com/docker/docker v20.10.24+incompatible h1:Ugvxm7a8+Gz6vqQYQQ2W7GYq5EUPaAiuPgIfVyI3dYE= github.com/docker/docker v20.10.24+incompatible/go.mod h1:eEKB0N0r5NX/I1kEveEz05bcu8tLC/8azJZsviup8Sk= github.com/docker/go-connections v0.4.0 h1:El9xVISelRB7BuFusrZozjnkIM5YnzCViNKohAFqRJQ= @@ -262,10 +251,9 @@ github.com/envoyproxy/go-control-plane v0.9.9-0.20210217033140-668b12f5399d/go.m github.com/envoyproxy/go-control-plane v0.9.9-0.20210512163311-63b5d3c536b0/go.mod h1:hliV/p42l8fGbc6Y9bQ70uLwIvmJyVE5k4iMKlh8wCQ= github.com/envoyproxy/go-control-plane v0.9.10-0.20210907150352-cf90f659a021/go.mod h1:AFq3mo9L8Lqqiid3OhADV3RfLJnjiw63cSpi+fDTRC0= github.com/envoyproxy/protoc-gen-validate v0.1.0/go.mod h1:iSmxcyjqTsJpI2R4NaDN7+kN2VEUnK/pcBlmesArF7c= -github.com/evanphx/json-patch v5.6.0+incompatible h1:jBYDEEiFBPxA0v50tFdvOzQQTCvpL6mnFh5mB2/l16U= -github.com/evanphx/json-patch v5.6.0+incompatible/go.mod h1:50XU6AFN0ol/bzJsmQLiYLvXMP4fmwYFNcr97nuDLSk= +github.com/evanphx/json-patch/v5 v5.6.0 h1:b91NhWfaz02IuVxO9faSllyAtNXHMPkC5J8sJCLunww= +github.com/evanphx/json-patch/v5 v5.6.0/go.mod h1:G79N1coSVB93tBe7j6PhzjmR3/2VvlbKOFpnXhI9Bw4= github.com/fatih/color v1.7.0/go.mod h1:Zm6kSWBoL9eyXnKyktHP6abPY2pDugNf5KwzbycvMj4= -github.com/fatih/color v1.9.0/go.mod h1:eQcE1qtQxscV5RaZvpXrrb8Drkc3/DdQ+uUYCNjL+zU= github.com/fatih/color v1.10.0/go.mod h1:ELkj/draVOlAH/xkhN6mQ50Qd0MPOk5AAr3maGEBuJM= github.com/fatih/color v1.13.0 h1:8LOYc1KYPPmyKMuN8QV2DNRWNbLo6LZ0iLs8+mlH53w= github.com/fatih/color v1.13.0/go.mod h1:kLAiJbzzSOZDVNGyDpeOxJ47H46qBXwg5ILebYFFOfk= @@ -297,7 +285,6 @@ github.com/go-kit/kit v0.8.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2 github.com/go-kit/kit v0.9.0/go.mod h1:xBxKIO96dXMWWy0MnWVtmwkA9/13aqxPnvrjFYMA2as= github.com/go-kit/log v0.1.0/go.mod h1:zbhenjAZHb184qTLMA9ZjW7ThYL0H2mk7Q6pNt4vbaY= github.com/go-kit/log v0.2.0/go.mod h1:NwTd00d/i8cPZ3xOwwiv2PO5MOcx78fFErGNcVmBjv0= -github.com/go-ldap/ldap v3.0.2+incompatible/go.mod h1:qfd9rJvER9Q0/D/Sqn1DfHRoBp40uXYvFoEVrNEPqRc= github.com/go-logfmt/logfmt v0.3.0/go.mod h1:Qt1PoO58o5twSAckw1HlFXLmHsOX5/0LbT9GBnD5lWE= github.com/go-logfmt/logfmt v0.4.0/go.mod h1:3RMwSq7FuexP4Kalkev3ejPJsZTpXXBr9+V4qmtdjCk= github.com/go-logfmt/logfmt v0.5.0/go.mod h1:wCYkCAKZfumFQihp8CzCvQ3paCTfi41vtzG1KdI/P7A= @@ -361,7 +348,6 @@ github.com/go-stack/stack v1.8.1/go.mod h1:dcoOX6HbPZSZptuspn9bctJ+N/CnF5gGygcUP github.com/go-swagger/go-swagger v0.30.0 h1:HakSyutD7Ek9ndkR8Fxy6WAoQtgu7UcAmZCTa6SzawA= github.com/go-swagger/go-swagger v0.30.0/go.mod h1:GhZVX/KIBM4VpGp4P7AJOIrlTuBeRVPS+j9kk6rFmfY= github.com/go-swagger/scan-repo-boundary v0.0.0-20180623220736-973b3573c013 h1:l9rI6sNaZgNC0LnF3MiE+qTmyBA/tZAg1rtyrGbUMK0= -github.com/go-test/deep v1.0.2-0.20181118220953-042da051cf31/go.mod h1:wGDj63lr65AM2AQyKZd/NYHGb0R+1RLqB8NKt3aSFNA= github.com/gobuffalo/attrs v0.0.0-20190224210810-a9411de4debd/go.mod h1:4duuawTqi2wkkpB4ePgWMaai6/Kc6WEz83bhFwpHzj0= github.com/gobuffalo/attrs v1.0.3/go.mod h1:KvDJCE0avbufqS0Bw3UV7RQynESY0jjod+572ctX4t8= github.com/gobuffalo/depgen v0.0.0-20190329151759-d478694a28d3/go.mod h1:3STtPUQYuzV0gBVOY3vy6CfMm/ljR4pABfrTeHNLHUY= @@ -486,7 +472,6 @@ github.com/google/go-cmp v0.5.3/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/ github.com/google/go-cmp v0.5.4/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.5/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= github.com/google/go-cmp v0.5.6/go.mod h1:v8dTdLbMG2kIc/vJvl+f65V22dbkXbowE6jgT/gNBxE= -github.com/google/go-cmp v0.5.7/go.mod h1:n+brtR0CgQNWTVd5ZUFpTBC8YFBDLK/h/bpaJ8/DtOE= github.com/google/go-cmp v0.5.9 h1:O2Tfq5qg4qc4AmwVlvv0oLiVAGB7enBSJ2x2DqQFi38= github.com/google/go-cmp v0.5.9/go.mod h1:17dUlkBOakJ0+DkrSSNjCkIjxS6bF9zb3elmeNGIjoY= github.com/google/go-replayers/grpcreplay v0.1.0 h1:eNb1y9rZFmY4ax45uEEECSa8fsxGRU+8Bil52ASAwic= @@ -561,37 +546,24 @@ github.com/grpc-ecosystem/grpc-gateway/v2 v2.7.0/go.mod h1:hgWBS7lorOAVIJEQMi4Zs github.com/grpc-ecosystem/grpc-gateway/v2 v2.12.0 h1:kr3j8iIMR4ywO/O0rvksXaJvauGGCMg2zAZIiNZ9uIQ= github.com/grpc-ecosystem/grpc-gateway/v2 v2.12.0/go.mod h1:ummNFgdgLhhX7aIiy35vVmQNS0rWXknfPE0qe6fmFXg= github.com/hashicorp/consul/api v1.1.0/go.mod h1:VmuI/Lkw1nC05EYQWNKwWGbkg+FbDBtguAZLlVdkD9Q= -github.com/hashicorp/consul/api v1.13.0/go.mod h1:ZlVrynguJKcYr54zGaDbaL3fOvKC9m72FhPvA8T35KQ= github.com/hashicorp/consul/sdk v0.1.1/go.mod h1:VKf9jXwCTEY1QZP2MOLRhb5i/I/ssyNV1vwHyQBF0x8= -github.com/hashicorp/consul/sdk v0.8.0/go.mod h1:GBvyrGALthsZObzUGsfgHZQDXjg4lOjagTIwIR1vPms= github.com/hashicorp/errwrap v1.0.0/go.mod h1:YH+1FKiLXxHSkmPseP+kNlulaMuP3n2brvKWEqk/Jc4= -github.com/hashicorp/go-cleanhttp v0.5.0/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.1/go.mod h1:JpRdi6/HCYpAwUzNwuwqhbovhLtngrth3wmdIIUrZ80= github.com/hashicorp/go-cleanhttp v0.5.2 h1:035FKYIWjmULyFRBKPs8TBQoi0x6d9G4xc9neXJWAZQ= github.com/hashicorp/go-cleanhttp v0.5.2/go.mod h1:kO/YDlP8L1346E6Sodw+PrpBSV4/SoxCXGY6BqNFT48= -github.com/hashicorp/go-hclog v0.0.0-20180709165350-ff2cf002a8dd/go.mod h1:9bjs9uLqI8l75knNv3lV1kA55veR+WUPSiKIWcQHudI= -github.com/hashicorp/go-hclog v0.8.0/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= github.com/hashicorp/go-hclog v0.9.2/go.mod h1:5CU+agLiy3J7N7QjHK5d05KxGsuXiQLrjA0H7acj2lQ= -github.com/hashicorp/go-hclog v0.12.0/go.mod h1:whpDNt7SSdeAju8AWKIWsul05p54N/39EeqMAyrmvFQ= github.com/hashicorp/go-hclog v1.2.0 h1:La19f8d7WIlm4ogzNHB0JGqs5AUDAZ2UfCY4sJXcJdM= github.com/hashicorp/go-immutable-radix v1.0.0/go.mod h1:0y9vanUI8NX6FsYoO3zeMjhV/C5i9g4Q3DwcSNZ4P60= github.com/hashicorp/go-msgpack v0.5.3/go.mod h1:ahLV/dePpqEmjfWmKiqvPkv/twdG7iPBM1vqhUKIvfM= github.com/hashicorp/go-multierror v1.0.0/go.mod h1:dHtQlpGsu+cZNNAkkCN/P3hoUDHhCYQXV3UM06sGGrk= -github.com/hashicorp/go-multierror v1.1.0/go.mod h1:spPvp8C1qA32ftKqdAHm4hHTbPw+vmowP0z+KUhOZdA= -github.com/hashicorp/go-plugin v1.0.1/go.mod h1:++UyYGoz3o5w9ZzAdZxtQKrWWP+iqPBn3cQptSMzBuY= -github.com/hashicorp/go-retryablehttp v0.5.4/go.mod h1:9B5zBasrRhHXnJnui7y6sL7es7NDiJgTc6Er0maI1Xs= github.com/hashicorp/go-retryablehttp v0.6.8/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-retryablehttp v0.7.1 h1:sUiuQAnLlbvmExtFQs72iFW/HXeUn8Z1aJLQ4LJJbTQ= github.com/hashicorp/go-retryablehttp v0.7.1/go.mod h1:vAew36LZh98gCBJNLH42IQ1ER/9wtLZZ8meHqQvEYWY= github.com/hashicorp/go-rootcerts v1.0.0/go.mod h1:K6zTfqpRlCUIjkwsN4Z+hiSfzSTQa6eBIzfwKfwNnHU= -github.com/hashicorp/go-rootcerts v1.0.1/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= -github.com/hashicorp/go-rootcerts v1.0.2/go.mod h1:pqUvnprVnM5bf7AOirdbb01K4ccR319Vf4pU3K5EGc8= github.com/hashicorp/go-sockaddr v1.0.0/go.mod h1:7Xibr9yA9JjQq1JpNB2Vw7kxv8xerXegt+ozgdvDeDU= -github.com/hashicorp/go-sockaddr v1.0.2/go.mod h1:rB4wwRAUzs07qva3c5SdrY/NEtAUjGlgmH/UkBUC97A= github.com/hashicorp/go-syslog v1.0.0/go.mod h1:qPfqrKkXGihmCqbJM2mZgkZGvKG1dFdvsLplgctolz4= github.com/hashicorp/go-uuid v1.0.0/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= github.com/hashicorp/go-uuid v1.0.1/go.mod h1:6SBZvOh/SIDV7/2o3Jml5SYk/TvGqwFJ/bN7x4byOro= -github.com/hashicorp/go-version v1.1.0/go.mod h1:fltr4n8CU8Ke44wwGCBoEymUuxUHl09ZGVZPK5anwXA= github.com/hashicorp/go.net v0.0.1/go.mod h1:hjKkEWcCURg++eb33jQU7oqQcI9XDCnUzHA0oac0k90= github.com/hashicorp/golang-lru v0.5.0/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= github.com/hashicorp/golang-lru v0.5.1/go.mod h1:/m3WP610KZHVQ1SGc6re/UDhFvYD7pJ4Ao+sR/qLZy8= @@ -599,17 +571,8 @@ github.com/hashicorp/hcl v1.0.0 h1:0Anlzjpi4vEasTeNFn2mLJgTSwt0+6sfsiTG8qcWGx4= github.com/hashicorp/hcl v1.0.0/go.mod h1:E5yfLk+7swimpb2L/Alb/PJmXilQ/rhwaUYs4T20WEQ= github.com/hashicorp/logutils v1.0.0/go.mod h1:QIAnNjmIWmVIIkWDTG1z5v++HQmx9WQRO+LraFDTW64= github.com/hashicorp/mdns v1.0.0/go.mod h1:tL+uN++7HEJ6SQLQ2/p+z2pH24WQKWjBPkE0mNTz8vQ= -github.com/hashicorp/mdns v1.0.4/go.mod h1:mtBihi+LeNXGtG8L9dX59gAEa12BDtBQSp4v/YAJqrc= github.com/hashicorp/memberlist v0.1.3/go.mod h1:ajVTdAv/9Im8oMAAj5G31PhhMCZJV2pPBoIllUwCN7I= -github.com/hashicorp/memberlist v0.3.0/go.mod h1:MS2lj3INKhZjWNqd3N0m3J+Jxf3DAOnAH9VT3Sh9MUE= github.com/hashicorp/serf v0.8.2/go.mod h1:6hOLApaqBFA1NXqRQAsxw9QxuDEvNxSQRwA/JwenrHc= -github.com/hashicorp/serf v0.9.6/go.mod h1:TXZNMjZQijwlDvp+r0b63xZ45H7JmCmgg4gpTwn9UV4= -github.com/hashicorp/vault/api v1.0.4/go.mod h1:gDcqh3WGcR1cpF5AJz/B1UFheUEneMoIospckxBxk6Q= -github.com/hashicorp/vault/sdk v0.1.13/go.mod h1:B+hVj7TpuQY1Y/GPbCpffmgd+tSEwvhkWnjtSYCaS2M= -github.com/hashicorp/yamux v0.0.0-20180604194846-3520598351bb/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= -github.com/hashicorp/yamux v0.0.0-20181012175058-2f1d1f20f75d/go.mod h1:+NfK9FKeTrX5uv1uIXGdwYDTeHna2qgaIlx54MXqjAM= -github.com/hjson/hjson-go/v4 v4.0.0 h1:wlm6IYYqHjOdXH1gHev4VoXCaW20HdQAGCxdOEEg2cs= -github.com/hjson/hjson-go/v4 v4.0.0/go.mod h1:KaYt3bTw3zhBjYqnXkYywcYctk0A2nxeEFTse3rH13E= github.com/huandu/xstrings v1.3.1/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= github.com/huandu/xstrings v1.3.2 h1:L18LIDzqlW6xN2rEkpdV8+oL/IXWJ1APd+vsdYy4Wdw= github.com/huandu/xstrings v1.3.2/go.mod h1:y5/lhBue+AyNmUVz9RLU9xbLR0o4KIIExikq4ovT0aE= @@ -682,6 +645,7 @@ github.com/jackc/puddle v1.3.0/go.mod h1:m4B5Dj62Y0fbyuIc15OsIqK0+JU8nkqQjsgx7dv github.com/jandelgado/gcov2lcov v1.0.4/go.mod h1:NnSxK6TMlg1oGDBfGelGbjgorT5/L3cchlbtgFYZSss= github.com/jandelgado/gcov2lcov v1.0.5 h1:rkBt40h0CVK4oCb8Dps950gvfd1rYvQ8+cWa346lVU0= github.com/jandelgado/gcov2lcov v1.0.5/go.mod h1:NnSxK6TMlg1oGDBfGelGbjgorT5/L3cchlbtgFYZSss= +github.com/jessevdk/go-flags v1.4.0/go.mod h1:4FA24M0QyGHXBuZZK/XkWh8h0e1EYbRYJSGM75WSRxI= github.com/jessevdk/go-flags v1.5.0 h1:1jKYvbxEjfUl0fmqTCOfonvskHHXMjBySTLW4y9LFvc= github.com/jessevdk/go-flags v1.5.0/go.mod h1:Fw0T6WPc1dYxT4mKEZRfG5kJhaTDP9pj1c2EWnYs/m4= github.com/jinzhu/inflection v1.0.0/go.mod h1:h+uFLlag+Qp1Va5pdKtLDYj+kHp5pxUVkryuEj+Srlc= @@ -720,8 +684,19 @@ github.com/kisielk/errcheck v1.1.0/go.mod h1:EZBBE59ingxPouuu3KfxchcWSUPOHkagtvW github.com/kisielk/errcheck v1.5.0/go.mod h1:pFxgyoBC7bSaBwPgfKdkLd5X25qrDl4LWUI2bnpBCr8= github.com/kisielk/gotool v1.0.0/go.mod h1:XhKaO+MFFWcvkIS/tQcRk01m1F5IRFswLeQ+oQHNcck= github.com/klauspost/compress v1.13.6/go.mod h1:/3/Vjq9QcHkK5uEr5lBEmyoZ1iFhe47etQ6QUkpK6sk= -github.com/knadh/koanf v1.4.4 h1:d2jY5nCCeoaiqvEKSBW9rEc93EfNy/XWgWsSB3j7JEA= -github.com/knadh/koanf v1.4.4/go.mod h1:Hgyjp4y8v44hpZtPzs7JZfRAW5AhN7KfZcwv1RYggDs= +github.com/knadh/koanf/maps v0.1.1 h1:G5TjmUh2D7G2YWf5SQQqSiHRJEjaicvU0KpypqB3NIs= +github.com/knadh/koanf/maps v0.1.1/go.mod h1:npD/QZY3V6ghQDdcQzl1W4ICNVTkohC8E73eI2xW4yI= +github.com/knadh/koanf/parsers/json v0.1.0 h1:dzSZl5pf5bBcW0Acnu20Djleto19T0CfHcvZ14NJ6fU= +github.com/knadh/koanf/parsers/json v0.1.0/go.mod h1:ll2/MlXcZ2BfXD6YJcjVFzhG9P0TdJ207aIBKQhV2hY= +github.com/knadh/koanf/parsers/toml v0.1.0 h1:S2hLqS4TgWZYj4/7mI5m1CQQcWurxUz6ODgOub/6LCI= +github.com/knadh/koanf/parsers/toml v0.1.0/go.mod h1:yUprhq6eo3GbyVXFFMdbfZSo928ksS+uo0FFqNMnO18= +github.com/knadh/koanf/parsers/yaml v0.1.0 h1:ZZ8/iGfRLvKSaMEECEBPM1HQslrZADk8fP1XFUxVI5w= +github.com/knadh/koanf/parsers/yaml v0.1.0/go.mod h1:cvbUDC7AL23pImuQP0oRw/hPuccrNBS2bps8asS0CwY= +github.com/knadh/koanf/providers/posflag v0.1.0 h1:mKJlLrKPcAP7Ootf4pBZWJ6J+4wHYujwipe7Ie3qW6U= +github.com/knadh/koanf/providers/posflag v0.1.0/go.mod h1:SYg03v/t8ISBNrMBRMlojH8OsKowbkXV7giIbBVgbz0= +github.com/knadh/koanf/providers/rawbytes v0.1.0 h1:dpzgu2KO6uf6oCb4aP05KDmKmAmI51k5pe8RYKQ0qME= +github.com/knadh/koanf/v2 v2.0.1 h1:1dYGITt1I23x8cfx8ZnldtezdyaZtfAuRtIFOiRzK7g= +github.com/knadh/koanf/v2 v2.0.1/go.mod h1:ZeiIlIDXTE7w1lMT6UVcNiRAS2/rCeLn/GdLNvY1Dus= github.com/konsorten/go-windows-terminal-sequences v1.0.1/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.2/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= github.com/konsorten/go-windows-terminal-sequences v1.0.3/go.mod h1:T0+1ngSBFLxvqU3pZ+m/2kptfBszLMUkC4ZK/EgS/cQ= @@ -763,7 +738,6 @@ github.com/markbates/oncer v0.0.0-20181203154359-bf2de49a0be2/go.mod h1:Ld9puTsI github.com/markbates/safe v1.0.1/go.mod h1:nAqgmRi7cY2nqMc92/bSEeQA+R4OheNU2T1kNSCBdG0= github.com/mattn/go-colorable v0.0.9/go.mod h1:9vuHe8Xs5qXnSaW/c/ABM9alt+Vo+STaOChaDxuIBZU= github.com/mattn/go-colorable v0.1.1/go.mod h1:FuOcm+DKB9mbwrcAfNl7/TZVBZ6rcnceauSikq3lYCQ= -github.com/mattn/go-colorable v0.1.4/go.mod h1:U0ppj6V5qS13XJ6of8GYAs25YV2eR4EVcfRqFIhoBtE= github.com/mattn/go-colorable v0.1.6/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.8/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= github.com/mattn/go-colorable v0.1.9/go.mod h1:u6P/XSegPjTcexA+o6vUJrdnUu04hMope9wVRipJSqc= @@ -776,9 +750,6 @@ github.com/mattn/go-ieproxy v0.0.1/go.mod h1:pYabZ6IHcRpFh7vIaLfK7rdcWgFEb3SFJ6/ github.com/mattn/go-isatty v0.0.3/go.mod h1:M+lRXTBqGeGNdLjl/ufCoiOlB5xdOkqRJdNxMWT7Zi4= github.com/mattn/go-isatty v0.0.5/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= github.com/mattn/go-isatty v0.0.7/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.8/go.mod h1:Iq45c/XA43vh69/j3iqttzPXn0bhXyGjM0Hdxcsrc5s= -github.com/mattn/go-isatty v0.0.10/go.mod h1:qgIWMr58cqv1PHHyhnkY9lrL7etaEgOFcMEpPG5Rm84= -github.com/mattn/go-isatty v0.0.11/go.mod h1:PhnuNfih5lzO57/f3n+odYbM4JtupLOxQOAqxQCu2WE= github.com/mattn/go-isatty v0.0.12/go.mod h1:cbi8OIDigv2wuxKPP5vlRcQ1OAZbq2CE4Kysco4FUpU= github.com/mattn/go-isatty v0.0.14/go.mod h1:7GGIvUiUoEMVVmxf/4nioHXj79iQHKdU27kJ6hsGG94= github.com/mattn/go-isatty v0.0.16 h1:bq3VjFmv/sOjHtdEhmkEV4x1AJtvUvOJ2PFAZ5+peKQ= @@ -794,19 +765,14 @@ github.com/microcosm-cc/bluemonday v1.0.20/go.mod h1:yfBmMi8mxvaZut3Yytv+jTXRY8m github.com/microcosm-cc/bluemonday v1.0.21 h1:dNH3e4PSyE4vNX+KlRGHT5KrSvjeUkoNPwEORjffHJg= github.com/microcosm-cc/bluemonday v1.0.21/go.mod h1:ytNkv4RrDrLJ2pqlsSI46O6IVXmZOBBD4SaJyDwwTkM= github.com/miekg/dns v1.0.14/go.mod h1:W1PPwlIAgtquWBMBEV9nkV9Cazfe8ScdGz/Lj7v3Nrg= -github.com/miekg/dns v1.1.26/go.mod h1:bPDLeHnStXmXAq1m/Ch/hvfNHr14JKNPMBo3VZKjuso= -github.com/miekg/dns v1.1.41/go.mod h1:p6aan82bvRIyn+zDIv9xYNUpwa73JcSh9BKwknJysuI= github.com/mitchellh/cli v1.0.0/go.mod h1:hNIlj7HEI86fIcpObd7a0FcrxTWetlwJDGcceTlRvqc= -github.com/mitchellh/cli v1.1.0/go.mod h1:xcISNoH86gajksDmfB23e/pu+B+GeFRMYmoHXxx3xhI= github.com/mitchellh/copystructure v1.0.0/go.mod h1:SNtv71yrdKgLRyLFxmLdkAbkKEFWgYaq1OVrnRcwhnw= github.com/mitchellh/copystructure v1.2.0 h1:vpKXTN4ewci03Vljg/q9QvCGUDttBOGBIa15WveJJGw= github.com/mitchellh/copystructure v1.2.0/go.mod h1:qLl+cE2AmVv+CoeAwDPye/v+N2HKCj9FbZEVFJRxO9s= github.com/mitchellh/go-homedir v1.0.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= github.com/mitchellh/go-homedir v1.1.0 h1:lukF9ziXFxDFPkA1vsr5zpc1XuPDn/wFntq5mG+4E0Y= github.com/mitchellh/go-homedir v1.1.0/go.mod h1:SfyaCUpYCn1Vlf4IUYiD9fPX4A5wJrkLzIz1N1q0pr0= -github.com/mitchellh/go-testing-interface v0.0.0-20171004221916-a61a99592b77/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= github.com/mitchellh/go-testing-interface v1.0.0/go.mod h1:kRemZodwjscx+RGhAo8eIhFbs2+BFgRtFPeD/KE+zxI= -github.com/mitchellh/go-wordwrap v1.0.0/go.mod h1:ZXFpozHsX6DPmq2I0TCekCxypsnAUbP2oI0UX1GXzOo= github.com/mitchellh/gox v0.4.0/go.mod h1:Sd9lOJ0+aimLBi73mGofS1ycjY8lL3uZM3JPS42BGNg= github.com/mitchellh/iochan v1.0.0/go.mod h1:JwYml1nuB7xOzsp52dPpHFffvOCDupsG0QubkSMEySY= github.com/mitchellh/mapstructure v0.0.0-20160808181253-ca63d7c062ee/go.mod h1:FVVH3fgwuzCH5S8UJGiWEs2h04kUh9fWfEaFds41c1Y= @@ -836,11 +802,9 @@ github.com/mrunalp/fileutils v0.5.0/go.mod h1:M1WthSahJixYnrXQl/DFQuteStB1weuxD2 github.com/mwitkow/go-conntrack v0.0.0-20161129095857-cc309e4a2223/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/mwitkow/go-conntrack v0.0.0-20190716064945-2f068394615f/go.mod h1:qRWi+5nqEBWmkhHvq77mSJWrCKwh8bxhgT7d/eI7P4U= github.com/niemeyer/pretty v0.0.0-20200227124842-a10e7caefd8e/go.mod h1:zD1mROLANZcx1PVRCS0qkT7pwLkGfwJo4zjcN/Tysno= -github.com/npillmayer/nestext v0.1.3/go.mod h1:h2lrijH8jpicr25dFY+oAJLyzlya6jhnuG+zWp9L0Uk= github.com/nyaruka/phonenumbers v1.0.73/go.mod h1:3aiS+PS3DuYwkbK3xdcmRwMiPNECZ0oENH8qUT1lY7Q= github.com/nyaruka/phonenumbers v1.1.1 h1:fyoZmpLN2VCmAnc51XcrNOUVP2wT1ZzQl348ggIaXII= github.com/nyaruka/phonenumbers v1.1.1/go.mod h1:cGaEsOrLjIL0iKGqJR5Rfywy86dSkbApEpXuM9KySNA= -github.com/oklog/run v1.0.0/go.mod h1:dlhp/R75TPv97u0XWUtDeV/lRKWPKSdTuV0TZvrmrQA= github.com/oklog/ulid v1.3.1 h1:EGfNDEx6MqHz8B3uNV6QAib1UR2Lm97sHi3ocA6ESJ4= github.com/oklog/ulid v1.3.1/go.mod h1:CirwcVhetQ6Lv90oh/F+FBtV6XMibvdAFo93nm5qn4U= github.com/oleiade/reflections v1.0.1 h1:D1XO3LVEYroYskEsoSiGItp9RUxG6jWnCVvrqH0HHQM= @@ -882,10 +846,9 @@ github.com/ory/ladon v1.1.0/go.mod h1:25bNc/Glx/8xCH7MbItDxjvviAmFQ+aYxb1V1SE5wl github.com/ory/pagination v0.0.1/go.mod h1:d1ToRROAUleriPhmb2dYbhANhhLwZ8s395m2yJCDFh8= github.com/ory/viper v1.7.5 h1:+xVdq7SU3e1vNaCsk/ixsfxE4zylk1TJUiJrY647jUE= github.com/ory/viper v1.7.5/go.mod h1:ypOuyJmEUb3oENywQZRgeAMwqgOyDqwboO1tj3DjTaM= -github.com/ory/x v0.0.556 h1:dZWjM5+MyUFZwTO2ReySz6BP3tcn4XRRl6Gmktr6vx0= -github.com/ory/x v0.0.556/go.mod h1:YuiBfxCRM8dhKl/qUiTRwFvqM/xJp4ZYfwDS2LKQFG4= +github.com/ory/x v0.0.559 h1:7H1JQbyMyYgGLeUsshzNgKayOp93xyR/nkgaIiTAOWM= +github.com/ory/x v0.0.559/go.mod h1:kup4ebSC4SzwU6KPZJ4G60UR3EEsHxJ0apQVflVw5yQ= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= -github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pborman/uuid v1.2.1 h1:+ZZIw58t/ozdjRaXh/3awHfmWRbzYxJoAdNJxe/3pvw= github.com/pborman/uuid v1.2.1/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= @@ -899,7 +862,6 @@ github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvI github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2 h1:JhzVVoYvbOACxoUmOs6V/G4D5nPVUW73rKvXxP4XUJc= github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE= -github.com/pierrec/lz4 v2.0.5+incompatible/go.mod h1:pdkljMzZIN41W+lC3N2tnIh5sFi+IEE17M5jbnwPHcY= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= github.com/pkg/errors v0.8.0/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= github.com/pkg/errors v0.8.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0= @@ -912,13 +874,11 @@ github.com/pkg/sftp v1.13.1/go.mod h1:3HaPG6Dq1ILlpPZRO0HVMrsydcdLt6HRDccSgb87qR github.com/pmezard/go-difflib v1.0.0 h1:4DBwDE0NGyQoBHbLQYPwSUPoCMWR5BEzIk/f1lZbAQM= github.com/pmezard/go-difflib v1.0.0/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/posener/complete v1.1.1/go.mod h1:em0nMJCgc9GFtwrmVmEMR/ZL6WyhyjMBndrE9hABlRI= -github.com/posener/complete v1.2.3/go.mod h1:WZIdtGGp+qx0sLrYKtIRAruyNpv6hFCicSgv7Sy7s/s= github.com/prometheus/client_golang v0.9.1/go.mod h1:7SWBe2y4D6OKWSNQJUaRYU/AaXPKyh/dDVn+NZz0KFw= github.com/prometheus/client_golang v0.9.3/go.mod h1:/TN21ttK/J9q6uSwhBd54HahCDft0ttaMvbicHlPoso= github.com/prometheus/client_golang v1.0.0/go.mod h1:db9x61etRT2tGnBNRi70OPL5FsnadC4Ky3P0J6CfImo= github.com/prometheus/client_golang v1.7.1/go.mod h1:PY5Wy2awLA44sXw4AOSfFBetzPP4j5+D6mVACh+pe2M= github.com/prometheus/client_golang v1.11.0/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= -github.com/prometheus/client_golang v1.11.1/go.mod h1:Z6t4BnS23TR94PD6BsDNk8yVqroYurpAkEiz0P2BEV0= github.com/prometheus/client_golang v1.12.1/go.mod h1:3Z9XVyYiZYEO+YQWt3RD2R3jrbd179Rt297l4aS6nDY= github.com/prometheus/client_golang v1.13.0 h1:b71QUfeo5M8gq2+evJdTPfZhYMAU0uKPkyPJ7TPsloU= github.com/prometheus/client_golang v1.13.0/go.mod h1:vTeo+zgvILHsnnj/39Ou/1fPN5nJFOEMgftOUOmlvYQ= @@ -945,7 +905,6 @@ github.com/prometheus/procfs v0.7.3/go.mod h1:cz+aTbrPOrUb4q7XlbU9ygM+/jj0fzG6c1 github.com/prometheus/procfs v0.8.0 h1:ODq8ZFEaYeCaZOJlZZdJA2AbQR98dSHSM1KW/You5mo= github.com/prometheus/procfs v0.8.0/go.mod h1:z7EfXMXOkbkqb9IINtpCn86r/to3BnA0uaxHdg830/4= github.com/prometheus/tsdb v0.7.1/go.mod h1:qhTCs0VvXwvX/y3TZrWD7rabWM+ijKTux40TwIPHuXU= -github.com/rhnvrm/simples3 v0.6.1/go.mod h1:Y+3vYm2V7Y4VijFoJHHTrja6OgPrJ2cBti8dPGkC3sA= github.com/rogpeppe/fastuuid v0.0.0-20150106093220-6724a57986af/go.mod h1:XWv6SoW27p1b0cqNHllgS5HIMJraePCO15w5zCzIWYg= github.com/rogpeppe/fastuuid v1.2.0/go.mod h1:jVj6XXZzXRy/MSR5jhDC/2q6DgLz+nrA6LYCDYWNEvQ= github.com/rogpeppe/go-internal v1.1.0/go.mod h1:M8bDsm7K2OlrFYOpmOWEs/qY81heoFRclV5y23lUDJ4= @@ -963,8 +922,6 @@ github.com/russross/blackfriday/v2 v2.0.1/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQD github.com/russross/blackfriday/v2 v2.1.0 h1:JIOH55/0cWyOuilr9/qlrm0BSXldqnqwMsf35Ld67mk= github.com/russross/blackfriday/v2 v2.1.0/go.mod h1:+Rmxgy9KzJVeS9/2gXHxylqXiyQDYRxCVz55jmeOWTM= github.com/ryanuber/columnize v0.0.0-20160712163229-9b3edd62028f/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/ryanuber/columnize v2.1.0+incompatible/go.mod h1:sm1tb6uqfes/u+d4ooFouqFdy9/2g9QGwK3SQygK0Ts= -github.com/ryanuber/go-glob v1.0.0/go.mod h1:807d1WSdnB0XRJzKNil9Om6lcp/3a0v4qIHxIXzX/Yc= github.com/satori/go.uuid v1.2.0/go.mod h1:dA0hQrYB0VpLJoorglMZABFdXlWrHn1NEOzdhQKdks0= github.com/sean-/seed v0.0.0-20170313163322-e2103e2c3529/go.mod h1:DxrIzT+xaE7yg65j358z/aeFdxmN0P9QXhEzd20vsDc= github.com/seatgeek/logrus-gelf-formatter v0.0.0-20210414080842-5b05eb8ff761 h1:0b8DF5kR0PhRoRXDiEEdzrgBc8UqVY4JWLkQJCRsLME= @@ -1098,9 +1055,6 @@ github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1 github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= -go.etcd.io/etcd/api/v3 v3.5.4/go.mod h1:5GB2vv4A4AOn3yk7MftYGHkUfGtDHnEraIjym4dYz5A= -go.etcd.io/etcd/client/pkg/v3 v3.5.4/go.mod h1:IJHfcCEKxYu1Os13ZdwCwIUTUVGYTSAM3YSwc9/Ac1g= -go.etcd.io/etcd/client/v3 v3.5.4/go.mod h1:ZaRkVgBZC+L+dLCjTcF1hRXpgZXQPOvnA/Ak/gq3kiY= go.mongodb.org/mongo-driver v1.7.3/go.mod h1:NqaYOwnXWr5Pm7AOpO5QFxKJ503nbMse/R79oO62zWg= go.mongodb.org/mongo-driver v1.7.5/go.mod h1:VXEWRZ6URJIkUq2SCAyapmhH0ZLRBP+FT4xhp5Zvxng= go.mongodb.org/mongo-driver v1.8.3/go.mod h1:0sQWfOeY63QTntERDJJ/0SuKK0T1uVSgKCuAROlKEPY= @@ -1152,17 +1106,14 @@ go.uber.org/atomic v1.3.2/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.4.0/go.mod h1:gD2HeocX3+yG+ygLZcrzQJaqmWj9AIm7n08wl/qW/PE= go.uber.org/atomic v1.5.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= go.uber.org/atomic v1.6.0/go.mod h1:sABNBOSYdrvTF6hTgEIbc7YasKWGhgEQZyfxyTvoXHQ= -go.uber.org/atomic v1.7.0/go.mod h1:fEN4uk6kAWBTFdckzkM89CLk9XfWZrxpCo0nPH17wJc= go.uber.org/goleak v1.2.1 h1:NBol2c7O1ZokfZ0LEU9K6Whx/KnwvepVetCUhtKja4A= go.uber.org/multierr v1.1.0/go.mod h1:wR5kodmAFQ0UK8QlbwjlSNy0Z68gJhDJUG5sjR94q/0= go.uber.org/multierr v1.3.0/go.mod h1:VgVr7evmIr6uPjLBxg28wmKNXyqE9akIJ5XnfpiKl+4= go.uber.org/multierr v1.5.0/go.mod h1:FeouvMocqHpRaaGuG9EjoKcStLC43Zu/fmqdUMPcKYU= -go.uber.org/multierr v1.6.0/go.mod h1:cdWPpRnG4AhwMwsgIHip0KRBQjJy5kYEpYjJxpXp9iU= go.uber.org/tools v0.0.0-20190618225709-2cfd321de3ee/go.mod h1:vJERXedbb3MVM5f9Ejo0C68/HhF8uaILCdgjnY+goOA= go.uber.org/zap v1.9.1/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.10.0/go.mod h1:vwi/ZaCAaUcBkycHslxD9B2zi4UTXhF60s6SWpuDF0Q= go.uber.org/zap v1.13.0/go.mod h1:zwrFLgMcdUuIBviXEYEH1YKNaOBnKXsx2IPda5bBwHM= -go.uber.org/zap v1.17.0/go.mod h1:MXVU+bhUf/A7Xi2HNOnopQOrmycQ5Ih87HtOu4q5SSo= gocloud.dev v0.20.0 h1:mbEKMfnyPV7W1Rj35R1xXfjszs9dXkwSOq2KoFr25g8= gocloud.dev v0.20.0/go.mod h1:+Y/RpSXrJthIOM8uFNzWp6MRu9pFPNFEEZrQMxpkfIc= golang.org/x/crypto v0.0.0-20180904163835-0709b304e793/go.mod h1:6SG95UA2DQfeDnfUPMdvaQW0Q7yPrPDi9nlGo2tz2b4= @@ -1174,7 +1125,6 @@ golang.org/x/crypto v0.0.0-20190510104115-cbcb75029529/go.mod h1:yigFU9vqHzYiE8U golang.org/x/crypto v0.0.0-20190605123033-f99c8df09eb5/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190820162420-60c769a6c586/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20190911031432-227b76d455e7/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= -golang.org/x/crypto v0.0.0-20190923035154-9ee001bba392/go.mod h1:/lpIB1dKB+9EgE3H3cr1v9wB50oz8l4C4h62xy7jSTY= golang.org/x/crypto v0.0.0-20191011191535-87dc89f01550/go.mod h1:yigFU9vqHzYiE8UmvKecakEJjdnWj3jj499lnFckfCI= golang.org/x/crypto v0.0.0-20191206172530-e9b2fee46413/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= golang.org/x/crypto v0.0.0-20200302210943-78000ba7a073/go.mod h1:LzIPMQfyMNhhGPhUkYOs5KpL4U8rLKemX1yGLhDgUto= @@ -1252,7 +1202,6 @@ golang.org/x/net v0.0.0-20190620200207-3b0461eec859/go.mod h1:z5CRVTTTmAJ677TzLL golang.org/x/net v0.0.0-20190628185345-da137c7871d7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190724013045-ca1201d0de80/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20190813141303-74dc4d7220e7/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= -golang.org/x/net v0.0.0-20190923162816-aa69164e4478/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191112182307-2180aed22343/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20191209160850-c0dbc17a3553/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= golang.org/x/net v0.0.0-20200114155413-6afb5195e5aa/go.mod h1:z5CRVTTTmAJ677TzLLGU+0bjPO0LkuOLi4/5GtJWs/s= @@ -1278,7 +1227,6 @@ golang.org/x/net v0.0.0-20210119194325-5f4716e94777/go.mod h1:m0MpNAwzfU5UDzcl9v golang.org/x/net v0.0.0-20210226172049-e18ecbb05110/go.mod h1:m0MpNAwzfU5UDzcl9v0D8zg8gWTRqZa9RBIspLL5mdg= golang.org/x/net v0.0.0-20210316092652-d523dce5a7f4/go.mod h1:RBQZq4jEuRlivfhVLdyRGr576XBO4/greRjx4P4O3yc= golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96bSt6lcn1PtDYWL6XObtHCRCNQM= -golang.org/x/net v0.0.0-20210410081132-afb366fc7cd1/go.mod h1:9tjilg8BloeKEkVJvy7fQ90B1CfIiPueXVOjqfkSzI8= golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= @@ -1331,7 +1279,6 @@ golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5h golang.org/x/sys v0.0.0-20181026203630-95b1ffbd15a5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181107165924-66b7b1311ac8/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20181116152217-5ac8a444bdc5/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= -golang.org/x/sys v0.0.0-20190129075346-302c3dd5f1cc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190222072716-a9d3bda3a223/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20190312061237-fead79001313/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1347,11 +1294,8 @@ golang.org/x/sys v0.0.0-20190606203320-7fc4e5ec1444/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20190624142023-c5567b49c5d0/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190726091711-fc99dfbffb4e/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20190813064441-fde4db37ae7a/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190922100055-0a153f010e69/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20190924154521-2837fb4f24fe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191001151750-bb3f8db39f24/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191005200804-aed5e4c7ecf9/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20191008105621-543471e840be/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191026070338-33540a1f6037/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191112214154-59a1497f0cea/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20191115151921-52ab43148777/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1386,13 +1330,11 @@ golang.org/x/sys v0.0.0-20210119212857-b64e53b001e4/go.mod h1:h1NjWce9XRLGQEsW7w golang.org/x/sys v0.0.0-20210124154548-22da62e12c0c/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210220050731-9a76102bfb43/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210225134936-a50acf3fe073/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210303074136-134d130e1a04/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210305230114-8fe3ee5dd75b/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210309074719-68d13333faf2/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210315160823-c6e025ad8005/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210320140829-1e4c9ba3b0c4/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210330210617-4fbd30eecc44/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= -golang.org/x/sys v0.0.0-20210403161142-5e06dd20ab57/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210420072515-93ed5bcd2bfe/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423082822-04245dca01da/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= golang.org/x/sys v0.0.0-20210423185535-09eb48e85fd7/go.mod h1:h1NjWce9XRLGQEsW7wpKNCjG9DtNlClVuFLEZdDNbEs= @@ -1428,7 +1370,6 @@ golang.org/x/term v0.0.0-20220722155259-a9ba230a4035/go.mod h1:jbD1KX2456YbFQfuX golang.org/x/text v0.0.0-20170915032832-14c0d48ead0c/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= golang.org/x/text v0.3.1-0.20180807135948-17ff2d5776d2/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ= -golang.org/x/text v0.3.1-0.20181227161524-e6919f6577db/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.2/go.mod h1:bEr9sfX3Q8Zfm5fL9x+3itogRgK3+ptLWKqgva+5dAk= golang.org/x/text v0.3.3/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= @@ -1464,7 +1405,6 @@ golang.org/x/tools v0.0.0-20190624222133-a101b041ded4/go.mod h1:/rFqwRUd4F7ZHNgw golang.org/x/tools v0.0.0-20190628153133-6cdbf07be9d0/go.mod h1:/rFqwRUd4F7ZHNgwSSTFct+R/Kf4OFW1sUzUTQQTgfc= golang.org/x/tools v0.0.0-20190816200558-6889da9d5479/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190823170909-c4a336ef6a2f/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= -golang.org/x/tools v0.0.0-20190907020128-2ca718005c18/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20190911174233-4f2ddba30aff/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191012152004-8de300cfc20a/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= golang.org/x/tools v0.0.0-20191029041327-9cc4af7d6b2c/go.mod h1:b+2E5dAYhXwXZwtnZ6UAqBI28+e2cm9otk0dWdXHAEo= @@ -1513,7 +1453,6 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.2/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= golang.org/x/tools v0.5.0 h1:+bSpV5HIeWkuvgaMfI3UmKRThoTA5ODJTUd8T17NO+4= @@ -1563,7 +1502,6 @@ google.golang.org/appengine v1.6.7 h1:FZR1q0exgwxzPzp/aF+VccGrSfxfPpkBqjIIEq3ru6 google.golang.org/appengine v1.6.7/go.mod h1:8WjMMxjGQR8xUklV/ARdw2HLXBOI7O7uCIDZVag1xfc= google.golang.org/genproto v0.0.0-20180817151627-c66870c02cf8/go.mod h1:JiN7NxoALGmiZfu7CAH4rXhgtRTLTxftemlI0sWmxmc= google.golang.org/genproto v0.0.0-20190307195333-5fe7a883aa19/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= -google.golang.org/genproto v0.0.0-20190404172233-64821d5d2107/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190418145605-e7d98fc518a7/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190425155659-357c62f0e4bb/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= google.golang.org/genproto v0.0.0-20190502173448-54afdca5d873/go.mod h1:VzzqZJRnGkLBvHegQrXjBqPurQTc5/KpmUdxsrq26oE= @@ -1614,17 +1552,14 @@ google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaE google.golang.org/genproto v0.0.0-20210429181445-86c259c2b4ab/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20210517163617-5e0236093d7a/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20210602131652-f16073e35f0c/go.mod h1:UODoCrxHCcBojKKwX1terBiRUaqAsFqJiF615XL43r0= google.golang.org/genproto v0.0.0-20211020151524-b7c3a969101a/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef h1:uQ2vjV/sHTsWSqdKeLqmwitzgvjMl7o4IdtHwUDXSJY= google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= -google.golang.org/grpc v1.14.0/go.mod h1:yo6s7OP7yaDglbqo1J04qKzAhqBH6lvTonzMVmEdcZw= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= google.golang.org/grpc v1.21.1/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= -google.golang.org/grpc v1.22.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.23.0/go.mod h1:Y5yQAOtifL1yxbo5wqy6BxZv8vAUGQwXBOALyacEbxg= google.golang.org/grpc v1.25.1/go.mod h1:c3i+UQWmh7LiEpx4sFZnkU36qjEYZ0imhYfXVyQciAY= google.golang.org/grpc v1.26.0/go.mod h1:qbnxyOmOxrQa7FizSgH+ReBfzJrCY1pSN7KXBS8abTk= @@ -1643,7 +1578,6 @@ google.golang.org/grpc v1.36.0/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAG google.golang.org/grpc v1.36.1/go.mod h1:qjiiYl8FncCW8feJPdyg3v6XW24KsRHe+dy9BAGRRjU= google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= -google.golang.org/grpc v1.38.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= google.golang.org/grpc v1.52.0 h1:kd48UiU7EHsV4rnLyOJRuP/Il/UHE7gdDAQ+SZI7nZk= @@ -1667,7 +1601,6 @@ google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQ google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= -gopkg.in/asn1-ber.v1 v1.0.0-20181015200546-f715ec2f112d/go.mod h1:cuepJuh7vyXfUyUwEgHQXw849cJrilpS5NeIjOWESAw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20190902080502-41f04d3bba15/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= @@ -1683,7 +1616,6 @@ gopkg.in/ini.v1 v1.62.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/ini.v1 v1.67.0 h1:Dgnx+6+nfE+IfzjUEISNeydPJh9AXNNsWbGP9KzCsOA= gopkg.in/ini.v1 v1.67.0/go.mod h1:pNLf8WUiyNEtQjuu5G5vTm06TEv9tsIgeAvK8hOrP4k= gopkg.in/resty.v1 v1.12.0/go.mod h1:mDo4pnntr5jdWRML875a/NmxYqAlA73dVijT2AXvQQo= -gopkg.in/square/go-jose.v2 v2.3.1/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/square/go-jose.v2 v2.6.0 h1:NGk74WTnPKBNUhNzQX7PYcTLUjoq7mzKk2OKbvwk2iI= gopkg.in/square/go-jose.v2 v2.6.0/go.mod h1:M9dMgbHiYLoDGQrXy7OpJDJWiKiU//h+vD76mk0e1AI= gopkg.in/validator.v2 v2.0.0-20180514200540-135c24b11c19/go.mod h1:o4V0GXN9/CAmCsvJ0oXYZvrZOe7syiDZSN1GWGZTGzc= @@ -1719,4 +1651,3 @@ honnef.co/go/tools v0.0.1-2020.1.4/go.mod h1:X/FiERA/W4tHapMX5mGpAtMSVEeEUOyHaw9 rsc.io/binaryregexp v0.2.0/go.mod h1:qTv7/COck+e2FymRvadv62gMdZztPaShugOCi3I+8D8= rsc.io/quote/v3 v3.1.0/go.mod h1:yEA65RcK8LyAZtP9Kv3t0HmxON59tX3rD+tICJqUlj0= rsc.io/sampler v1.3.0/go.mod h1:T1hPZKmBbMNahiBKFy5HrXp6adAjACjK9JXDnKaTXpA= -sigs.k8s.io/yaml v1.2.0/go.mod h1:yfXDCHCao9+ENCvLSE62v9VSji2MKu5jeNfTrofGhJc= From c520e503511599b27967388a5db5e6d163c04212 Mon Sep 17 00:00:00 2001 From: Martin Bergqlin Date: Mon, 19 Jun 2023 09:13:07 +0200 Subject: [PATCH 32/63] fix: use Query.Get when fetching QueryParameter (#1106) --- .github/workflows/ci.yml | 2 +- helper/bearer.go | 5 +- helper/bearer_test.go | 31 +++++++- pipeline/authn/authenticator_jwt_test.go | 13 ++-- ...authenticator_oauth2_introspection_test.go | 5 +- test/bearer-token/.gitignore | 1 + test/bearer-token/config.yaml | 27 +++++++ test/bearer-token/okapi/main.go | 52 +++++++++++++ test/bearer-token/rules.1.json | 34 ++++++++ test/bearer-token/run.sh | 77 +++++++++++++++++++ 10 files changed, 233 insertions(+), 14 deletions(-) create mode 100644 test/bearer-token/.gitignore create mode 100644 test/bearer-token/config.yaml create mode 100644 test/bearer-token/okapi/main.go create mode 100644 test/bearer-token/rules.1.json create mode 100755 test/bearer-token/run.sh diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index cee35c656c..958e355134 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -63,7 +63,7 @@ jobs: name: Run tests strategy: matrix: - name: ["reload", "e2e", "forwarded-header"] + name: ["reload", "e2e", "forwarded-header", "bearer-token"] needs: - sdk-generate steps: diff --git a/helper/bearer.go b/helper/bearer.go index 70fc0e2377..95e724e57b 100644 --- a/helper/bearer.go +++ b/helper/bearer.go @@ -26,7 +26,10 @@ func BearerTokenFromRequest(r *http.Request, tokenLocation *BearerTokenLocation) } return r.Header.Get(*tokenLocation.Header) } else if tokenLocation.QueryParameter != nil { - return r.FormValue(*tokenLocation.QueryParameter) + if r.URL == nil { + return "" + } + return r.URL.Query().Get(*tokenLocation.QueryParameter) } else if tokenLocation.Cookie != nil { cookie, err := r.Cookie(*tokenLocation.Cookie) if err != nil { diff --git a/helper/bearer_test.go b/helper/bearer_test.go index 9c14f63dfe..55df867391 100644 --- a/helper/bearer_test.go +++ b/helper/bearer_test.go @@ -4,7 +4,10 @@ package helper_test import ( + "io" "net/http" + "net/url" + "strings" "testing" "github.com/stretchr/testify/assert" @@ -54,9 +57,7 @@ func TestBearerTokenFromRequest(t *testing.T) { expectedToken := "token" customQueryParameterName := "Custom-Auth" request := &http.Request{ - Form: map[string][]string{ - customQueryParameterName: {expectedToken}, - }, + URL: &url.URL{RawQuery: customQueryParameterName + "=" + expectedToken}, } tokenLocation := helper.BearerTokenLocation{QueryParameter: &customQueryParameterName} token := helper.BearerTokenFromRequest(request, &tokenLocation) @@ -77,4 +78,28 @@ func TestBearerTokenFromRequest(t *testing.T) { token := helper.BearerTokenFromRequest(request, &tokenLocation) assert.Equal(t, expectedToken, token) }) + + t.Run("case=Should not consume body when token from query parameter and Content-type is 'application/x-www-form-urlencoded' ", func(t *testing.T) { + expectedToken := "token" + customQueryParameterName := "Custom-Auth" + + request := &http.Request{ + Method: http.MethodPost, + URL: &url.URL{ + RawQuery: customQueryParameterName + "=" + expectedToken, + }, + Body: io.NopCloser(strings.NewReader("body")), + Header: http.Header{ + "Content-Type": {"application/x-www-form-urlencoded"}, + }, + } + + tokenLocation := helper.BearerTokenLocation{QueryParameter: &customQueryParameterName} + token := helper.BearerTokenFromRequest(request, &tokenLocation) + assert.Equal(t, expectedToken, token) + + b, err := io.ReadAll(request.Body) + assert.NoError(t, err) + assert.Equal(t, "body", string(b)) + }) } diff --git a/pipeline/authn/authenticator_jwt_test.go b/pipeline/authn/authenticator_jwt_test.go index cda9abdf42..51ec496350 100644 --- a/pipeline/authn/authenticator_jwt_test.go +++ b/pipeline/authn/authenticator_jwt_test.go @@ -8,6 +8,7 @@ import ( "encoding/json" "fmt" "net/http" + "net/url" "testing" "time" @@ -137,13 +138,11 @@ func TestAuthenticatorJWT(t *testing.T) { { d: "should pass because the valid JWT token was provided in a proper location (custom query parameter)", r: &http.Request{ - Form: map[string][]string{ - "token": { - gen(keys[1], jwt.MapClaims{ - "sub": "sub", - "exp": now.Add(time.Hour).Unix(), - }), - }, + URL: &url.URL{ + RawQuery: "token=" + gen(keys[1], jwt.MapClaims{ + "sub": "sub", + "exp": now.Add(time.Hour).Unix(), + }), }, }, config: `{"token_from": {"query_parameter": "token"}}`, diff --git a/pipeline/authn/authenticator_oauth2_introspection_test.go b/pipeline/authn/authenticator_oauth2_introspection_test.go index 417c08635f..5695a0d4e2 100644 --- a/pipeline/authn/authenticator_oauth2_introspection_test.go +++ b/pipeline/authn/authenticator_oauth2_introspection_test.go @@ -8,6 +8,7 @@ import ( "fmt" "net/http" "net/http/httptest" + "net/url" "testing" "time" @@ -113,8 +114,8 @@ func TestAuthenticatorOAuth2Introspection(t *testing.T) { { d: "should pass because the valid token was provided in a proper location (custom query parameter)", r: &http.Request{ - Form: map[string][]string{ - "token": {"token"}, + URL: &url.URL{ + RawQuery: "token=" + "token", }, }, config: []byte(`{"token_from": {"query_parameter": "token"}}`), diff --git a/test/bearer-token/.gitignore b/test/bearer-token/.gitignore new file mode 100644 index 0000000000..bf0824e596 --- /dev/null +++ b/test/bearer-token/.gitignore @@ -0,0 +1 @@ +*.log \ No newline at end of file diff --git a/test/bearer-token/config.yaml b/test/bearer-token/config.yaml new file mode 100644 index 0000000000..ee0e866ca4 --- /dev/null +++ b/test/bearer-token/config.yaml @@ -0,0 +1,27 @@ +serve: + api: + port: 6061 + proxy: + port: 6060 + +access_rules: + repositories: + - file://./rules.1.json + +authenticators: + noop: + enabled: true + bearer_token: + enabled: true + config: + check_session_url: http://localhost:6662/session + +authorizers: + allow: + enabled: true + deny: + enabled: true + +mutators: + noop: + enabled: true diff --git a/test/bearer-token/okapi/main.go b/test/bearer-token/okapi/main.go new file mode 100644 index 0000000000..597506242c --- /dev/null +++ b/test/bearer-token/okapi/main.go @@ -0,0 +1,52 @@ +// Copyright © 2023 Ory Corp +// SPDX-License-Identifier: Apache-2.0 + +package main + +import ( + "fmt" + "io" + "net/http" + "os" + + "github.com/julienschmidt/httprouter" +) + +func main() { + router := httprouter.New() + + router.POST("/test", test) + router.GET("/session", session) + + port := os.Getenv("PORT") + if port == "" { + port = "6662" + } + + server := http.Server{ + Addr: fmt.Sprintf(":%s", port), + Handler: router, + } + + if err := server.ListenAndServe(); err != nil { + panic(err) + } +} + +func test(w http.ResponseWriter, r *http.Request, _ httprouter.Params) { + b, err := io.ReadAll(r.Body) + if err != nil { + w.WriteHeader(http.StatusInternalServerError) + } + + if len(b) == 0 { + w.WriteHeader(http.StatusBadRequest) + return + } + + w.WriteHeader(http.StatusOK) +} + +func session(w http.ResponseWriter, r *http.Request, _ httprouter.Params) { + w.WriteHeader(http.StatusOK) +} diff --git a/test/bearer-token/rules.1.json b/test/bearer-token/rules.1.json new file mode 100644 index 0000000000..7894952631 --- /dev/null +++ b/test/bearer-token/rules.1.json @@ -0,0 +1,34 @@ +[ + { + "id": "test", + "upstream": { + "url": "http://127.0.0.1:6662" + }, + "match": { + "url": "http://127.0.0.1:6060/test", + "methods": ["POST"] + }, + "authenticators": [ + { + "handler": "bearer_token", + "config": { + "check_session_url": "http://127.0.0.1:6662/session", + "preserve_path": true, + "preserve_query": false, + "force_method": "GET", + "token_from": { + "query_parameter": "token" + } + } + } + ], + "authorizer": { + "handler": "allow" + }, + "mutators": [ + { + "handler": "noop" + } + ] + } +] diff --git a/test/bearer-token/run.sh b/test/bearer-token/run.sh new file mode 100755 index 0000000000..792373aeb9 --- /dev/null +++ b/test/bearer-token/run.sh @@ -0,0 +1,77 @@ +#!/bin/bash + +set -euo pipefail + +waitport() { + i=0 + while ! nc -z localhost "$1" ; do + sleep 1 + if [ $i -gt 10 ]; then + cat ./config.yaml + cat ./oathkeeper.log + exit 1 + fi + i=$((i+1)) + done +} + +cd "$( cd "$( dirname "${BASH_SOURCE[0]}" )" >/dev/null 2>&1 && pwd )" + + +run_oathkekeper() { + killall oathkeeper || true + + export OATHKEEPER_PROXY=http://127.0.0.1:6060 + export OATHKEEPER_API=http://127.0.0.1:6061 + + go build -o . ../.. + LOG_LEVEL=debug ./oathkeeper --config ./config.yaml serve > ./oathkeeper.log 2>&1 & + + waitport 6060 + waitport 6061 +} + +run_api(){ + killall okapi || true + + PORT=6662 go run ./okapi > ./api.log 2>&1 & + + waitport 6662 +} + +SUCCESS_TEST=() +FAILED_TEST=() + +run_test() { + label=$1 + shift 1 + + result="0" + "$@" || result="1" + + if [[ "$result" -eq "0" ]]; then + SUCCESS_TEST+=("$label") + else + FAILED_TEST+=("$label") + fi +} + +function finish { + echo ::group::Config + cat ./config.yaml + cat ./rules.1.json + echo ::endgroup:: + echo ::group::Log + cat ./oathkeeper.log + echo ::endgroup:: +} +trap finish EXIT + +run_oathkekeper +run_api + +curl -X POST -f http://127.0.0.1:6060/test?token=token -F fk=fv -H "Content-Type: application/x-www-form-urlencoded" -i + +kill %1 || true + +trap - EXIT From 6761be179f92a85a2e17591fcaaaf0d19bca3020 Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Mon, 19 Jun 2023 07:20:59 +0000 Subject: [PATCH 33/63] autogen(docs): regenerate and update changelog [skip ci] --- CHANGELOG.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index fb60ceafdb..b01396befa 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ **Table of Contents** -- [0.0.0 (2023-06-07)](#000-2023-06-07) +- [0.0.0 (2023-06-19)](#000-2023-06-19) - [Bug Fixes](#bug-fixes) - [Features](#features) - [Tests](#tests) @@ -321,13 +321,16 @@ -# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.3...v0.0.0) (2023-06-07) +# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.3...v0.0.0) (2023-06-19) ### Bug Fixes - Ensure logger uses config ([#1104](https://github.com/ory/oathkeeper/issues/1104)) ([d9b0965](https://github.com/ory/oathkeeper/commit/d9b096595f1a6ea65604da11c7f6e2040100396d)) +- Use Query.Get when fetching QueryParameter + ([#1106](https://github.com/ory/oathkeeper/issues/1106)) + ([c520e50](https://github.com/ory/oathkeeper/commit/c520e503511599b27967388a5db5e6d163c04212)) ### Features From 0a767e7ddddb04ea9812dc8519fe6efe71610125 Mon Sep 17 00:00:00 2001 From: David van der Spek Date: Mon, 26 Jun 2023 14:31:48 +0200 Subject: [PATCH 34/63] chore(deps): update ory/x to v0.0.565 (#1113) Signed-off-by: David van der Spek --- go.mod | 2 +- go.sum | 4 ++-- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/go.mod b/go.mod index 126f8c5054..ef48be8b97 100644 --- a/go.mod +++ b/go.mod @@ -47,7 +47,7 @@ require ( github.com/ory/jsonschema/v3 v3.0.7 github.com/ory/ladon v1.1.0 github.com/ory/viper v1.7.5 - github.com/ory/x v0.0.559 + github.com/ory/x v0.0.565 github.com/pborman/uuid v1.2.1 github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2 github.com/pkg/errors v0.9.1 diff --git a/go.sum b/go.sum index f4540edaf9..a0e1ed3677 100644 --- a/go.sum +++ b/go.sum @@ -846,8 +846,8 @@ github.com/ory/ladon v1.1.0/go.mod h1:25bNc/Glx/8xCH7MbItDxjvviAmFQ+aYxb1V1SE5wl github.com/ory/pagination v0.0.1/go.mod h1:d1ToRROAUleriPhmb2dYbhANhhLwZ8s395m2yJCDFh8= github.com/ory/viper v1.7.5 h1:+xVdq7SU3e1vNaCsk/ixsfxE4zylk1TJUiJrY647jUE= github.com/ory/viper v1.7.5/go.mod h1:ypOuyJmEUb3oENywQZRgeAMwqgOyDqwboO1tj3DjTaM= -github.com/ory/x v0.0.559 h1:7H1JQbyMyYgGLeUsshzNgKayOp93xyR/nkgaIiTAOWM= -github.com/ory/x v0.0.559/go.mod h1:kup4ebSC4SzwU6KPZJ4G60UR3EEsHxJ0apQVflVw5yQ= +github.com/ory/x v0.0.565 h1:2aflDv8vDDG70/QcpV2EJKj7PkFny6al33oUg6oEOmo= +github.com/ory/x v0.0.565/go.mod h1:kup4ebSC4SzwU6KPZJ4G60UR3EEsHxJ0apQVflVw5yQ= github.com/pascaldekloe/goe v0.0.0-20180627143212-57f6aae5913c/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pborman/uuid v1.2.0/go.mod h1:X/NO0urCmaxf9VXbdlT7C2Yzkj2IKimNn4k+gtPdI/k= github.com/pborman/uuid v1.2.1 h1:+ZZIw58t/ozdjRaXh/3awHfmWRbzYxJoAdNJxe/3pvw= From ccdf1e433542c835b76b9c02e5fafeb32e8f4240 Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Mon, 26 Jun 2023 12:39:03 +0000 Subject: [PATCH 35/63] autogen(docs): regenerate and update changelog [skip ci] --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index b01396befa..6fec6a1831 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ **Table of Contents** -- [0.0.0 (2023-06-19)](#000-2023-06-19) +- [0.0.0 (2023-06-26)](#000-2023-06-26) - [Bug Fixes](#bug-fixes) - [Features](#features) - [Tests](#tests) @@ -321,7 +321,7 @@ -# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.3...v0.0.0) (2023-06-19) +# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.3...v0.0.0) (2023-06-26) ### Bug Fixes From 8ac1dac6c34f6e1cdf5a5e7a1a699c5951333d03 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Jakub=20B=C5=82aszczyk?= Date: Tue, 4 Jul 2023 10:31:22 +0200 Subject: [PATCH 36/63] feat: add distroless images (#1114) --- .../Dockerfile-alpine | 3 -- .docker/Dockerfile-build | 29 +++++++++++++++++++ .docker/Dockerfile-distroless-static | 7 +++++ .github/workflows/cve-scan.yaml | 8 ++--- .goreleaser.yml | 3 +- Dockerfile | 20 ------------- Dockerfile-dc | 26 ----------------- Makefile | 5 +--- 8 files changed, 43 insertions(+), 58 deletions(-) rename Dockerfile-alpine => .docker/Dockerfile-alpine (83%) create mode 100644 .docker/Dockerfile-build create mode 100644 .docker/Dockerfile-distroless-static delete mode 100644 Dockerfile delete mode 100644 Dockerfile-dc diff --git a/Dockerfile-alpine b/.docker/Dockerfile-alpine similarity index 83% rename from Dockerfile-alpine rename to .docker/Dockerfile-alpine index ee5e0bfe8c..0470bdf7d7 100644 --- a/Dockerfile-alpine +++ b/.docker/Dockerfile-alpine @@ -1,6 +1,3 @@ -# To compile this image manually run: -# -# $ make docker FROM alpine:3.18 RUN addgroup -S ory; \ diff --git a/.docker/Dockerfile-build b/.docker/Dockerfile-build new file mode 100644 index 0000000000..25172323fb --- /dev/null +++ b/.docker/Dockerfile-build @@ -0,0 +1,29 @@ +# Workaround for https://github.com/GoogleContainerTools/distroless/issues/1342 +FROM golang:1.20-bullseye AS builder + +WORKDIR /go/src/github.com/ory/oathkeeper + +RUN apt-get update && apt-get upgrade -y + +COPY go.mod go.mod +COPY go.sum go.sum + +ENV CGO_ENABLED 0 +ENV GO111MODULE on + +RUN go mod download + +COPY . . + +RUN go build -o /usr/bin/oathkeeper . + +######################### + +FROM gcr.io/distroless/static-debian11:nonroot AS runner + +COPY --from=builder --chown=nonroot:nonroot /usr/bin/oathkeeper /usr/bin/oathkeeper + +EXPOSE 4455 4456 + +ENTRYPOINT ["oathkeeper"] +CMD ["serve"] diff --git a/.docker/Dockerfile-distroless-static b/.docker/Dockerfile-distroless-static new file mode 100644 index 0000000000..91020b7c27 --- /dev/null +++ b/.docker/Dockerfile-distroless-static @@ -0,0 +1,7 @@ +FROM gcr.io/distroless/static-debian11:nonroot + +COPY --chown=nonroot:nonroot oathkeeper /usr/bin/oathkeeper +EXPOSE 4455 4456 + +ENTRYPOINT ["oathkeeper"] +CMD ["oathkeeper"] diff --git a/.github/workflows/cve-scan.yaml b/.github/workflows/cve-scan.yaml index e17ea70eda..4d99e53056 100644 --- a/.github/workflows/cve-scan.yaml +++ b/.github/workflows/cve-scan.yaml @@ -32,7 +32,7 @@ jobs: uses: anchore/scan-action@v3 id: grype-scan with: - image: oryd/oathkeeper:${{ env.SHA_SHORT }}-alpine + image: oryd/oathkeeper:${{ env.SHA_SHORT }} fail-build: true severity-cutoff: high add-cpes-if-none: true @@ -52,7 +52,7 @@ jobs: uses: aquasecurity/trivy-action@master if: ${{ always() }} with: - image-ref: oryd/oathkeeper:${{ env.SHA_SHORT }}-alpine + image-ref: oryd/oathkeeper:${{ env.SHA_SHORT }} format: "table" exit-code: "42" ignore-unfixed: true @@ -63,7 +63,7 @@ jobs: uses: erzz/dockle-action@v1.3.2 if: ${{ always() }} with: - image: oryd/oathkeeper:${{ env.SHA_SHORT }}-alpine + image: oryd/oathkeeper:${{ env.SHA_SHORT }} exit-code: 42 failure-threshold: high - name: Hadolint @@ -71,7 +71,7 @@ jobs: id: hadolint if: ${{ always() }} with: - dockerfile: Dockerfile-alpine + dockerfile: .docker/Dockerfile-build verbose: true format: "json" failure-threshold: "error" diff --git a/.goreleaser.yml b/.goreleaser.yml index cbb1798b70..02a2f607fe 100644 --- a/.goreleaser.yml +++ b/.goreleaser.yml @@ -17,6 +17,7 @@ variables: buildinfo_hash: "github.com/ory/oathkeeper/x.Commit" buildinfo_tag: "github.com/ory/oathkeeper/x.Version" buildinfo_date: "github.com/ory/oathkeeper/x.Date" - dockerfile: "./Dockerfile-alpine" + dockerfile_alpine: ".docker/Dockerfile-alpine" + dockerfile_static: ".docker/Dockerfile-distroless-static" project_name: oathkeeper diff --git a/Dockerfile b/Dockerfile deleted file mode 100644 index 1c7a0f747a..0000000000 --- a/Dockerfile +++ /dev/null @@ -1,20 +0,0 @@ -# To compile this image manually run: -# -# $ make docker -FROM alpine:3.18 as base - -RUN apk --no-cache --update-cache --upgrade --latest add ca-certificates - -############# -FROM scratch - -COPY --from=base /etc/ssl/certs/ca-certificates.crt /etc/ssl/certs/ -COPY oathkeeper /usr/bin/oathkeeper - -USER 1000 - -EXPOSE 4455 -EXPOSE 4456 - -ENTRYPOINT ["oathkeeper"] -CMD ["serve"] diff --git a/Dockerfile-dc b/Dockerfile-dc deleted file mode 100644 index e3e6e43f8b..0000000000 --- a/Dockerfile-dc +++ /dev/null @@ -1,26 +0,0 @@ -FROM golang:1.20-alpine3.18 AS builder - -RUN addgroup -S ory; \ - adduser -S ory -G ory -D -H -s /bin/nologin - -RUN apk --no-cache --update-cache --upgrade --latest add ca-certificates - -COPY . /app -WORKDIR /app -ENV GO111MODULE on -RUN go mod download && go mod tidy -RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 go build - -############ -FROM alpine:3.18 AS runner - -RUN apk --no-cache --update-cache --upgrade --latest add ca-certificates - -COPY --from=builder /app/oathkeeper /usr/bin/oathkeeper -USER 1000 - -EXPOSE 4455 -EXPOSE 4456 - -ENTRYPOINT ["/usr/bin/oathkeeper"] -CMD ["serve"] diff --git a/Makefile b/Makefile index 82029a7a3c..c4c1b156fd 100644 --- a/Makefile +++ b/Makefile @@ -82,10 +82,7 @@ install: .PHONY: docker docker: - CGO_ENABLED=0 GO111MODULE=on GOOS=linux GOARCH=amd64 go build - DOCKER_BUILDKIT=1 DOCKER_CONTENT_TRUST=1 docker build -t oryd/oathkeeper:${IMAGE_TAG} --progress=plain . - DOCKER_BUILDKIT=1 DOCKER_CONTENT_TRUST=1 docker build -t oryd/oathkeeper:${IMAGE_TAG}-alpine --progress=plain -f Dockerfile-alpine . - rm oathkeeper + DOCKER_BUILDKIT=1 DOCKER_CONTENT_TRUST=1 docker build -t oryd/oathkeeper:${IMAGE_TAG} --progress=plain -f .docker/Dockerfile-build . docs/cli: .bin/clidoc clidoc . From 47e3d198ab2fd3452b02621945a3f41b541bf02c Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Tue, 4 Jul 2023 08:37:17 +0000 Subject: [PATCH 37/63] autogen(docs): regenerate and update changelog [skip ci] --- CHANGELOG.md | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 6fec6a1831..bf5aad994f 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ **Table of Contents** -- [0.0.0 (2023-06-26)](#000-2023-06-26) +- [0.0.0 (2023-07-04)](#000-2023-07-04) - [Bug Fixes](#bug-fixes) - [Features](#features) - [Tests](#tests) @@ -321,7 +321,7 @@ -# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.3...v0.0.0) (2023-06-26) +# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.3...v0.0.0) (2023-07-04) ### Bug Fixes @@ -334,6 +334,8 @@ ### Features +- Add distroless images ([#1114](https://github.com/ory/oathkeeper/issues/1114)) + ([8ac1dac](https://github.com/ory/oathkeeper/commit/8ac1dac6c34f6e1cdf5a5e7a1a699c5951333d03)) - Sqa metrics v2 ([#1110](https://github.com/ory/oathkeeper/issues/1110)) ([baeecc6](https://github.com/ory/oathkeeper/commit/baeecc6b79d04c7f332b42f597f6f02cf56d88d2)) From 3a716f2608afd50d9a996a884cb3d2bed576994b Mon Sep 17 00:00:00 2001 From: David van der Spek Date: Wed, 5 Jul 2023 11:16:08 +0200 Subject: [PATCH 38/63] fix: noop mutator don't overwrite session headers (#1091) --- pipeline/mutate/mutator_noop.go | 15 +++++++++++++++ pipeline/mutate/mutator_noop_test.go | 10 ++++++++++ 2 files changed, 25 insertions(+) diff --git a/pipeline/mutate/mutator_noop.go b/pipeline/mutate/mutator_noop.go index 6cab227bb3..421afa6eed 100644 --- a/pipeline/mutate/mutator_noop.go +++ b/pipeline/mutate/mutator_noop.go @@ -23,7 +23,22 @@ func (a *MutatorNoop) GetID() string { } func (a *MutatorNoop) Mutate(r *http.Request, session *authn.AuthenticationSession, config json.RawMessage, _ pipeline.Rule) error { + currentSessionHeaders := session.Header.Clone() session.Header = r.Header + if session.Header == nil { + session.Header = make(map[string][]string) + } + + for k, v := range currentSessionHeaders { + var val string + if len(v) == 0 { + val = "" + } else { + val = v[0] + } + session.SetHeader(k, val) + } + return nil } diff --git a/pipeline/mutate/mutator_noop_test.go b/pipeline/mutate/mutator_noop_test.go index ad1f5c1336..f44cad53db 100644 --- a/pipeline/mutate/mutator_noop_test.go +++ b/pipeline/mutate/mutator_noop_test.go @@ -33,6 +33,16 @@ func TestMutatorNoop(t *testing.T) { assert.EqualValues(t, r.Header, s.Header) }) + t.Run("method=mutate/case=ensure authentication session headers are kept", func(t *testing.T) { + r := &http.Request{Header: http.Header{"foo": {"foo"}}} + s := &authn.AuthenticationSession{Header: http.Header{"bar": {"bar"}}} + combinedHeaders := http.Header{"foo": {"foo"}} + combinedHeaders.Set("bar", "bar") + err := a.Mutate(r, s, nil, nil) + require.NoError(t, err) + assert.EqualValues(t, r.Header, combinedHeaders) + }) + t.Run("method=validate", func(t *testing.T) { conf.SetForTest(t, configuration.MutatorNoopIsEnabled, true) require.NoError(t, a.Validate(nil)) From 1c333b94d51ef6dff318868b19064271bd0b42db Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Wed, 5 Jul 2023 09:31:47 +0000 Subject: [PATCH 39/63] autogen(docs): regenerate and update changelog [skip ci] --- CHANGELOG.md | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index bf5aad994f..279849438c 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ **Table of Contents** -- [0.0.0 (2023-07-04)](#000-2023-07-04) +- [0.0.0 (2023-07-05)](#000-2023-07-05) - [Bug Fixes](#bug-fixes) - [Features](#features) - [Tests](#tests) @@ -321,13 +321,16 @@ -# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.3...v0.0.0) (2023-07-04) +# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.3...v0.0.0) (2023-07-05) ### Bug Fixes - Ensure logger uses config ([#1104](https://github.com/ory/oathkeeper/issues/1104)) ([d9b0965](https://github.com/ory/oathkeeper/commit/d9b096595f1a6ea65604da11c7f6e2040100396d)) +- Noop mutator don't overwrite session headers + ([#1091](https://github.com/ory/oathkeeper/issues/1091)) + ([3a716f2](https://github.com/ory/oathkeeper/commit/3a716f2608afd50d9a996a884cb3d2bed576994b)) - Use Query.Get when fetching QueryParameter ([#1106](https://github.com/ory/oathkeeper/issues/1106)) ([c520e50](https://github.com/ory/oathkeeper/commit/c520e503511599b27967388a5db5e6d163c04212)) From 56779c4248068bcca15ed63ded32c51772da0e03 Mon Sep 17 00:00:00 2001 From: Vincent Date: Tue, 11 Jul 2023 09:12:42 +0200 Subject: [PATCH 40/63] chore: support in README (#1117) --- README.md | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/README.md b/README.md index 5057358a36..2e94b0765a 100644 --- a/README.md +++ b/README.md @@ -48,6 +48,16 @@ This service is stable, but under active development and may introduce breaking changes in future releases. Any breaking change will have extensive documentation and upgrade instructions. +## Ory Network Hybrid Support Plan + +Ory offers a support plan for Ory Network Hybrid, including Ory on private cloud +deployments. If you have a self-hosted solution and would like help, consider a +support plan! The team at Ory has years of experience in cloud computing. Ory's +offering is the only official program for qualified support from the +maintainers. For more information see the +**[website](https://www.ory.sh/support/)** or +**[book a meeting](https://www.ory.sh/contact/)**! + ## Project Renaming The Ory Oathkeeper project was started in 2017 in Germany and owes its name to From 91ae714408f828449ef81070c9b585f091813171 Mon Sep 17 00:00:00 2001 From: hackerman <3372410+aeneasr@users.noreply.github.com> Date: Tue, 11 Jul 2023 09:14:36 +0200 Subject: [PATCH 41/63] chore: update gRPC to v1.56.1 (#1118) --- go.mod | 36 +++++++-------- go.sum | 72 +++++++++++++++-------------- middleware/grpc_middleware_test.go | 4 +- middleware/grpc_mock_server_test.go | 70 ++++++++++++++++++++-------- 4 files changed, 107 insertions(+), 75 deletions(-) diff --git a/go.mod b/go.mod index ef48be8b97..495d04d54e 100644 --- a/go.mod +++ b/go.mod @@ -67,18 +67,18 @@ require ( go.opentelemetry.io/otel/trace v1.11.1 gocloud.dev v0.20.0 golang.org/x/crypto v0.1.0 - golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 - google.golang.org/api v0.107.0 - google.golang.org/grpc v1.52.0 + golang.org/x/oauth2 v0.7.0 + google.golang.org/api v0.114.0 + google.golang.org/grpc v1.56.1 gopkg.in/square/go-jose.v2 v2.6.0 ) require ( - cloud.google.com/go v0.105.0 // indirect - cloud.google.com/go/compute v1.14.0 // indirect + cloud.google.com/go v0.110.0 // indirect + cloud.google.com/go/compute v1.19.1 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v0.8.0 // indirect - cloud.google.com/go/storage v1.27.0 // indirect + cloud.google.com/go/iam v0.13.0 // indirect + cloud.google.com/go/storage v1.28.1 // indirect github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/Azure/go-autorest/autorest v0.11.1 // indirect github.com/Azure/go-autorest/autorest/adal v0.9.5 // indirect @@ -132,17 +132,17 @@ require ( github.com/gofrs/flock v0.8.1 // indirect github.com/gofrs/uuid v4.3.0+incompatible // indirect github.com/gogo/protobuf v1.3.2 // indirect - github.com/golang/glog v1.0.0 // indirect + github.com/golang/glog v1.1.0 // indirect github.com/golang/groupcache v0.0.0-20210331224755-41bb18bfe9da // indirect - github.com/golang/protobuf v1.5.2 // indirect + github.com/golang/protobuf v1.5.3 // indirect github.com/google/go-cmp v0.5.9 // indirect github.com/google/martian/v3 v3.3.3-0.20220816151257-0f7e6797a04d // indirect github.com/google/pprof v0.0.0-20221010195024-131d412537ea // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/google/wire v0.4.0 // indirect - github.com/googleapis/enterprise-certificate-proxy v0.2.1 // indirect + github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect github.com/googleapis/gax-go v2.0.2+incompatible // indirect - github.com/googleapis/gax-go/v2 v2.7.0 // indirect + github.com/googleapis/gax-go/v2 v2.7.1 // indirect github.com/gorilla/css v1.0.0 // indirect github.com/gorilla/handlers v1.5.1 // indirect github.com/gorilla/websocket v1.5.0 // indirect @@ -241,16 +241,16 @@ require ( go.opentelemetry.io/otel/metric v0.33.0 // indirect go.opentelemetry.io/otel/sdk v1.11.1 // indirect go.opentelemetry.io/proto/otlp v0.18.0 // indirect - golang.org/x/mod v0.7.0 // indirect - golang.org/x/net v0.7.0 // indirect + golang.org/x/mod v0.8.0 // indirect + golang.org/x/net v0.9.0 // indirect golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.5.0 // indirect - golang.org/x/text v0.7.0 // indirect - golang.org/x/tools v0.5.0 // indirect + golang.org/x/sys v0.7.0 // indirect + golang.org/x/text v0.9.0 // indirect + golang.org/x/tools v0.6.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef // indirect - google.golang.org/protobuf v1.28.1 // indirect + google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect + google.golang.org/protobuf v1.30.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index a0e1ed3677..1a19c3fb3c 100644 --- a/go.sum +++ b/go.sum @@ -25,25 +25,25 @@ cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECH cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= cloud.google.com/go v0.82.0/go.mod h1:vlKccHJGuFBFufnAnuB08dfEH9Y3H7dzDzRECFdC2TA= -cloud.google.com/go v0.105.0 h1:DNtEKRBAAzeS4KyIory52wWHuClNaXJ5x1F7xa4q+5Y= -cloud.google.com/go v0.105.0/go.mod h1:PrLgOJNe5nfE9UMxKxgXj4mD3voiP+YQ6gdt6KMFOKM= +cloud.google.com/go v0.110.0 h1:Zc8gqp3+a9/Eyph2KDmcGaPtbKRIoqq4YTlL4NMD0Ys= +cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v1.14.0 h1:hfm2+FfxVmnRlh6LpB7cg1ZNU+5edAHmW679JePztk0= -cloud.google.com/go/compute v1.14.0/go.mod h1:YfLtxrj9sU4Yxv+sXzZkyPjEyPBZfXHUvjxega5vAdo= +cloud.google.com/go/compute v1.19.1 h1:am86mquDUgjGNWxiGn+5PGLbmgiWXlE/yNWpIpNvuXY= +cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/firestore v1.2.0/go.mod h1:iISCjWnTpnoJT1R287xRdjvQHJrxQOpeah4phb5D3h0= -cloud.google.com/go/iam v0.8.0 h1:E2osAkZzxI/+8pZcxVLcDtAQx/u+hZXVryUaYQ5O0Kk= -cloud.google.com/go/iam v0.8.0/go.mod h1:lga0/y3iH6CX7sYqypWJ33hf7kkfXJag67naqGESjkE= -cloud.google.com/go/longrunning v0.3.0 h1:NjljC+FYPV3uh5/OwWT6pVU+doBqMg2x/rZlE+CamDs= +cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= +cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= +cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -55,8 +55,8 @@ cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RX cloud.google.com/go/storage v1.9.0/go.mod h1:m+/etGaqZbylxaNT876QGXqEHp4PR2Rq5GMqICWb9bU= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -cloud.google.com/go/storage v1.27.0 h1:YOO045NZI9RKfCj1c5A/ZtuuENUc8OAW+gHdGnDgyMQ= -cloud.google.com/go/storage v1.27.0/go.mod h1:x9DOL8TK/ygDUMieqwfhdpQryTeEkhGKMi80i/iqR2s= +cloud.google.com/go/storage v1.28.1 h1:F5QDG5ChchaAVQhINh24U99OWHURqrW8OmQcGKXcbgI= +cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= contrib.go.opencensus.io/exporter/aws v0.0.0-20181029163544-2befc13012d0/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA= contrib.go.opencensus.io/exporter/stackdriver v0.12.1/go.mod h1:iwB6wGarfphGGe/e5CWqyUk/cLzKnWsOKPVW3no6OTw= contrib.go.opencensus.io/integrations/ocsql v0.1.4/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= @@ -419,8 +419,9 @@ github.com/golang-jwt/jwt/v4 v4.4.3/go.mod h1:m21LjoU+eqJr34lmDMbreY2eSTRJ1cv77w github.com/golang/gddo v0.0.0-20190904175337-72a348e765d2 h1:xisWqjiKEff2B0KfFYGpCqc3M3zdTz+OHQHRc09FeYk= github.com/golang/gddo v0.0.0-20190904175337-72a348e765d2/go.mod h1:xEhNfoBDX1hzLm2Nf80qUvZ2sVwoMZ8d6IE2SrsQfh4= github.com/golang/glog v0.0.0-20160126235308-23def4e6c14b/go.mod h1:SBH7ygxi8pfUlaOkMMuAQtPIUF8ecWP5IEl/CR7VP2Q= -github.com/golang/glog v1.0.0 h1:nfP3RFugxnNRyKgeWd4oI1nYvXpxrx8ck8ZrcizshdQ= github.com/golang/glog v1.0.0/go.mod h1:EWib/APOK0SL3dFbYqvxE3UYd8E6s1ouQ7iEp/0LWV4= +github.com/golang/glog v1.1.0 h1:/d3pCKDPWNnvIWe0vVUpNP32qc8U3PDVxySP/y360qE= +github.com/golang/glog v1.1.0/go.mod h1:pfYeQZ3JWZoXTV5sFc986z3HTpwQs9At6P4ImfuP3NQ= github.com/golang/groupcache v0.0.0-20190129154638-5b532d6fd5ef/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20190702054246-869f871628b6/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= github.com/golang/groupcache v0.0.0-20191227052852-215e87163ea7/go.mod h1:cIg4eruTrX1D+g88fzRXU5OdNfaM+9IcxsU14FzY7Hc= @@ -453,8 +454,9 @@ github.com/golang/protobuf v1.4.2/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw github.com/golang/protobuf v1.4.3/go.mod h1:oDoupMAO8OvCJWAcko0GGGIgR6R6ocIYbsSw735rRwI= github.com/golang/protobuf v1.5.0/go.mod h1:FsONVRAS9T7sI+LIUmWTfcYkHO4aIWwzhcaSAoJOfIk= github.com/golang/protobuf v1.5.1/go.mod h1:DopwsBzvsk0Fs44TXzsVbJyPhcCPeIwnvohx4u74HPM= -github.com/golang/protobuf v1.5.2 h1:ROPKBNFfQgOUMifHyP+KYbvpjbdoFNs+aK7DXlji0Tw= github.com/golang/protobuf v1.5.2/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= +github.com/golang/protobuf v1.5.3 h1:KhyjKVUg7Usr/dYsdSqoFveMYd5ko72D+zANwlG1mmg= +github.com/golang/protobuf v1.5.3/go.mod h1:XVQd3VNwM+JqD3oG2Ue2ip4fOMUkwXdXDdiuN0vRsmY= github.com/golang/snappy v0.0.1/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.3/go.mod h1:/XxbfmMg8lxefKM7IXC3fBNl/7bRcc72aCRzEWrmP2Q= github.com/golang/snappy v0.0.4 h1:yAGX7huGHXlcLOEtBnF4w7FQwA26wojNCwOYAEhLjQM= @@ -516,14 +518,14 @@ github.com/google/uuid v1.3.0 h1:t6JiXgmwXMjEs8VusXIJk2BXHsn+wx8BZdTaoZ5fu7I= github.com/google/uuid v1.3.0/go.mod h1:TIyPZe4MgqvfeYDBFedMoGGpEw/LqOeaOT+nhxU+yHo= github.com/google/wire v0.4.0 h1:kXcsA/rIGzJImVqPdhfnr6q0xsS9gU0515q1EPpJ9fE= github.com/google/wire v0.4.0/go.mod h1:ngWDr9Qvq3yZA10YrxfyGELY/AFWGVpy9c1LTRi1EoU= -github.com/googleapis/enterprise-certificate-proxy v0.2.1 h1:RY7tHKZcRlk788d5WSo/e83gOyyy742E8GSs771ySpg= -github.com/googleapis/enterprise-certificate-proxy v0.2.1/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3 h1:yk9/cqRKtT9wXZSsRH9aurXEpJX+U6FLtpYTdC3R06k= +github.com/googleapis/enterprise-certificate-proxy v0.2.3/go.mod h1:AwSRAtLfXpU5Nm3pW+v7rGDHp09LsPtGY9MduiEsR9k= github.com/googleapis/gax-go v2.0.2+incompatible h1:silFMLAnr330+NRuag/VjIGF7TLp/LBrV2CJKFLWEww= github.com/googleapis/gax-go v2.0.2+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.7.0 h1:IcsPKeInNvYi7eqSaDjiZqDDKu5rsmunY0Y1YupQSSQ= -github.com/googleapis/gax-go/v2 v2.7.0/go.mod h1:TEop28CZZQ2y+c0VxMUmu1lV+fQx57QpBWsYpwqHJx8= +github.com/googleapis/gax-go/v2 v2.7.1 h1:gF4c0zjUP2H/s/hEGyLA3I0fA2ZWjzYiONAD6cvPr8A= +github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/css v1.0.0 h1:BQqNyPTi50JCFMTw/b67hByjMVXZRwGha6wxVGkeihY= @@ -1180,8 +1182,8 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.7.0 h1:LapD9S96VoQRhi/GrNTqeBJFrUjs5UHCAtTlgwA5oZA= -golang.org/x/mod v0.7.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= +golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1237,8 +1239,8 @@ golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221002022538-bcab6841153b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/net v0.7.0 h1:rJrUqqhjsgNp7KqAIc25s9pZnjU7TUcSY7HcVZjdn1g= -golang.org/x/net v0.7.0/go.mod h1:2Tu9+aMcznHK/AK1HMvgo6xiTLG5rD5rZLDS+rp2Bjs= +golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= +golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1255,8 +1257,8 @@ golang.org/x/oauth2 v0.0.0-20210427180440-81ed05c6b58c/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783 h1:nt+Q6cXKz4MosCSpnbMtqiQ8Oz0pxTef2B4Vca2lvfk= -golang.org/x/oauth2 v0.0.0-20221014153046-6fdb5e3db783/go.mod h1:h4gKUeWbJ4rQPri7E0u6Gs4e9Ri2zaLxzw5DI5XGrYg= +golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g= +golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1361,8 +1363,8 @@ golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.5.0 h1:MUK/U/4lj1t1oPg0HfuXDN/Z1wv31ZJ/YcPiGccS4DU= -golang.org/x/sys v0.5.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= +golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -1376,8 +1378,8 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.7.0 h1:4BRB4x83lYWy72KwLD/qYDuTu7q9PjSagHvijDw7cLo= -golang.org/x/text v0.7.0/go.mod h1:mrYo+phRRbMaCq/xk9113O4dZlRixOauAjOtrjsXDZ8= +golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= +golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1455,8 +1457,8 @@ golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.5.0 h1:+bSpV5HIeWkuvgaMfI3UmKRThoTA5ODJTUd8T17NO+4= -golang.org/x/tools v0.5.0/go.mod h1:N+Kgy78s5I24c24dU8OfWNEotWjutIs8SnJvn5IDq+k= +golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= +golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1490,8 +1492,8 @@ google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBz google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= google.golang.org/api v0.46.0/go.mod h1:ceL4oozhkAiTID8XMmJBsIxID/9wMXJVVFXPg4ylg3I= google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.107.0 h1:I2SlFjD8ZWabaIFOfeEDg3pf0BHJDh6iYQ1ic3Yu/UU= -google.golang.org/api v0.107.0/go.mod h1:2Ts0XTHNVWxypznxWOYUeI4g3WdP9Pk2Qk58+a/O9MY= +google.golang.org/api v0.114.0 h1:1xQPji6cO2E2vLiI+C/XiFAnsn1WV3mjaEwGLhi3grE= +google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1554,8 +1556,8 @@ google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQ google.golang.org/genproto v0.0.0-20210517163617-5e0236093d7a/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20211020151524-b7c3a969101a/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef h1:uQ2vjV/sHTsWSqdKeLqmwitzgvjMl7o4IdtHwUDXSJY= -google.golang.org/genproto v0.0.0-20221227171554-f9683d7f8bef/go.mod h1:RGgjbofJ8xD9Sq1VVhDM1Vok1vRONV+rg+CjzG4SZKM= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= +google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1580,8 +1582,8 @@ google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQ google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.52.0 h1:kd48UiU7EHsV4rnLyOJRuP/Il/UHE7gdDAQ+SZI7nZk= -google.golang.org/grpc v1.52.0/go.mod h1:pu6fVzoFb+NBYNAvQL08ic+lvB2IojljRYuun5vorUY= +google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ= +google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/grpc/examples v0.0.0-20210304020650-930c79186c99 h1:qA8rMbz1wQ4DOFfM2ouD29DG9aHWBm6ZOy9BGxiUMmY= google.golang.org/grpc/examples v0.0.0-20210304020650-930c79186c99/go.mod h1:Ly7ZA/ARzg8fnPU9TyZIxoz33sEUuWX7txiqs8lPTgE= @@ -1598,8 +1600,8 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.28.1 h1:d0NfwRgPtno5B1Wa6L2DAG+KivqkdutMf1UhdNx175w= -google.golang.org/protobuf v1.28.1/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= +google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/middleware/grpc_middleware_test.go b/middleware/grpc_middleware_test.go index f6ebfaff8d..398648c149 100644 --- a/middleware/grpc_middleware_test.go +++ b/middleware/grpc_middleware_test.go @@ -3,7 +3,7 @@ package middleware_test -//go:generate mockgen -destination=grpc_mock_server_test.go -package=middleware_test google.golang.org/grpc/test/grpc_testing TestServiceServer +//go:generate mockgen -destination=grpc_mock_server_test.go -package=middleware_test google.golang.org/grpc/interop/grpc_testing TestServiceServer import ( "context" @@ -23,9 +23,9 @@ import ( "google.golang.org/grpc" "google.golang.org/grpc/codes" "google.golang.org/grpc/credentials/insecure" + "google.golang.org/grpc/interop/grpc_testing" "google.golang.org/grpc/status" "google.golang.org/grpc/test/bufconn" - "google.golang.org/grpc/test/grpc_testing" "github.com/ory/oathkeeper/driver" "github.com/ory/oathkeeper/driver/configuration" diff --git a/middleware/grpc_mock_server_test.go b/middleware/grpc_mock_server_test.go index eacb19bd07..26891e63aa 100644 --- a/middleware/grpc_mock_server_test.go +++ b/middleware/grpc_mock_server_test.go @@ -2,7 +2,7 @@ // SPDX-License-Identifier: Apache-2.0 // Code generated by MockGen. DO NOT EDIT. -// Source: google.golang.org/grpc/test/grpc_testing (interfaces: TestServiceServer) +// Source: google.golang.org/grpc/interop/grpc_testing (interfaces: TestServiceServer) // Package middleware_test is a generated GoMock package. package middleware_test @@ -12,33 +12,48 @@ import ( reflect "reflect" gomock "github.com/golang/mock/gomock" - grpc_testing "google.golang.org/grpc/test/grpc_testing" + grpc_testing "google.golang.org/grpc/interop/grpc_testing" ) -// MockTestServiceServer is a mock of TestServiceServer interface. +// MockTestServiceServer is a mock of TestServiceServer interface type MockTestServiceServer struct { ctrl *gomock.Controller recorder *MockTestServiceServerMockRecorder } -// MockTestServiceServerMockRecorder is the mock recorder for MockTestServiceServer. +// MockTestServiceServerMockRecorder is the mock recorder for MockTestServiceServer type MockTestServiceServerMockRecorder struct { mock *MockTestServiceServer } -// NewMockTestServiceServer creates a new mock instance. +// NewMockTestServiceServer creates a new mock instance func NewMockTestServiceServer(ctrl *gomock.Controller) *MockTestServiceServer { mock := &MockTestServiceServer{ctrl: ctrl} mock.recorder = &MockTestServiceServerMockRecorder{mock} return mock } -// EXPECT returns an object that allows the caller to indicate expected use. +// EXPECT returns an object that allows the caller to indicate expected use func (m *MockTestServiceServer) EXPECT() *MockTestServiceServerMockRecorder { return m.recorder } -// EmptyCall mocks base method. +// CacheableUnaryCall mocks base method +func (m *MockTestServiceServer) CacheableUnaryCall(arg0 context.Context, arg1 *grpc_testing.SimpleRequest) (*grpc_testing.SimpleResponse, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "CacheableUnaryCall", arg0, arg1) + ret0, _ := ret[0].(*grpc_testing.SimpleResponse) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// CacheableUnaryCall indicates an expected call of CacheableUnaryCall +func (mr *MockTestServiceServerMockRecorder) CacheableUnaryCall(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "CacheableUnaryCall", reflect.TypeOf((*MockTestServiceServer)(nil).CacheableUnaryCall), arg0, arg1) +} + +// EmptyCall mocks base method func (m *MockTestServiceServer) EmptyCall(arg0 context.Context, arg1 *grpc_testing.Empty) (*grpc_testing.Empty, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "EmptyCall", arg0, arg1) @@ -47,13 +62,13 @@ func (m *MockTestServiceServer) EmptyCall(arg0 context.Context, arg1 *grpc_testi return ret0, ret1 } -// EmptyCall indicates an expected call of EmptyCall. +// EmptyCall indicates an expected call of EmptyCall func (mr *MockTestServiceServerMockRecorder) EmptyCall(arg0, arg1 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "EmptyCall", reflect.TypeOf((*MockTestServiceServer)(nil).EmptyCall), arg0, arg1) } -// FullDuplexCall mocks base method. +// FullDuplexCall mocks base method func (m *MockTestServiceServer) FullDuplexCall(arg0 grpc_testing.TestService_FullDuplexCallServer) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "FullDuplexCall", arg0) @@ -61,13 +76,13 @@ func (m *MockTestServiceServer) FullDuplexCall(arg0 grpc_testing.TestService_Ful return ret0 } -// FullDuplexCall indicates an expected call of FullDuplexCall. +// FullDuplexCall indicates an expected call of FullDuplexCall func (mr *MockTestServiceServerMockRecorder) FullDuplexCall(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "FullDuplexCall", reflect.TypeOf((*MockTestServiceServer)(nil).FullDuplexCall), arg0) } -// HalfDuplexCall mocks base method. +// HalfDuplexCall mocks base method func (m *MockTestServiceServer) HalfDuplexCall(arg0 grpc_testing.TestService_HalfDuplexCallServer) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "HalfDuplexCall", arg0) @@ -75,13 +90,13 @@ func (m *MockTestServiceServer) HalfDuplexCall(arg0 grpc_testing.TestService_Hal return ret0 } -// HalfDuplexCall indicates an expected call of HalfDuplexCall. +// HalfDuplexCall indicates an expected call of HalfDuplexCall func (mr *MockTestServiceServerMockRecorder) HalfDuplexCall(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "HalfDuplexCall", reflect.TypeOf((*MockTestServiceServer)(nil).HalfDuplexCall), arg0) } -// StreamingInputCall mocks base method. +// StreamingInputCall mocks base method func (m *MockTestServiceServer) StreamingInputCall(arg0 grpc_testing.TestService_StreamingInputCallServer) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "StreamingInputCall", arg0) @@ -89,13 +104,13 @@ func (m *MockTestServiceServer) StreamingInputCall(arg0 grpc_testing.TestService return ret0 } -// StreamingInputCall indicates an expected call of StreamingInputCall. +// StreamingInputCall indicates an expected call of StreamingInputCall func (mr *MockTestServiceServerMockRecorder) StreamingInputCall(arg0 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StreamingInputCall", reflect.TypeOf((*MockTestServiceServer)(nil).StreamingInputCall), arg0) } -// StreamingOutputCall mocks base method. +// StreamingOutputCall mocks base method func (m *MockTestServiceServer) StreamingOutputCall(arg0 *grpc_testing.StreamingOutputCallRequest, arg1 grpc_testing.TestService_StreamingOutputCallServer) error { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "StreamingOutputCall", arg0, arg1) @@ -103,13 +118,13 @@ func (m *MockTestServiceServer) StreamingOutputCall(arg0 *grpc_testing.Streaming return ret0 } -// StreamingOutputCall indicates an expected call of StreamingOutputCall. +// StreamingOutputCall indicates an expected call of StreamingOutputCall func (mr *MockTestServiceServerMockRecorder) StreamingOutputCall(arg0, arg1 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "StreamingOutputCall", reflect.TypeOf((*MockTestServiceServer)(nil).StreamingOutputCall), arg0, arg1) } -// UnaryCall mocks base method. +// UnaryCall mocks base method func (m *MockTestServiceServer) UnaryCall(arg0 context.Context, arg1 *grpc_testing.SimpleRequest) (*grpc_testing.SimpleResponse, error) { m.ctrl.T.Helper() ret := m.ctrl.Call(m, "UnaryCall", arg0, arg1) @@ -118,19 +133,34 @@ func (m *MockTestServiceServer) UnaryCall(arg0 context.Context, arg1 *grpc_testi return ret0, ret1 } -// UnaryCall indicates an expected call of UnaryCall. +// UnaryCall indicates an expected call of UnaryCall func (mr *MockTestServiceServerMockRecorder) UnaryCall(arg0, arg1 interface{}) *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnaryCall", reflect.TypeOf((*MockTestServiceServer)(nil).UnaryCall), arg0, arg1) } -// mustEmbedUnimplementedTestServiceServer mocks base method. +// UnimplementedCall mocks base method +func (m *MockTestServiceServer) UnimplementedCall(arg0 context.Context, arg1 *grpc_testing.Empty) (*grpc_testing.Empty, error) { + m.ctrl.T.Helper() + ret := m.ctrl.Call(m, "UnimplementedCall", arg0, arg1) + ret0, _ := ret[0].(*grpc_testing.Empty) + ret1, _ := ret[1].(error) + return ret0, ret1 +} + +// UnimplementedCall indicates an expected call of UnimplementedCall +func (mr *MockTestServiceServerMockRecorder) UnimplementedCall(arg0, arg1 interface{}) *gomock.Call { + mr.mock.ctrl.T.Helper() + return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "UnimplementedCall", reflect.TypeOf((*MockTestServiceServer)(nil).UnimplementedCall), arg0, arg1) +} + +// mustEmbedUnimplementedTestServiceServer mocks base method func (m *MockTestServiceServer) mustEmbedUnimplementedTestServiceServer() { m.ctrl.T.Helper() m.ctrl.Call(m, "mustEmbedUnimplementedTestServiceServer") } -// mustEmbedUnimplementedTestServiceServer indicates an expected call of mustEmbedUnimplementedTestServiceServer. +// mustEmbedUnimplementedTestServiceServer indicates an expected call of mustEmbedUnimplementedTestServiceServer func (mr *MockTestServiceServerMockRecorder) mustEmbedUnimplementedTestServiceServer() *gomock.Call { mr.mock.ctrl.T.Helper() return mr.mock.ctrl.RecordCallWithMethodType(mr.mock, "mustEmbedUnimplementedTestServiceServer", reflect.TypeOf((*MockTestServiceServer)(nil).mustEmbedUnimplementedTestServiceServer)) From 64aed384b7ca2b03347c8d74f0f3995802014a81 Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Tue, 11 Jul 2023 07:23:08 +0000 Subject: [PATCH 42/63] autogen(docs): regenerate and update changelog [skip ci] --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 279849438c..f0e9a8662b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ **Table of Contents** -- [0.0.0 (2023-07-05)](#000-2023-07-05) +- [0.0.0 (2023-07-11)](#000-2023-07-11) - [Bug Fixes](#bug-fixes) - [Features](#features) - [Tests](#tests) @@ -321,7 +321,7 @@ -# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.3...v0.0.0) (2023-07-05) +# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.3...v0.0.0) (2023-07-11) ### Bug Fixes From 5dd45712853ced65e3ac3e2e49da92640f2405a2 Mon Sep 17 00:00:00 2001 From: hackerman <3372410+aeneasr@users.noreply.github.com> Date: Thu, 13 Jul 2023 10:09:43 +0200 Subject: [PATCH 43/63] feat: support token rotation in ID token mutator (#1119) Previously, only one JWK may be returned by the JWKS URL. This made token rotation impossible. This patch allows for multiple keys to be returned by the JWKS URL and the first key found will be used for signing. --- credentials/signer_default.go | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/credentials/signer_default.go b/credentials/signer_default.go index 9d8573ad2b..ab6d4eda55 100644 --- a/credentials/signer_default.go +++ b/credentials/signer_default.go @@ -54,8 +54,8 @@ func (s *DefaultSigner) key(ctx context.Context, location *url.URL) (*jose.JSONW return nil, "", err } - if len(keys) != 1 { - return nil, "", errors.Errorf("credentials: expected exactly one JSON Web Key Set to be returned but got: %d", len(keys)) + if len(keys) == 0 { + return nil, "", errors.Errorf("credentials: expected at least one JSON Web Key Set to be returned but got: %d", len(keys)) } var pk jose.JSONWebKey From c85d0a9565fa133c34ebbbdbf27ada3d14da1f58 Mon Sep 17 00:00:00 2001 From: aeneasr <3372410+aeneasr@users.noreply.github.com> Date: Thu, 13 Jul 2023 10:10:31 +0200 Subject: [PATCH 44/63] autogen: pin v0.40.4 release commit From 08b2bfb86c557d71d45590793501ad09389977b5 Mon Sep 17 00:00:00 2001 From: aeneasr <3372410+aeneasr@users.noreply.github.com> Date: Thu, 13 Jul 2023 11:09:27 +0200 Subject: [PATCH 45/63] fix: apk install issue --- .docker/Dockerfile-alpine | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/.docker/Dockerfile-alpine b/.docker/Dockerfile-alpine index 0470bdf7d7..8b1d8309b7 100644 --- a/.docker/Dockerfile-alpine +++ b/.docker/Dockerfile-alpine @@ -1,8 +1,8 @@ -FROM alpine:3.18 +FROM alpine:3.18.2 RUN addgroup -S ory; \ adduser -S ory -G ory -D -H -s /bin/nologin -RUN apk --no-cache --update-cache --upgrade --latest add ca-certificates +RUN apk --no-cache --update-cache --upgrade add ca-certificates COPY oathkeeper /usr/bin/oathkeeper From 70d63f311f32b8361e4fe2748b653509c43d5338 Mon Sep 17 00:00:00 2001 From: aeneasr <3372410+aeneasr@users.noreply.github.com> Date: Thu, 13 Jul 2023 11:10:13 +0200 Subject: [PATCH 46/63] autogen: pin v0.40.4 release commit From 7a94b5468ec7a70af49c83e566dd7f875614ffb5 Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Thu, 13 Jul 2023 09:45:20 +0000 Subject: [PATCH 47/63] autogen(docs): generate and bump docs [skip ci] From 07c1e3c4c11c0b1de3818386950bd14a43c87866 Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Thu, 13 Jul 2023 09:46:13 +0000 Subject: [PATCH 48/63] autogen: add v0.40.4 to version.schema.json [skip ci] --- .schema/version.schema.json | 417 ++++++++++++++++++++---------------- 1 file changed, 231 insertions(+), 186 deletions(-) diff --git a/.schema/version.schema.json b/.schema/version.schema.json index fa395b396d..af5eecd4bf 100644 --- a/.schema/version.schema.json +++ b/.schema/version.schema.json @@ -1,216 +1,261 @@ { - "$id": "https://github.com/ory/oathkeeper/.schema/version.schema.json", - "$schema": "http://json-schema.org/draft-07/schema#", - "oneOf": [ - { - "allOf": [ + "$id": "https://github.com/ory/oathkeeper/.schema/version.schema.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "oneOf": [ { - "properties": { - "version": { - "const": "v0.40.3" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.4" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.4/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.3/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.2" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.3" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.3/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.2/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.2" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.2/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.1/spec/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.0" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.1/spec/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.0/spec/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.4-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.0" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.0/spec/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.4-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.5-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.4-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.4-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.5-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.9-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.5-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.5-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.9-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.14-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.9-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.9-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.14-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.15-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.14-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.14-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.15-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.17-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.15-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.15-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.17-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.19-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.17-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.17-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.19-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.20-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.19-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.19-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.20-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "oneOf": [ - { - "properties": { - "version": { - "type": "string", - "maxLength": 0 - } - }, - "required": ["version"] - }, - { - "not": { - "properties": { - "version": {} + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.20-beta.1" + } + }, + "required": [ + "version" + ] }, - "required": ["version"] - } - } - ] + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.20-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "#/oneOf/0/allOf/1" + "allOf": [ + { + "oneOf": [ + { + "properties": { + "version": { + "type": "string", + "maxLength": 0 + } + }, + "required": [ + "version" + ] + }, + { + "not": { + "properties": { + "version": {} + }, + "required": [ + "version" + ] + } + } + ] + }, + { + "$ref": "#/oneOf/0/allOf/1" + } + ] } - ] - } - ], - "title": "All Versions of the ORY Oathkeeper Configuration", - "type": "object" -} + ], + "title": "All Versions of the ORY Oathkeeper Configuration", + "type": "object" +} \ No newline at end of file From fffe8ef57ea064093fe753be49f7181293143edc Mon Sep 17 00:00:00 2001 From: hackerman <3372410+aeneasr@users.noreply.github.com> Date: Mon, 17 Jul 2023 15:38:35 +0200 Subject: [PATCH 49/63] feat: flag to disable hop-by-hop defenses (#1120) Ory Oathkeeper v0.44.4 uses the new Rewrite feature of Golang's reverse proxy. This will strip any X-Forwarded headers from upstream requests. This however is not always desirable which is why a new config flag `serve.proxy.trust_forwarded_headers` was introduced to optionally enable the forwarding of X-Forwarded headers. --- .schema/version.schema.json | 432 ++++++++++++------------- driver/configuration/config_keys.go | 1 + driver/configuration/provider.go | 2 + driver/configuration/provider_koanf.go | 4 + driver/registry_memory.go | 2 +- proxy/proxy.go | 12 +- proxy/proxy_test.go | 69 ++++ spec/config.schema.json | 6 + 8 files changed, 293 insertions(+), 235 deletions(-) diff --git a/.schema/version.schema.json b/.schema/version.schema.json index af5eecd4bf..9870a7e1db 100644 --- a/.schema/version.schema.json +++ b/.schema/version.schema.json @@ -1,261 +1,231 @@ { - "$id": "https://github.com/ory/oathkeeper/.schema/version.schema.json", - "$schema": "http://json-schema.org/draft-07/schema#", - "oneOf": [ + "$id": "https://github.com/ory/oathkeeper/.schema/version.schema.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "oneOf": [ + { + "allOf": [ { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.4" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.4/.schema/config.schema.json" - } - ] + "properties": { + "version": { + "const": "v0.40.4" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.3" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.3/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.4/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.3" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.2" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.2/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.3/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.2" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.1/spec/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.2/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.0" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.0/spec/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.1/spec/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.0" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.4-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.4-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.0/spec/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.4-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.5-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.5-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.4-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.5-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.9-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.9-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.5-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.9-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.14-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.14-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.9-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.14-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.15-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.15-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.14-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.15-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.17-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.17-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.15-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.17-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.19-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.19-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.17-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.19-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.20-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.20-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.19-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.20-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "oneOf": [ - { - "properties": { - "version": { - "type": "string", - "maxLength": 0 - } - }, - "required": [ - "version" - ] - }, - { - "not": { - "properties": { - "version": {} - }, - "required": [ - "version" - ] - } - } - ] - }, - { - "$ref": "#/oneOf/0/allOf/1" + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.20-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "oneOf": [ + { + "properties": { + "version": { + "type": "string", + "maxLength": 0 } - ] + }, + "required": ["version"] + }, + { + "not": { + "properties": { + "version": {} + }, + "required": ["version"] + } + } + ] + }, + { + "$ref": "#/oneOf/0/allOf/1" } - ], - "title": "All Versions of the ORY Oathkeeper Configuration", - "type": "object" -} \ No newline at end of file + ] + } + ], + "title": "All Versions of the ORY Oathkeeper Configuration", + "type": "object" +} diff --git a/driver/configuration/config_keys.go b/driver/configuration/config_keys.go index 6fac519d5c..88e725ba06 100644 --- a/driver/configuration/config_keys.go +++ b/driver/configuration/config_keys.go @@ -11,6 +11,7 @@ const ( ProxyIdleTimeout Key = "serve.proxy.timeout.idle" ProxyServeAddressHost Key = "serve.proxy.host" ProxyServeAddressPort Key = "serve.proxy.port" + ProxyTrustForwardedHeaders Key = "serve.proxy.trust_forwarded_headers" APIServeAddressHost Key = "serve.api.host" APIServeAddressPort Key = "serve.api.port" APIReadTimeout Key = "serve.api.timeout.read" diff --git a/driver/configuration/provider.go b/driver/configuration/provider.go index 2b66517b97..4293d97092 100644 --- a/driver/configuration/provider.go +++ b/driver/configuration/provider.go @@ -43,6 +43,8 @@ type Provider interface { CORSOptions(iface string) cors.Options CORS(iface string) (cors.Options, bool) + ProxyTrustForwardedHeaders() bool + ProviderAuthenticators ProviderErrorHandlers ProviderAuthorizers diff --git a/driver/configuration/provider_koanf.go b/driver/configuration/provider_koanf.go index 2589b3a1ca..35795f03d6 100644 --- a/driver/configuration/provider_koanf.go +++ b/driver/configuration/provider_koanf.go @@ -384,6 +384,10 @@ func (v *KoanfProvider) AuthenticatorIsEnabled(id string) bool { return v.pipelineIsEnabled("authenticators", id) } +func (v *KoanfProvider) ProxyTrustForwardedHeaders() bool { + return v.source.Bool(ProxyTrustForwardedHeaders) +} + func (v *KoanfProvider) AuthenticatorConfig(id string, override json.RawMessage, dest interface{}) error { return v.PipelineConfig("authenticators", id, override, dest) } diff --git a/driver/registry_memory.go b/driver/registry_memory.go index b073833ec7..9bcf90ec4d 100644 --- a/driver/registry_memory.go +++ b/driver/registry_memory.go @@ -326,7 +326,7 @@ func (r *RegistryMemory) AvailablePipelineMutators() (available []string) { func (r *RegistryMemory) Proxy() *proxy.Proxy { if r.proxyProxy == nil { - r.proxyProxy = proxy.NewProxy(r) + r.proxyProxy = proxy.NewProxy(r, r.c) } return r.proxyProxy diff --git a/proxy/proxy.go b/proxy/proxy.go index 3f9bea36bf..b04682b34e 100644 --- a/proxy/proxy.go +++ b/proxy/proxy.go @@ -11,6 +11,8 @@ import ( "net/url" "strings" + "github.com/ory/oathkeeper/driver/configuration" + "github.com/ory/oathkeeper/pipeline/authn" "github.com/ory/oathkeeper/x" @@ -22,17 +24,17 @@ import ( type proxyRegistry interface { x.RegistryLogger x.RegistryWriter - ProxyRequestHandler() RequestHandler RuleMatcher() rule.Matcher } -func NewProxy(r proxyRegistry) *Proxy { - return &Proxy{r: r} +func NewProxy(r proxyRegistry, c configuration.Provider) *Proxy { + return &Proxy{r: r, c: c} } type Proxy struct { r proxyRegistry + c configuration.Provider } type key int @@ -107,6 +109,10 @@ func (d *Proxy) RoundTrip(r *http.Request) (*http.Response, error) { } func (d *Proxy) Rewrite(r *httputil.ProxyRequest) { + if d.c.ProxyTrustForwardedHeaders() { + r.SetXForwarded() + } + EnrichRequestedURL(r) rl, err := d.r.RuleMatcher().Match(r.Out.Context(), r.Out.Method, r.Out.URL, rule.ProtocolHTTP) if err != nil { diff --git a/proxy/proxy_test.go b/proxy/proxy_test.go index ce9a1e3403..816c2174ca 100644 --- a/proxy/proxy_test.go +++ b/proxy/proxy_test.go @@ -93,10 +93,12 @@ func TestProxy(t *testing.T) { url string code int messages []string + messagesNot []string rulesRegexp []rule.Rule rulesGlob []rule.Rule transform func(r *http.Request) d string + prep func(t *testing.T) }{ { d: "should fail because url does not exist in rule set", @@ -201,6 +203,62 @@ func TestProxy(t *testing.T) { "host=" + x.ParseURLOrPanic(backend.URL).Host, }, }, + { + d: "should pass and set x-forwarded headers", + prep: func(t *testing.T) { + conf.SetForTest(t, configuration.ProxyTrustForwardedHeaders, true) + }, + transform: func(r *http.Request) { + r.Header.Set("X-Forwarded-For", "foobar.com") + }, + url: ts.URL + "/authn-anon/authz-allow/cred-noop/1234", + rulesRegexp: []rule.Rule{{ + Match: &rule.Match{Methods: []string{"GET"}, URL: ts.URL + "/authn-anon/authz-allow/cred-noop/<[0-9]+>"}, + Authenticators: []rule.Handler{{Handler: "anonymous"}}, + Authorizer: rule.Handler{Handler: "allow"}, + Mutators: []rule.Handler{{Handler: "noop"}}, + Upstream: rule.Upstream{URL: backend.URL}, + }}, + rulesGlob: []rule.Rule{{ + Match: &rule.Match{Methods: []string{"GET"}, URL: ts.URL + "/authn-anon/authz-allow/cred-noop/<[0-9]*>"}, + Authenticators: []rule.Handler{{Handler: "anonymous"}}, + Authorizer: rule.Handler{Handler: "allow"}, + Mutators: []rule.Handler{{Handler: "noop"}}, + Upstream: rule.Upstream{URL: backend.URL}, + }}, + code: http.StatusOK, + messages: []string{ + "authorization=", + "url=/authn-anon/authz-allow/cred-noop/1234", + "host=" + x.ParseURLOrPanic(backend.URL).Host, + "header X-Forwarded-Proto=http", + }, + }, + { + d: "should pass and remove x-forwarded headers", + transform: func(r *http.Request) { + r.Header.Set("X-Forwarded-For", "foobar.com") + }, + url: ts.URL + "/authn-anon/authz-allow/cred-noop/1234", + rulesRegexp: []rule.Rule{{ + Match: &rule.Match{Methods: []string{"GET"}, URL: ts.URL + "/authn-anon/authz-allow/cred-noop/<[0-9]+>"}, + Authenticators: []rule.Handler{{Handler: "anonymous"}}, + Authorizer: rule.Handler{Handler: "allow"}, + Mutators: []rule.Handler{{Handler: "noop"}}, + Upstream: rule.Upstream{URL: backend.URL}, + }}, + rulesGlob: []rule.Rule{{ + Match: &rule.Match{Methods: []string{"GET"}, URL: ts.URL + "/authn-anon/authz-allow/cred-noop/<[0-9]*>"}, + Authenticators: []rule.Handler{{Handler: "anonymous"}}, + Authorizer: rule.Handler{Handler: "allow"}, + Mutators: []rule.Handler{{Handler: "noop"}}, + Upstream: rule.Upstream{URL: backend.URL}, + }}, + code: http.StatusOK, + messagesNot: []string{ + "header X-Forwarded-Proto=http", + }, + }, { d: "should fail when authorizer fails", url: ts.URL + "/authn-anon/authz-deny/cred-noop/1234", @@ -339,6 +397,10 @@ func TestProxy(t *testing.T) { } { t.Run(fmt.Sprintf("description=%s", tc.d), func(t *testing.T) { testFunc := func(t *testing.T, strategy configuration.MatchingStrategy, rules []rule.Rule) { + if tc.prep != nil { + tc.prep(t) + } + reg.RuleRepository().(*rule.RepositoryMemory).WithRules(rules) require.NoError(t, reg.RuleRepository().SetMatchingStrategy(context.Background(), strategy)) @@ -361,6 +423,13 @@ func TestProxy(t *testing.T) { %s proxy_url=%s backend_url=%s +`, m, greeting, ts.URL, backend.URL) + } + for _, m := range tc.messagesNot { + assert.False(t, strings.Contains(string(greeting), m), `Value "%s" found in message but not expected: +%s +proxy_url=%s +backend_url=%s `, m, greeting, ts.URL, backend.URL) } diff --git a/spec/config.schema.json b/spec/config.schema.json index 3a90a77a6b..c036e98bb6 100644 --- a/spec/config.schema.json +++ b/spec/config.schema.json @@ -1176,6 +1176,12 @@ "title": "Host", "description": "The network interface to listen on. Leave empty to listen on all interfaces." }, + "trust_forwarded_headers": { + "type": "boolean", + "default": false, + "title": "Trust X-Forwarded Headers", + "description": "Trust the X-Forwarded-* headers from the reverse proxy. This is useful when running behind a load balancer or similar. Set this to false if you are not running behind a reverse proxy that prevents Hop-by-Hop attacks." + }, "timeout": { "$ref": "#/definitions/serverTimeout" }, From ba1f90afb117c54a7f54ad84e3756dd81f7a1425 Mon Sep 17 00:00:00 2001 From: aeneasr <3372410+aeneasr@users.noreply.github.com> Date: Mon, 17 Jul 2023 15:39:06 +0200 Subject: [PATCH 50/63] autogen: pin v0.40.5 release commit From ee605eb76d7ba47d82387589caa32ddbc5e3a9fb Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Mon, 17 Jul 2023 14:14:53 +0000 Subject: [PATCH 51/63] autogen(docs): generate and bump docs [skip ci] From 8fc347377b4694f143ba1a42f1e2793098f52fa1 Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Mon, 17 Jul 2023 14:15:54 +0000 Subject: [PATCH 52/63] autogen: add v0.40.5 to version.schema.json [skip ci] --- .schema/version.schema.json | 445 ++++++++++++++++++++---------------- 1 file changed, 246 insertions(+), 199 deletions(-) diff --git a/.schema/version.schema.json b/.schema/version.schema.json index 9870a7e1db..3d6ab013ef 100644 --- a/.schema/version.schema.json +++ b/.schema/version.schema.json @@ -1,231 +1,278 @@ { - "$id": "https://github.com/ory/oathkeeper/.schema/version.schema.json", - "$schema": "http://json-schema.org/draft-07/schema#", - "oneOf": [ - { - "allOf": [ + "$id": "https://github.com/ory/oathkeeper/.schema/version.schema.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "oneOf": [ { - "properties": { - "version": { - "const": "v0.40.4" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.5" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.5/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.4/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.3" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.4" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.4/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.3/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.2" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.3" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.3/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.2/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.2" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.2/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.1/spec/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.0" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.1/spec/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.0/spec/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.4-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.0" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.0/spec/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.4-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.5-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.4-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.4-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.5-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.9-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.5-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.5-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.9-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.14-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.9-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.9-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.14-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.15-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.14-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.14-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.15-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.17-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.15-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.15-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.17-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.19-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.17-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.17-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.19-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.20-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.19-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.19-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.20-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "oneOf": [ - { - "properties": { - "version": { - "type": "string", - "maxLength": 0 - } - }, - "required": ["version"] - }, - { - "not": { - "properties": { - "version": {} + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.20-beta.1" + } + }, + "required": [ + "version" + ] }, - "required": ["version"] - } - } - ] + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.20-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "#/oneOf/0/allOf/1" + "allOf": [ + { + "oneOf": [ + { + "properties": { + "version": { + "type": "string", + "maxLength": 0 + } + }, + "required": [ + "version" + ] + }, + { + "not": { + "properties": { + "version": {} + }, + "required": [ + "version" + ] + } + } + ] + }, + { + "$ref": "#/oneOf/0/allOf/1" + } + ] } - ] - } - ], - "title": "All Versions of the ORY Oathkeeper Configuration", - "type": "object" -} + ], + "title": "All Versions of the ORY Oathkeeper Configuration", + "type": "object" +} \ No newline at end of file From 70886826f653f401393c453ec57b5a715cb5cb15 Mon Sep 17 00:00:00 2001 From: hackerman <3372410+aeneasr@users.noreply.github.com> Date: Tue, 18 Jul 2023 11:46:14 +0200 Subject: [PATCH 53/63] fix: properly copy x-forwarded headers from upstream (#1121) --- .schema/version.schema.json | 460 +++++++++++++++++------------------- proxy/proxy.go | 11 +- proxy/proxy_test.go | 8 +- 3 files changed, 228 insertions(+), 251 deletions(-) diff --git a/.schema/version.schema.json b/.schema/version.schema.json index 3d6ab013ef..84b767699d 100644 --- a/.schema/version.schema.json +++ b/.schema/version.schema.json @@ -1,278 +1,246 @@ { - "$id": "https://github.com/ory/oathkeeper/.schema/version.schema.json", - "$schema": "http://json-schema.org/draft-07/schema#", - "oneOf": [ + "$id": "https://github.com/ory/oathkeeper/.schema/version.schema.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "oneOf": [ + { + "allOf": [ { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.5" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.5/.schema/config.schema.json" - } - ] + "properties": { + "version": { + "const": "v0.40.5" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.4" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.4/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.5/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.4" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.3" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.3/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.4/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.3" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.2" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.2/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.3/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.2" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.1/spec/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.2/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.0" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.0/spec/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.1/spec/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.0" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.4-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.4-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.0/spec/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.4-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.5-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.5-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.4-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.5-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.9-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.9-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.5-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.9-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.14-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.14-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.9-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.14-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.15-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.15-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.14-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.15-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.17-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.17-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.15-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.17-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.19-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.19-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.17-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.19-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.20-beta.1" - } - }, - "required": [ - "version" - ] - }, - { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.20-beta.1/.schema/config.schema.json" - } - ] + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.19-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.20-beta.1" + } + }, + "required": ["version"] }, { - "allOf": [ - { - "oneOf": [ - { - "properties": { - "version": { - "type": "string", - "maxLength": 0 - } - }, - "required": [ - "version" - ] - }, - { - "not": { - "properties": { - "version": {} - }, - "required": [ - "version" - ] - } - } - ] - }, - { - "$ref": "#/oneOf/0/allOf/1" + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.20-beta.1/.schema/config.schema.json" + } + ] + }, + { + "allOf": [ + { + "oneOf": [ + { + "properties": { + "version": { + "type": "string", + "maxLength": 0 } - ] + }, + "required": ["version"] + }, + { + "not": { + "properties": { + "version": {} + }, + "required": ["version"] + } + } + ] + }, + { + "$ref": "#/oneOf/0/allOf/1" } - ], - "title": "All Versions of the ORY Oathkeeper Configuration", - "type": "object" -} \ No newline at end of file + ] + } + ], + "title": "All Versions of the ORY Oathkeeper Configuration", + "type": "object" +} diff --git a/proxy/proxy.go b/proxy/proxy.go index b04682b34e..e21f253adb 100644 --- a/proxy/proxy.go +++ b/proxy/proxy.go @@ -110,7 +110,16 @@ func (d *Proxy) RoundTrip(r *http.Request) (*http.Response, error) { func (d *Proxy) Rewrite(r *httputil.ProxyRequest) { if d.c.ProxyTrustForwardedHeaders() { - r.SetXForwarded() + headers := []string{ + "X-Forwarded-Host", + "X-Forwarded-Proto", + "X-Forwarded-For", + } + for _, h := range headers { + if v := r.In.Header.Get(h); v != "" { + r.Out.Header.Set(h, v) + } + } } EnrichRequestedURL(r) diff --git a/proxy/proxy_test.go b/proxy/proxy_test.go index 816c2174ca..579919529a 100644 --- a/proxy/proxy_test.go +++ b/proxy/proxy_test.go @@ -209,7 +209,7 @@ func TestProxy(t *testing.T) { conf.SetForTest(t, configuration.ProxyTrustForwardedHeaders, true) }, transform: func(r *http.Request) { - r.Header.Set("X-Forwarded-For", "foobar.com") + r.Header.Set("X-Forwarded-Host", "foobar.com") }, url: ts.URL + "/authn-anon/authz-allow/cred-noop/1234", rulesRegexp: []rule.Rule{{ @@ -231,13 +231,13 @@ func TestProxy(t *testing.T) { "authorization=", "url=/authn-anon/authz-allow/cred-noop/1234", "host=" + x.ParseURLOrPanic(backend.URL).Host, - "header X-Forwarded-Proto=http", + "header X-Forwarded-Host=foobar.com", }, }, { d: "should pass and remove x-forwarded headers", transform: func(r *http.Request) { - r.Header.Set("X-Forwarded-For", "foobar.com") + r.Header.Set("X-Forwarded-Host", "foobar.com") }, url: ts.URL + "/authn-anon/authz-allow/cred-noop/1234", rulesRegexp: []rule.Rule{{ @@ -256,7 +256,7 @@ func TestProxy(t *testing.T) { }}, code: http.StatusOK, messagesNot: []string{ - "header X-Forwarded-Proto=http", + "header X-Forwarded-Host=foobar.com", }, }, { From 75eb6826d832b7301cf594d9d8a6ad92209e1a79 Mon Sep 17 00:00:00 2001 From: aeneasr <3372410+aeneasr@users.noreply.github.com> Date: Tue, 18 Jul 2023 11:46:47 +0200 Subject: [PATCH 54/63] autogen: pin v0.40.6 release commit From 25959b15db0452958a2212163a256c55569d1925 Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Tue, 18 Jul 2023 10:23:29 +0000 Subject: [PATCH 55/63] autogen(docs): generate and bump docs [skip ci] From db2da0a2af906cccdadb080c9b1b3ffe1d0efc36 Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Tue, 18 Jul 2023 10:24:25 +0000 Subject: [PATCH 56/63] autogen: add v0.40.6 to version.schema.json [skip ci] --- .schema/version.schema.json | 477 ++++++++++++++++++++---------------- 1 file changed, 263 insertions(+), 214 deletions(-) diff --git a/.schema/version.schema.json b/.schema/version.schema.json index 84b767699d..674c1ef783 100644 --- a/.schema/version.schema.json +++ b/.schema/version.schema.json @@ -1,246 +1,295 @@ { - "$id": "https://github.com/ory/oathkeeper/.schema/version.schema.json", - "$schema": "http://json-schema.org/draft-07/schema#", - "oneOf": [ - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.5" - } - }, - "required": ["version"] + "$id": "https://github.com/ory/oathkeeper/.schema/version.schema.json", + "$schema": "http://json-schema.org/draft-07/schema#", + "oneOf": [ + { + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.6" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.6/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.5/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.4" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.5" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.5/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.4/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.3" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.4" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.4/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.3/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.2" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.3" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.3/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.2/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.2" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.2/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.1/spec/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.40.0" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.1/spec/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.0/spec/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.4-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.40.0" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.40.0/spec/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.4-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.5-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.4-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.4-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.5-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.9-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.5-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.5-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.9-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.14-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.9-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.9-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.14-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.15-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.14-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.14-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.15-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.17-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.15-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.15-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.17-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.19-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.17-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.17-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.19-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "properties": { - "version": { - "const": "v0.38.20-beta.1" - } - }, - "required": ["version"] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.19-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.19-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.20-beta.1/.schema/config.schema.json" - } - ] - }, - { - "allOf": [ - { - "oneOf": [ - { - "properties": { - "version": { - "type": "string", - "maxLength": 0 - } - }, - "required": ["version"] - }, - { - "not": { - "properties": { - "version": {} - }, - "required": ["version"] - } - } - ] + "allOf": [ + { + "properties": { + "version": { + "const": "v0.38.20-beta.1" + } + }, + "required": [ + "version" + ] + }, + { + "$ref": "https://raw.githubusercontent.com/ory/oathkeeper/v0.38.20-beta.1/.schema/config.schema.json" + } + ] }, { - "$ref": "#/oneOf/0/allOf/1" + "allOf": [ + { + "oneOf": [ + { + "properties": { + "version": { + "type": "string", + "maxLength": 0 + } + }, + "required": [ + "version" + ] + }, + { + "not": { + "properties": { + "version": {} + }, + "required": [ + "version" + ] + } + } + ] + }, + { + "$ref": "#/oneOf/0/allOf/1" + } + ] } - ] - } - ], - "title": "All Versions of the ORY Oathkeeper Configuration", - "type": "object" -} + ], + "title": "All Versions of the ORY Oathkeeper Configuration", + "type": "object" +} \ No newline at end of file From 98e8e5cafc2aaf4f53eb3fcc0437fb4ae89a5d35 Mon Sep 17 00:00:00 2001 From: Arne Luenser Date: Wed, 26 Jul 2023 15:59:56 +0200 Subject: [PATCH 57/63] chore: bump ory/herodot Also minor dependency cleanup --- go.mod | 60 ++++----- go.sum | 119 +++++++++--------- pipeline/authn/authenticator_bearer_token.go | 5 +- .../authn/authenticator_cookie_session.go | 2 +- pipeline/authn/authenticator_jwt.go | 3 +- .../authenticator_oauth2_introspection.go | 14 +-- pipeline/errors/when.go | 2 +- 7 files changed, 100 insertions(+), 105 deletions(-) diff --git a/go.mod b/go.mod index 495d04d54e..c623995a5c 100644 --- a/go.mod +++ b/go.mod @@ -2,10 +2,7 @@ go 1.20 module github.com/ory/oathkeeper -replace ( - github.com/mattn/go-sqlite3 => github.com/mattn/go-sqlite3 v1.14.10 - github.com/oleiade/reflections => github.com/oleiade/reflections v1.0.1 -) +replace github.com/mattn/go-sqlite3 => github.com/mattn/go-sqlite3 v1.14.10 require ( github.com/Azure/azure-pipeline-go v0.2.2 @@ -40,10 +37,9 @@ require ( github.com/ory/analytics-go/v5 v5.0.1 github.com/ory/fosite v0.44.0 github.com/ory/go-acc v0.2.9-0.20230103102148-6b1c9a70dbbe - github.com/ory/go-convenience v0.1.0 github.com/ory/gojsonschema v1.2.0 github.com/ory/graceful v0.1.1 - github.com/ory/herodot v0.9.13 + github.com/ory/herodot v0.10.3-0.20230626083119-d7e5192f0d88 github.com/ory/jsonschema/v3 v3.0.7 github.com/ory/ladon v1.1.0 github.com/ory/viper v1.7.5 @@ -54,10 +50,10 @@ require ( github.com/prometheus/client_golang v1.13.0 github.com/rs/cors v1.8.2 github.com/sirupsen/logrus v1.9.0 - github.com/spf13/cobra v1.6.1 + github.com/spf13/cobra v1.7.0 github.com/spf13/pflag v1.0.5 github.com/square/go-jose v2.3.1+incompatible - github.com/stretchr/testify v1.8.1 + github.com/stretchr/testify v1.8.4 github.com/tidwall/gjson v1.14.3 github.com/tidwall/sjson v1.2.5 github.com/tomasen/realip v0.0.0-20180522021738-f0c99a92ddce @@ -66,19 +62,19 @@ require ( go.opentelemetry.io/otel v1.11.1 go.opentelemetry.io/otel/trace v1.11.1 gocloud.dev v0.20.0 - golang.org/x/crypto v0.1.0 - golang.org/x/oauth2 v0.7.0 - google.golang.org/api v0.114.0 - google.golang.org/grpc v1.56.1 + golang.org/x/crypto v0.11.0 + golang.org/x/oauth2 v0.8.0 + google.golang.org/api v0.126.0 + google.golang.org/grpc v1.56.2 gopkg.in/square/go-jose.v2 v2.6.0 ) require ( - cloud.google.com/go v0.110.0 // indirect - cloud.google.com/go/compute v1.19.1 // indirect + cloud.google.com/go v0.110.4 // indirect + cloud.google.com/go/compute v1.20.1 // indirect cloud.google.com/go/compute/metadata v0.2.3 // indirect - cloud.google.com/go/iam v0.13.0 // indirect - cloud.google.com/go/storage v1.28.1 // indirect + cloud.google.com/go/iam v1.1.0 // indirect + cloud.google.com/go/storage v1.30.1 // indirect github.com/Azure/go-ansiterm v0.0.0-20210617225240-d185dfc1b5a1 // indirect github.com/Azure/go-autorest/autorest v0.11.1 // indirect github.com/Azure/go-autorest/autorest/adal v0.9.5 // indirect @@ -138,11 +134,12 @@ require ( github.com/google/go-cmp v0.5.9 // indirect github.com/google/martian/v3 v3.3.3-0.20220816151257-0f7e6797a04d // indirect github.com/google/pprof v0.0.0-20221010195024-131d412537ea // indirect + github.com/google/s2a-go v0.1.4 // indirect github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 // indirect github.com/google/wire v0.4.0 // indirect github.com/googleapis/enterprise-certificate-proxy v0.2.3 // indirect github.com/googleapis/gax-go v2.0.2+incompatible // indirect - github.com/googleapis/gax-go/v2 v2.7.1 // indirect + github.com/googleapis/gax-go/v2 v2.11.0 // indirect github.com/gorilla/css v1.0.0 // indirect github.com/gorilla/handlers v1.5.1 // indirect github.com/gorilla/websocket v1.5.0 // indirect @@ -173,7 +170,7 @@ require ( github.com/knadh/koanf/parsers/toml v0.1.0 // indirect github.com/knadh/koanf/parsers/yaml v0.1.0 // indirect github.com/knadh/koanf/providers/posflag v0.1.0 // indirect - github.com/kr/pretty v0.3.0 // indirect + github.com/kr/pretty v0.3.1 // indirect github.com/kr/text v0.2.0 // indirect github.com/luna-duclos/instrumentedsql v1.1.3 // indirect github.com/magiconair/properties v1.8.7 // indirect @@ -197,9 +194,10 @@ require ( github.com/opentracing/opentracing-go v1.2.0 // indirect github.com/openzipkin/zipkin-go v0.4.1 // indirect github.com/ory/dockertest/v3 v3.9.1 // indirect + github.com/ory/go-convenience v0.1.0 // indirect github.com/ory/gojsonreference v0.0.0-20190720135523-6b606c2d8ee8 // indirect github.com/pelletier/go-toml v1.9.5 // indirect - github.com/pelletier/go-toml/v2 v2.0.6 // indirect + github.com/pelletier/go-toml/v2 v2.0.9 // indirect github.com/pkg/profile v1.7.0 // indirect github.com/pmezard/go-difflib v1.0.0 // indirect github.com/prometheus/client_model v0.3.0 // indirect @@ -213,10 +211,10 @@ require ( github.com/shopspring/decimal v1.3.1 // indirect github.com/sourcegraph/annotate v0.0.0-20160123013949-f4cad6c6324d // indirect github.com/sourcegraph/syntaxhighlight v0.0.0-20170531221838-bd320f5d308e // indirect - github.com/spf13/afero v1.9.3 // indirect - github.com/spf13/cast v1.5.0 // indirect + github.com/spf13/afero v1.9.5 // indirect + github.com/spf13/cast v1.5.1 // indirect github.com/spf13/jwalterweatherman v1.1.0 // indirect - github.com/spf13/viper v1.15.0 // indirect + github.com/spf13/viper v1.16.0 // indirect github.com/square/go-jose/v3 v3.0.0-20200630053402-0a67ce9b0693 // indirect github.com/stretchr/objx v0.5.0 // indirect github.com/subosito/gotenv v1.4.2 // indirect @@ -241,16 +239,18 @@ require ( go.opentelemetry.io/otel/metric v0.33.0 // indirect go.opentelemetry.io/otel/sdk v1.11.1 // indirect go.opentelemetry.io/proto/otlp v0.18.0 // indirect - golang.org/x/mod v0.8.0 // indirect - golang.org/x/net v0.9.0 // indirect - golang.org/x/sync v0.1.0 // indirect - golang.org/x/sys v0.7.0 // indirect - golang.org/x/text v0.9.0 // indirect - golang.org/x/tools v0.6.0 // indirect + golang.org/x/mod v0.12.0 // indirect + golang.org/x/net v0.12.0 // indirect + golang.org/x/sync v0.3.0 // indirect + golang.org/x/sys v0.10.0 // indirect + golang.org/x/text v0.11.0 // indirect + golang.org/x/tools v0.11.0 // indirect golang.org/x/xerrors v0.0.0-20220907171357-04be3eba64a2 // indirect google.golang.org/appengine v1.6.7 // indirect - google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 // indirect - google.golang.org/protobuf v1.30.0 // indirect + google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 // indirect + google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529 // indirect + google.golang.org/genproto/googleapis/rpc v0.0.0-20230725213213-b022f6e96895 // indirect + google.golang.org/protobuf v1.31.0 // indirect gopkg.in/ini.v1 v1.67.0 // indirect gopkg.in/yaml.v2 v2.4.0 // indirect gopkg.in/yaml.v3 v3.0.1 // indirect diff --git a/go.sum b/go.sum index 1a19c3fb3c..5fd364b75c 100644 --- a/go.sum +++ b/go.sum @@ -25,25 +25,24 @@ cloud.google.com/go v0.78.0/go.mod h1:QjdrLG0uq+YwhjoVOLsS1t7TW8fs36kLs4XO5R5ECH cloud.google.com/go v0.79.0/go.mod h1:3bzgcEeQlzbuEAYu4mrWhKqWjmpprinYgKJLgKHnbb8= cloud.google.com/go v0.81.0/go.mod h1:mk/AM35KwGk/Nm2YSeZbxXdrNK3KZOYHmLkOqC2V6E0= cloud.google.com/go v0.82.0/go.mod h1:vlKccHJGuFBFufnAnuB08dfEH9Y3H7dzDzRECFdC2TA= -cloud.google.com/go v0.110.0 h1:Zc8gqp3+a9/Eyph2KDmcGaPtbKRIoqq4YTlL4NMD0Ys= -cloud.google.com/go v0.110.0/go.mod h1:SJnCLqQ0FCFGSZMUNUf84MV3Aia54kn7pi8st7tMzaY= +cloud.google.com/go v0.110.4 h1:1JYyxKMN9hd5dR2MYTPWkGUgcoxVVhg0LKNKEo0qvmk= +cloud.google.com/go v0.110.4/go.mod h1:+EYjdK8e5RME/VY/qLCAtuyALQ9q67dvuum8i+H5xsI= cloud.google.com/go/bigquery v1.0.1/go.mod h1:i/xbL2UlR5RvWAURpBYZTtm/cXjCha9lbfbpx4poX+o= cloud.google.com/go/bigquery v1.3.0/go.mod h1:PjpwJnslEMmckchkHFfq+HTD2DmtT67aNFKH1/VBDHE= cloud.google.com/go/bigquery v1.4.0/go.mod h1:S8dzgnTigyfTmLBfrtrhyYhwRxG72rYxvftPBK2Dvzc= cloud.google.com/go/bigquery v1.5.0/go.mod h1:snEHRnqQbz117VIFhE8bmtwIDY80NLUZUMb4Nv6dBIg= cloud.google.com/go/bigquery v1.7.0/go.mod h1://okPTzCYNXSlb24MZs83e2Do+h+VXtc4gLoIoXIAPc= cloud.google.com/go/bigquery v1.8.0/go.mod h1:J5hqkt3O0uAFnINi6JXValWIb1v0goeZM77hZzJN/fQ= -cloud.google.com/go/compute v1.19.1 h1:am86mquDUgjGNWxiGn+5PGLbmgiWXlE/yNWpIpNvuXY= -cloud.google.com/go/compute v1.19.1/go.mod h1:6ylj3a05WF8leseCdIf77NK0g1ey+nj5IKd5/kvShxE= +cloud.google.com/go/compute v1.20.1 h1:6aKEtlUiwEpJzM001l0yFkpXmUVXaN8W+fbkb2AZNbg= +cloud.google.com/go/compute v1.20.1/go.mod h1:4tCnrn48xsqlwSAiLf1HXMQk8CONslYbdiEZc9FEIbM= cloud.google.com/go/compute/metadata v0.2.3 h1:mg4jlk7mCAj6xXp9UJ4fjI9VUI5rubuGBW5aJ7UnBMY= cloud.google.com/go/compute/metadata v0.2.3/go.mod h1:VAV5nSsACxMJvgaAuX6Pk2AawlZn8kiOGuCv6gTkwuA= cloud.google.com/go/datastore v1.0.0/go.mod h1:LXYbyblFSglQ5pkeyhO+Qmw7ukd3C+pD7TKLgZqpHYE= cloud.google.com/go/datastore v1.1.0/go.mod h1:umbIZjpQpHh4hmRpGhH4tLFup+FVzqBi1b3c64qFpCk= cloud.google.com/go/firestore v1.1.0/go.mod h1:ulACoGHTpvq5r8rxGJ4ddJZBZqakUQqClKRT5SZwBmk= cloud.google.com/go/firestore v1.2.0/go.mod h1:iISCjWnTpnoJT1R287xRdjvQHJrxQOpeah4phb5D3h0= -cloud.google.com/go/iam v0.13.0 h1:+CmB+K0J/33d0zSQ9SlFWUeCCEn5XJA0ZMZ3pHE9u8k= -cloud.google.com/go/iam v0.13.0/go.mod h1:ljOg+rcNfzZ5d6f1nAUJ8ZIxOaZUVoS14bKCtaLZ/D0= -cloud.google.com/go/longrunning v0.4.1 h1:v+yFJOfKC3yZdY6ZUI933pIYdhyhV8S3NpWrXWmg7jM= +cloud.google.com/go/iam v1.1.0 h1:67gSqaPukx7O8WLLHMa0PNs3EBGd2eE4d+psbO/CO94= +cloud.google.com/go/iam v1.1.0/go.mod h1:nxdHjaKfCr7fNYx/HJMM8LgiMugmveWlkatear5gVyk= cloud.google.com/go/pubsub v1.0.1/go.mod h1:R0Gpsv3s54REJCy4fxDixWD93lHJMoZTyQ2kNxGRt3I= cloud.google.com/go/pubsub v1.1.0/go.mod h1:EwwdRX2sKPjnvnqCa270oGRyludottCI76h+R3AArQw= cloud.google.com/go/pubsub v1.2.0/go.mod h1:jhfEVHT8odbXTkndysNHCcx0awwzvfOlguIAii9o8iA= @@ -55,8 +54,8 @@ cloud.google.com/go/storage v1.8.0/go.mod h1:Wv1Oy7z6Yz3DshWRJFhqM/UCfaWIRTdp0RX cloud.google.com/go/storage v1.9.0/go.mod h1:m+/etGaqZbylxaNT876QGXqEHp4PR2Rq5GMqICWb9bU= cloud.google.com/go/storage v1.10.0/go.mod h1:FLPqc6j+Ki4BU591ie1oL6qBQGu2Bl/tZ9ullr3+Kg0= cloud.google.com/go/storage v1.14.0/go.mod h1:GrKmX003DSIwi9o29oFT7YDnHYwZoctc3fOKtUw0Xmo= -cloud.google.com/go/storage v1.28.1 h1:F5QDG5ChchaAVQhINh24U99OWHURqrW8OmQcGKXcbgI= -cloud.google.com/go/storage v1.28.1/go.mod h1:Qnisd4CqDdo6BGs2AD5LLnEsmSQ80wQ5ogcBBKhU86Y= +cloud.google.com/go/storage v1.30.1 h1:uOdMxAs8HExqBlnLtnQyP0YkvbiDpdGShGKtx6U/oNM= +cloud.google.com/go/storage v1.30.1/go.mod h1:NfxhC0UJE1aXSx7CIIbCf7y9HKT7BiccwkR7+P7gN8E= contrib.go.opencensus.io/exporter/aws v0.0.0-20181029163544-2befc13012d0/go.mod h1:uu1P0UCM/6RbsMrgPa98ll8ZcHM858i/AD06a9aLRCA= contrib.go.opencensus.io/exporter/stackdriver v0.12.1/go.mod h1:iwB6wGarfphGGe/e5CWqyUk/cLzKnWsOKPVW3no6OTw= contrib.go.opencensus.io/integrations/ocsql v0.1.4/go.mod h1:8DsSdjz3F+APR+0z0WkU1aRorQCFfRxvqjUUPMbF3fE= @@ -268,7 +267,7 @@ github.com/form3tech-oss/jwt-go v3.2.2+incompatible h1:TcekIExNqud5crz4xD2pavyTg github.com/form3tech-oss/jwt-go v3.2.2+incompatible/go.mod h1:pbq4aXjuKjdthFRnoDwaVPLA+WlJuPGy+QneDUgJi2k= github.com/fortytw2/leaktest v1.3.0/go.mod h1:jDsjWgpAGjm2CA7WthBh/CdZYEPF31XHquHwclZch5g= github.com/frankban/quicktest v1.11.3/go.mod h1:wRf/ReqHper53s+kmmSZizM8NamnL3IM0I9ntUbOk+k= -github.com/frankban/quicktest v1.14.3 h1:FJKSZTDHjyhriyC81FLQ0LY93eSai0ZyR/ZIkd3ZUKE= +github.com/frankban/quicktest v1.14.4 h1:g2rn0vABPOOXmZUj+vbmUp0lPoXEMuhTpIluN0XL9UY= github.com/fsnotify/fsnotify v1.4.7/go.mod h1:jwhsz4b93w/PPRr/qN1Yymfu8t87LnFCMoQvtojpjFo= github.com/fsnotify/fsnotify v1.4.9/go.mod h1:znqG4EE+3YCdAaPaxE2ZRY/06pZUdp0tY4IgpuI1SZQ= github.com/fsnotify/fsnotify v1.6.0 h1:n+5WquG0fcWoWp6xPWfHdbskMCQaFnG6PfBrh1Ky4HY= @@ -507,6 +506,8 @@ github.com/google/pprof v0.0.0-20211214055906-6f57359322fd/go.mod h1:KgnwoLYCZ8I github.com/google/pprof v0.0.0-20221010195024-131d412537ea h1:R3VfsTXMMK4JCWZDdxScmnTzu9n9YRsDvguLis0U/b8= github.com/google/pprof v0.0.0-20221010195024-131d412537ea/go.mod h1:dDKJzRmX4S37WGHujM7tX//fmj1uioxKzKxz3lo4HJo= github.com/google/renameio v0.1.0/go.mod h1:KWCgfxg9yswjAJkECMjeO8J8rahYeXnNhOm40UhjYkI= +github.com/google/s2a-go v0.1.4 h1:1kZ/sQM3srePvKs3tXAvQzo66XfcReoqFpIpIccE7Oc= +github.com/google/s2a-go v0.1.4/go.mod h1:Ej+mSEMGRnqRzjc7VtF+jdBwYG5fuJfiZ8ELkjEwM0A= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510 h1:El6M4kTTCOh6aBiKaUGG7oYTSPP8MxqL4YI3kZKwcP4= github.com/google/shlex v0.0.0-20191202100458-e7afc7fbc510/go.mod h1:pupxD2MaaD3pAXIBCelhxNneeOaAeabZDe5s4K6zSpQ= github.com/google/subcommands v1.0.1/go.mod h1:ZjhPrFU+Olkh9WazFPsl27BQ4UPiG37m3yTrtFlrHVk= @@ -524,8 +525,8 @@ github.com/googleapis/gax-go v2.0.2+incompatible h1:silFMLAnr330+NRuag/VjIGF7TLp github.com/googleapis/gax-go v2.0.2+incompatible/go.mod h1:SFVmujtThgffbyetf+mdk2eWhX2bMyUtNHzFKcPA9HY= github.com/googleapis/gax-go/v2 v2.0.4/go.mod h1:0Wqv26UfaUD9n4G6kQubkQ+KchISgw+vpHVxEJEs9eg= github.com/googleapis/gax-go/v2 v2.0.5/go.mod h1:DWXyrwAJ9X0FpwwEdw+IPEYBICEFu5mhpdKc/us6bOk= -github.com/googleapis/gax-go/v2 v2.7.1 h1:gF4c0zjUP2H/s/hEGyLA3I0fA2ZWjzYiONAD6cvPr8A= -github.com/googleapis/gax-go/v2 v2.7.1/go.mod h1:4orTrqY6hXxxaUL4LHIPl6lGo8vAE38/qKbhSAKP6QI= +github.com/googleapis/gax-go/v2 v2.11.0 h1:9V9PWXEsWnPpQhu/PeQIkS4eGzMlTLGgt80cUUI8Ki4= +github.com/googleapis/gax-go/v2 v2.11.0/go.mod h1:DxmR61SGKkGLa2xigwuZIQpkCI2S5iydzRfb3peWZJI= github.com/googleapis/google-cloud-go-testing v0.0.0-20200911160855-bcd43fbb19e8/go.mod h1:dvDLG8qkwmyD9a/MJJN3XJcT3xFxOKAvTZGvuZmac9g= github.com/gopherjs/gopherjs v0.0.0-20181017120253-0766667cb4d1/go.mod h1:wJfORRmW1u3UXTncJ5qlYoELFm8eSnnEO6hX4iZ3EWY= github.com/gorilla/css v1.0.0 h1:BQqNyPTi50JCFMTw/b67hByjMVXZRwGha6wxVGkeihY= @@ -585,7 +586,6 @@ github.com/imdario/mergo v0.3.11/go.mod h1:jmQim1M+e3UYxmgPu/WyfjB3N3VflVyUjjjwH github.com/imdario/mergo v0.3.13 h1:lFzP57bqS/wsqKssCGmtLAb8A0wKjLGrve2q3PPVcBk= github.com/imdario/mergo v0.3.13/go.mod h1:4lJ1jqUDcsbIECGy0RUJAXNIhg+6ocWgb1ALK2O4oXg= github.com/inconshreveable/mousetrap v1.0.0/go.mod h1:PxqpIevigyE2G7u3NXJIT2ANytuPF1OarO4DADm73n8= -github.com/inconshreveable/mousetrap v1.0.1/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/inconshreveable/mousetrap v1.1.0 h1:wN+x4NVGpMsO7ErUn/mUI3vEoE6Jt13X2s0bqwp9tc8= github.com/inconshreveable/mousetrap v1.1.0/go.mod h1:vpF70FUmC8bwa3OWnCshd2FqLfsEA9PFc4w1p2J65bw= github.com/inhies/go-bytesize v0.0.0-20220417184213-4913239db9cf h1:FtEj8sfIcaaBfAKrE1Cwb61YDtYq9JxChK1c7AKce7s= @@ -707,8 +707,9 @@ github.com/kr/logfmt v0.0.0-20140226030751-b84e30acd515/go.mod h1:+0opPa2QZZtGFB github.com/kr/pretty v0.1.0/go.mod h1:dAy3ld7l9f0ibDNOQOHHMYYIIbhfbHSm3C4ZsoJORNo= github.com/kr/pretty v0.2.0/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= github.com/kr/pretty v0.2.1/go.mod h1:ipq/a2n7PKx3OHsz4KJII5eveXtPO4qwEXGdVfWzfnI= -github.com/kr/pretty v0.3.0 h1:WgNl7dwNpEZ6jJ9k1snq4pZsg7DOEN8hP9Xw0Tsjwk0= github.com/kr/pretty v0.3.0/go.mod h1:640gp4NfQd8pI5XOwp5fnNeVWj67G7CFk/SaSQn7NBk= +github.com/kr/pretty v0.3.1 h1:flRD4NNwYAUpkphVc1HcthR4KEIFJ65n8Mw5qdRn3LE= +github.com/kr/pretty v0.3.1/go.mod h1:hoEshYVHaxMs3cyo3Yncou5ZscifuDolrwPKZanG3xk= github.com/kr/pty v1.1.1/go.mod h1:pFQYn66WHrOpPYNljwOMqo10TkYh1fy3cYio2l3bCsQ= github.com/kr/pty v1.1.8/go.mod h1:O1sed60cT9XZ5uDucP5qwvh+TE3NnUj51EiZO/lmSfw= github.com/kr/text v0.1.0/go.mod h1:4Jbv+DJW3UT/LiOwJeYQe1efqtUx/iVham/4vfdArNI= @@ -839,8 +840,8 @@ github.com/ory/gojsonschema v1.2.0 h1:ePsM9vnsxVHrEHW9/bE2DyU4s34B/YdDtT4LoPnGNs github.com/ory/gojsonschema v1.2.0/go.mod h1:BNZpdJgB74KOLSsWFvzw6roXg1I6O51WO8roMmW+T7Y= github.com/ory/graceful v0.1.1 h1:zx+8tDObLPrG+7Tc8jKYlXsqWnLtOQA1IZ/FAAKHMXU= github.com/ory/graceful v0.1.1/go.mod h1:zqu70l95WrKHF4AZ6tXHvAqAvpY6M7g6ttaAVcMm7KU= -github.com/ory/herodot v0.9.13 h1:cN/Z4eOkErl/9W7hDIDLb79IO/bfsH+8yscBjRpB4IU= -github.com/ory/herodot v0.9.13/go.mod h1:IWDs9kSvFQqw/cQ8zi5ksyYvITiUU4dI7glUrhZcJYo= +github.com/ory/herodot v0.10.3-0.20230626083119-d7e5192f0d88 h1:J0CIFKdpUeqKbVMw7pQ1qLtUnflRM1JWAcOEq7Hp4yg= +github.com/ory/herodot v0.10.3-0.20230626083119-d7e5192f0d88/go.mod h1:MMNmY6MG1uB6fnXYFaHoqdV23DTWctlPsmRCeq/2+wc= github.com/ory/jsonschema/v3 v3.0.7 h1:GQ9qfZDiJqs4l2d3p56dozCChvejQFZyLKGHYzDzOSo= github.com/ory/jsonschema/v3 v3.0.7/go.mod h1:g8c8YOtN4TrR2wYeMdT02GDmzJDI0fEW2nI26BECafY= github.com/ory/ladon v1.1.0 h1:6tgazU2J3Z3odPs1f0qn729kRXCAtlJROliuWUHedV0= @@ -860,8 +861,8 @@ github.com/pelletier/go-toml v1.8.0/go.mod h1:D6yutnOGMveHEPV7VQOuvI/gXY61bv+9bA github.com/pelletier/go-toml v1.8.1/go.mod h1:T2/BmBdy8dvIRq1a/8aqjN41wvWlN4lrapLU/GW4pbc= github.com/pelletier/go-toml v1.9.5 h1:4yBQzkHv+7BHq2PQUZF3Mx0IYxG7LsP222s7Agd3ve8= github.com/pelletier/go-toml v1.9.5/go.mod h1:u1nR/EPcESfeI/szUZKdtJ0xRNbUoANCkoOuaOx1Y+c= -github.com/pelletier/go-toml/v2 v2.0.6 h1:nrzqCb7j9cDFj2coyLNLaZuJTLjWjlaz6nvTvIwycIU= -github.com/pelletier/go-toml/v2 v2.0.6/go.mod h1:eumQOmlWiOPt5WriQQqoM5y18pDHwha2N+QD+EUNTek= +github.com/pelletier/go-toml/v2 v2.0.9 h1:uH2qQXheeefCCkuBBSLi7jCiSmj3VRh2+Goq2N7Xxu0= +github.com/pelletier/go-toml/v2 v2.0.9/go.mod h1:tJU2Z3ZkXwnxa4DPO899bsyIoywizdUvyaeZurnPPDc= github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2 h1:JhzVVoYvbOACxoUmOs6V/G4D5nPVUW73rKvXxP4XUJc= github.com/phayes/freeport v0.0.0-20180830031419-95f893ade6f2/go.mod h1:iIss55rKnNBTvrwdmkUpLnDpZoAHvWaiq5+iMmen4AE= github.com/pkg/diff v0.0.0-20210226163009-20ebb0f2a09e/go.mod h1:pJLUxLENpZxwdsKMEsNbx1VGcRFpLqf3715MtcvvzbA= @@ -962,19 +963,19 @@ github.com/spaolacci/murmur3 v0.0.0-20180118202830-f09979ecbc72/go.mod h1:JwIasO github.com/spf13/afero v1.1.2/go.mod h1:j4pytiNVoe2o6bmDsKpLACNPDBIoEAkihy7loJ1B0CQ= github.com/spf13/afero v1.2.2/go.mod h1:9ZxEEn6pIJ8Rxe320qSDBk6AsU0r9pR7Q4OcevTdifk= github.com/spf13/afero v1.5.1/go.mod h1:Ai8FlHk4v/PARR026UzYexafAt9roJ7LcLMAmO6Z93I= -github.com/spf13/afero v1.9.3 h1:41FoI0fD7OR7mGcKE/aOiLkGreyf8ifIOQmJANWogMk= -github.com/spf13/afero v1.9.3/go.mod h1:iUV7ddyEEZPO5gA3zD4fJt6iStLlL+Lg4m2cihcDf8Y= +github.com/spf13/afero v1.9.5 h1:stMpOSZFs//0Lv29HduCmli3GUfpFoF3Y1Q/aXj/wVM= +github.com/spf13/afero v1.9.5/go.mod h1:UBogFpq8E9Hx+xc5CNTTEpTnuHVmXDwZcZcE1eb/UhQ= github.com/spf13/cast v1.3.0/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.1/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= github.com/spf13/cast v1.3.2-0.20200723214538-8d17101741c8/go.mod h1:Qx5cxh0v+4UWYiBimWS+eyWzqEqokIECu5etghLkUJE= -github.com/spf13/cast v1.5.0 h1:rj3WzYc11XZaIZMPKmwP96zkFEnnAmV8s6XbB2aY32w= -github.com/spf13/cast v1.5.0/go.mod h1:SpXXQ5YoyJw6s3/6cMTQuxvgRl3PCJiyaX9p6b155UU= +github.com/spf13/cast v1.5.1 h1:R+kOtfhWQE6TVQzY+4D7wJLBgkdVasCEFxSUBYBYIlA= +github.com/spf13/cast v1.5.1/go.mod h1:b9PdjNptOpzXr7Rq1q9gJML/2cdGQAo69NKzQ10KN48= github.com/spf13/cobra v0.0.3/go.mod h1:1l0Ry5zgKvJasoi3XT1TypsSe7PqH0Sj9dhYf7v3XqQ= github.com/spf13/cobra v1.0.0/go.mod h1:/6GTrnGXV9HjY+aR4k0oJ5tcvakLuG6EuKReYlHNrgE= github.com/spf13/cobra v1.1.3/go.mod h1:pGADOWyqRD/YMrPZigI/zbliZ2wVD/23d+is3pSWzOo= github.com/spf13/cobra v1.5.0/go.mod h1:dWXEIy2H428czQCjInthrTRUg7yKbok+2Qi/yBIJoUM= -github.com/spf13/cobra v1.6.1 h1:o94oiPyS4KD1mPy2fmcYYHHfCxLqYjJOhGsCHFZtEzA= -github.com/spf13/cobra v1.6.1/go.mod h1:IOw/AERYS7UzyrGinqmz6HLUo219MORXGxhbaJUqzrY= +github.com/spf13/cobra v1.7.0 h1:hyqWnYt1ZQShIddO5kBpj3vu05/++x6tJ6dg8EC572I= +github.com/spf13/cobra v1.7.0/go.mod h1:uLxZILRyS/50WlhOIKD7W6V5bgeIt+4sICxh6uRMrb0= github.com/spf13/jwalterweatherman v1.0.0/go.mod h1:cQK4TGJAtQXfYWX+Ddv3mKDzgVb68N+wFjFa4jdeBTo= github.com/spf13/jwalterweatherman v1.1.0 h1:ue6voC5bR5F8YxI5S67j9i582FU4Qvo2bmqnqMYADFk= github.com/spf13/jwalterweatherman v1.1.0/go.mod h1:aNWZUN0dPAAO/Ljvb5BEdw96iTZ0EXowPYD95IqWIGo= @@ -983,8 +984,8 @@ github.com/spf13/pflag v1.0.5 h1:iy+VFUOCP1a+8yFto/drg2CJ5u0yRoB7fZw3DKv/JXA= github.com/spf13/pflag v1.0.5/go.mod h1:McXfInJRrz4CZXVZOBLb0bTZqETkiAhM9Iw0y3An2Bg= github.com/spf13/viper v1.4.0/go.mod h1:PTJ7Z/lr49W6bUbkmS1V3by4uWynFiR9p7+dSq/yZzE= github.com/spf13/viper v1.7.0/go.mod h1:8WkrPz2fc9jxqZNCJI/76HCieCp4Q8HaLFoCha5qpdg= -github.com/spf13/viper v1.15.0 h1:js3yy885G8xwJa6iOISGFwd+qlUo5AvyXb7CiihdtiU= -github.com/spf13/viper v1.15.0/go.mod h1:fFcTBJxvhhzSJiZy8n+PeW6t8l+KeT/uTARa0jHOQLA= +github.com/spf13/viper v1.16.0 h1:rGGH0XDZhdUOryiDWjmIvUSWpbNqisK8Wk0Vyefw8hc= +github.com/spf13/viper v1.16.0/go.mod h1:yg78JgCJcbrQOvV9YLXgkLaZqUidkY9K+Dd1FofRzQg= github.com/square/go-jose v2.3.1+incompatible h1:RhqCh4GjK8cxzULjztpqLCmEOYQYB05Id8I40FkHZ6Q= github.com/square/go-jose v2.3.1+incompatible/go.mod h1:7MxpAF/1WTVUu8Am+T5kNy+t0902CaLWM4Z745MkOa8= github.com/square/go-jose/v3 v3.0.0-20200630053402-0a67ce9b0693 h1:wD1IWQwAhdWclCwaf6DdzgCAe9Bfz1M+4AHRd7N786Y= @@ -1003,8 +1004,9 @@ github.com/stretchr/testify v1.6.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/ github.com/stretchr/testify v1.7.0/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.7.1/go.mod h1:6Fq8oRcR53rry900zMqJjRRixrwX3KX962/h/Wwjteg= github.com/stretchr/testify v1.8.0/go.mod h1:yNjHg4UonilssWZ8iaSj1OCr/vHnekPRkoO+kdMU+MU= -github.com/stretchr/testify v1.8.1 h1:w7B6lhMri9wdJUVmEZPGGhZzrYTPvgJArz7wNPgYKsk= github.com/stretchr/testify v1.8.1/go.mod h1:w2LPCIKwWwSfY2zedu0+kehJoqGctiVI29o6fzry7u4= +github.com/stretchr/testify v1.8.4 h1:CcVxjf3Q8PM0mHUKJCdn+eZZtm5yQwehR5yeSVQQcUk= +github.com/stretchr/testify v1.8.4/go.mod h1:sz/lmYIOXD/1dqDmKjjqLyZ2RngseejIcXlSw2iwfAo= github.com/subosito/gotenv v1.2.0/go.mod h1:N0PQaV/YGNqwC0u51sEeR/aUtSLEXKX9iv69rRypqCw= github.com/subosito/gotenv v1.4.2 h1:X1TuBLAMDFbaTAChgCBLu3DU3UPyELpnF2jjJ2cz/S8= github.com/subosito/gotenv v1.4.2/go.mod h1:ayKnFf/c6rvx/2iiLrJUk1e6plDbT3edrFNGqEflhK0= @@ -1053,7 +1055,6 @@ github.com/yuin/goldmark v1.1.27/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9de github.com/yuin/goldmark v1.1.32/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.2.1/go.mod h1:3hX8gzYuyVAZsxl0MRgGTJEmQBFcNTphYh9decYSb74= github.com/yuin/goldmark v1.3.5/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= -github.com/yuin/goldmark v1.4.0/go.mod h1:mwnBkeHKe2W/ZEtQ+71ViKU8L12m81fl3OWwC1Zlc8k= github.com/yuin/goldmark v1.4.13/go.mod h1:6yULJ656Px+3vBD8DxQVa3kxgyrAnzto9xy5taEt/CY= github.com/zenazn/goji v0.9.0/go.mod h1:7S9M489iMyHBNxwZnk9/EHS098H4/F6TATF2mIxtB1Q= go.etcd.io/bbolt v1.3.2/go.mod h1:IbVyRI1SCnLcuJnV2u8VeU0CEYM7e686BmAb1XKL+uU= @@ -1140,12 +1141,12 @@ golang.org/x/crypto v0.0.0-20210421170649-83a5a9bb288b/go.mod h1:T9bdIzuCu7OtxOm golang.org/x/crypto v0.0.0-20210616213533-5ff15b29337e/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210711020723-a769d52b0f97/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= golang.org/x/crypto v0.0.0-20210921155107-089bfa567519/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= -golang.org/x/crypto v0.0.0-20211108221036-ceb1ce70b4fa/go.mod h1:GvvjBRRGRdwPK5ydBHafDWAxML/pGHZbMvKqRZ5+Abc= +golang.org/x/crypto v0.0.0-20220314234659-1baeb1ce4c0b/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220517005047-85d78b3ac167/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220622213112-05595931fe9d/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= golang.org/x/crypto v0.0.0-20220722155217-630584e8d5aa/go.mod h1:IxCIyHEi3zRg3s0A5j5BB6A9Jmi73HwBIUl50j+osU4= -golang.org/x/crypto v0.1.0 h1:MDRAIl0xIo9Io2xV565hzXHw3zVseKrJKodhohM5CjU= -golang.org/x/crypto v0.1.0/go.mod h1:RecgLatLF4+eUMCP1PoPZQb+cVrJcOPbHkTkbkB9sbw= +golang.org/x/crypto v0.11.0 h1:6Ewdq3tDic1mg5xRO4milcWCfMVQhI4NkqWWvqejpuA= +golang.org/x/crypto v0.11.0/go.mod h1:xgJhtzW8F9jGdVFWZESrid1U1bjeNy4zgy5cRr/CIio= golang.org/x/exp v0.0.0-20190121172915-509febef88a4/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190306152737-a1d7652674e8/go.mod h1:CJ0aWSM057203Lf6IL+f9T1iT9GByDxfZKAQTCR3kQA= golang.org/x/exp v0.0.0-20190510132918-efd6b22b2522/go.mod h1:ZjyILWgesfNpC6sMxTJOJm9Kp84zZh5NQWvqDGG3Qr8= @@ -1182,8 +1183,8 @@ golang.org/x/mod v0.4.0/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.1/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.4.2/go.mod h1:s0Qsj1ACt9ePp/hMypM3fl4fZqREWJwdYDEqhRiZZUA= golang.org/x/mod v0.6.0-dev.0.20220419223038-86c51ed26bb4/go.mod h1:jJ57K6gSWd91VN4djpZkiMVwK6gcyfeH4XE8wZrZaV4= -golang.org/x/mod v0.8.0 h1:LUYupSeNrTNCGzR/hVBk2NHZO4hXcVaW1k4Qx7rjPx8= -golang.org/x/mod v0.8.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= +golang.org/x/mod v0.12.0 h1:rmsUpXtvNzj340zd98LZ4KntptpfRHwpFOHG188oHXc= +golang.org/x/mod v0.12.0/go.mod h1:iBbtSCu2XBx23ZKBPSOrRkjjQPZFPuis4dIYUhu/chs= golang.org/x/net v0.0.0-20180724234803-3673e40ba225/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20180826012351-8a410e7b638d/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= golang.org/x/net v0.0.0-20181023162649-9b4f9f5ad519/go.mod h1:mL1N/T3taQHkDXs73rZJwtUhF3w3ftmwwsq0BUmARs4= @@ -1232,15 +1233,14 @@ golang.org/x/net v0.0.0-20210405180319-a5a99cb37ef4/go.mod h1:p54w0d4576C0XHj96b golang.org/x/net v0.0.0-20210421230115-4e50805a0758/go.mod h1:72T/g9IO56b78aLF+1Kcs5dz7/ng1VjMUvfKvpfy+jM= golang.org/x/net v0.0.0-20210503060351-7fd8e65b6420/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20210525063256-abc453219eb5/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= -golang.org/x/net v0.0.0-20210805182204-aaa1db679c0d/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20211112202133-69e39bad7dc2/go.mod h1:9nx3DQGgdP8bBQD5qxJ1jj9UTztislL4KSBs9R2vV5Y= golang.org/x/net v0.0.0-20220127200216-cd36cc0744dd/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220225172249-27dd8689420f/go.mod h1:CfG3xpIq0wQ8r1q4Su4UZFWDARRcnwPjda9FqA0JpMk= golang.org/x/net v0.0.0-20220722155237-a158d28d115b/go.mod h1:XRhObCWvk6IyKnWLug+ECip1KBveYUHfp+8e9klMJ9c= golang.org/x/net v0.0.0-20220826154423-83b083e8dc8b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= golang.org/x/net v0.0.0-20221002022538-bcab6841153b/go.mod h1:YDH+HFinaLZZlnHAfSS6ZXJJ9M9t4Dl22yv3iI2vPwk= -golang.org/x/net v0.9.0 h1:aWJ/m6xSmxWBx+V0XRHTlrYrPG56jKsLdTFmsSsCzOM= -golang.org/x/net v0.9.0/go.mod h1:d48xBJpPfHeWQsugry2m+kC02ZBRGRgulfHnEXEuWns= +golang.org/x/net v0.12.0 h1:cfawfvKITfUsFCeJIHJrbSxpeu/E81khclypR0GVT50= +golang.org/x/net v0.12.0/go.mod h1:zEVYFnQC7m/vmpQFELhcD1EWkZlX69l4oqgmer6hfKA= golang.org/x/oauth2 v0.0.0-20180821212333-d2e6202438be/go.mod h1:N/0e6XlmueqKjAGxoOufVs8QHGRruUQn6yWY3a++T0U= golang.org/x/oauth2 v0.0.0-20190226205417-e64efc72b421/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= golang.org/x/oauth2 v0.0.0-20190402181905-9f3314589c9a/go.mod h1:gOpvHmFTYa4IltrdGE7lF6nIHvwfUNPOp7c8zoXwtLw= @@ -1257,8 +1257,8 @@ golang.org/x/oauth2 v0.0.0-20210427180440-81ed05c6b58c/go.mod h1:KelEdhl1UZF7XfJ golang.org/x/oauth2 v0.0.0-20210514164344-f6687ab2804c/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20211104180415-d3ed0bb246c8/go.mod h1:KelEdhl1UZF7XfJ4dDtk6s++YSgaE7mD/BuKKDLBl4A= golang.org/x/oauth2 v0.0.0-20220223155221-ee480838109b/go.mod h1:DAh4E804XQdzx2j+YRIaUnCqCV2RuMz24cGBJ5QYIrc= -golang.org/x/oauth2 v0.7.0 h1:qe6s0zUXlPX80/dITx3440hWZ7GwMwgDDyrSGTPJG/g= -golang.org/x/oauth2 v0.7.0/go.mod h1:hPLQkd9LyjfXTiRohC/41GhcFqxisoUQ99sCUOHO9x4= +golang.org/x/oauth2 v0.8.0 h1:6dkIjl3j3LtZ/O3sTgZTMsLKSftL/B8Zgq4huOIIUu8= +golang.org/x/oauth2 v0.8.0/go.mod h1:yr7u4HXZRm1R1kBWqr/xKNqewf0plRYoB7sla+BCIXE= golang.org/x/sync v0.0.0-20180314180146-1d60e4601c6f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181108010431-42b317875d0f/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20181221193216-37e7f081c4d4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= @@ -1273,8 +1273,8 @@ golang.org/x/sync v0.0.0-20201207232520-09787c993a3a/go.mod h1:RxMgew5VJxzue5/jJ golang.org/x/sync v0.0.0-20210220032951-036812b2e83c/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220722155255-886fb9371eb4/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= golang.org/x/sync v0.0.0-20220929204114-8fcdb60fdcc0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= -golang.org/x/sync v0.1.0 h1:wsuoTGHzEhffawBOhz5CYhcrV4IdKZbEyZjBMuTp12o= -golang.org/x/sync v0.1.0/go.mod h1:RxMgew5VJxzue5/jJTE5uejpjVlOe/izrB70Jof72aM= +golang.org/x/sync v0.3.0 h1:ftCYgMx6zT/asHUrPw8BLLscYtGznsLAnjq5RH9P66E= +golang.org/x/sync v0.3.0/go.mod h1:FU7BRWz2tNW+3quACPkgCx/L+uEAv1htQ0V83Z9Rj+Y= golang.org/x/sys v0.0.0-20180823144017-11551d06cbcc/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180830151530-49385e6e1522/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= golang.org/x/sys v0.0.0-20180905080454-ebe1bf3edb33/go.mod h1:STP8DvDyc/dI5b8T5hshtkjS+E42TnysNCUPdjciGhY= @@ -1347,7 +1347,6 @@ golang.org/x/sys v0.0.0-20210603081109-ebe580a85c40/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20210615035016-665e8c7367d1/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210616094352-59db8d763f22/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210630005230-0f9fa26af87c/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.0.0-20210809222454-d867a43fc93e/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20210906170528-6f6e22806c34/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211007075335-d3039528d8ac/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20211025201205-69cdffdb9359/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= @@ -1363,8 +1362,8 @@ golang.org/x/sys v0.0.0-20220728004956-3c1f35247d10/go.mod h1:oPkhp1MJrh7nUepCBc golang.org/x/sys v0.0.0-20220811171246-fbc7d0a398ab/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20220908164124-27713097b956/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/sys v0.0.0-20221010170243-090e33056c14/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= -golang.org/x/sys v0.7.0 h1:3jlCCIQZPdOYu1h8BkNvLz8Kgwtae2cagcG/VamtZRU= -golang.org/x/sys v0.7.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= +golang.org/x/sys v0.10.0 h1:SqMFp9UcQJZa+pmYuAKjd9xq1f0j5rLcDIk0mj4qAsA= +golang.org/x/sys v0.10.0/go.mod h1:oPkhp1MJrh7nUepCBck5+mAzfO9JrbApNNgaTdGDITg= golang.org/x/term v0.0.0-20201117132131-f5c789dd3221/go.mod h1:Nr5EML6q2oocZ2LXRh80K7BxOlk5/8JxuGnuhpl+muw= golang.org/x/term v0.0.0-20201126162022-7de9c90e9dd1/go.mod h1:bj7SfCRtBDWHUb9snDiAeCFNEtKQo2Wmx5Cou7ajbmo= golang.org/x/term v0.0.0-20210927222741-03fcf44c2211/go.mod h1:jbD1KX2456YbFQfuXm/mYQcufACuNUgVhRMnK/tPxf8= @@ -1378,8 +1377,9 @@ golang.org/x/text v0.3.4/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.5/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.6/go.mod h1:5Zoc/QRtKVWzQhOtBMvqHzDpF6irO9z98xDceosuGiQ= golang.org/x/text v0.3.7/go.mod h1:u+2+/6zg+i71rQMx5EYifcz6MCKuco9NR6JIITiCfzQ= -golang.org/x/text v0.9.0 h1:2sjJmO8cDvYveuX97RDLsxlyUxLl+GHoLxBiRdHllBE= -golang.org/x/text v0.9.0/go.mod h1:e1OnstbJyHTd6l/uOt8jFFHp6TRDWZR/bV3emEE/zU8= +golang.org/x/text v0.3.8/go.mod h1:E6s5w1FMmriuDzIBO73fBruAKo1PCIq6d2Q6DHfQ8WQ= +golang.org/x/text v0.11.0 h1:LAntKIrcmeSKERyiOh0XMV39LXS8IE9UL2yP7+f5ij4= +golang.org/x/text v0.11.0/go.mod h1:TvPlkZtksWOMsz7fbANvkp4WM8x/WCo/om8BMLbz+aE= golang.org/x/time v0.0.0-20181108054448-85acf8d2951c/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20190308202827-9d24e82272b4/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= golang.org/x/time v0.0.0-20191024005414-555d28b269f0/go.mod h1:tRJNPiyCQ0inRvYxbN9jk5I+vvW/OXSQhTDSoE431IQ= @@ -1455,10 +1455,9 @@ golang.org/x/tools v0.0.0-20210106214847-113979e3529a/go.mod h1:emZCQorbCU4vsT4f golang.org/x/tools v0.0.0-20210108195828-e2f9c7f1fc8e/go.mod h1:emZCQorbCU4vsT4fOWvOPXz4eW1wZW4PmDk9uLelYpA= golang.org/x/tools v0.1.0/go.mod h1:xkSsbof2nBLbhDlRMhhhyNLN/zl3eTqcnHD5viDpcZ0= golang.org/x/tools v0.1.1/go.mod h1:o0xws9oXOQQZyjljx8fwUC0k7L1pTE6eaCbjGeHmOkk= -golang.org/x/tools v0.1.7/go.mod h1:LGqMHiF4EqQNHR1JncWGqT5BVaXmza+X+BDGol+dOxo= golang.org/x/tools v0.1.12/go.mod h1:hNGJHUnrk76NpqgfD5Aqm5Crs+Hm0VOH/i9J2+nxYbc= -golang.org/x/tools v0.6.0 h1:BOw41kyTf3PuCW1pVQf8+Cyg8pMlkYB1oo9iJ6D/lKM= -golang.org/x/tools v0.6.0/go.mod h1:Xwgl3UAJ/d3gWutnCtw505GrjyAbvKui8lOU390QaIU= +golang.org/x/tools v0.11.0 h1:EMCa6U9S2LtZXLAMoWiR/R8dAQFRqbAitmbJ2UKhoi8= +golang.org/x/tools v0.11.0/go.mod h1:anzJrxPjNtfgiYQYirP2CPGzGLxrH2u2QBhn6Bf3qY8= golang.org/x/xerrors v0.0.0-20190410155217-1f06c39b4373/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190513163551-3ee3066db522/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= golang.org/x/xerrors v0.0.0-20190717185122-a985d3407aa7/go.mod h1:I/5z698sn9Ka8TeJc9MKroUUfqBBauWjQqLJ2OPfmY0= @@ -1492,8 +1491,8 @@ google.golang.org/api v0.41.0/go.mod h1:RkxM5lITDfTzmyKFPt+wGrCJbVfniCr2ool8kTBz google.golang.org/api v0.43.0/go.mod h1:nQsDGjRXMo4lvh5hP0TKqF244gqhGcr/YSIykhUk/94= google.golang.org/api v0.46.0/go.mod h1:ceL4oozhkAiTID8XMmJBsIxID/9wMXJVVFXPg4ylg3I= google.golang.org/api v0.47.0/go.mod h1:Wbvgpq1HddcWVtzsVLyfLp8lDg6AA241LmgIL59tHXo= -google.golang.org/api v0.114.0 h1:1xQPji6cO2E2vLiI+C/XiFAnsn1WV3mjaEwGLhi3grE= -google.golang.org/api v0.114.0/go.mod h1:ifYI2ZsFK6/uGddGfAD5BMxlnkBqCmqHSDUVi45N5Yg= +google.golang.org/api v0.126.0 h1:q4GJq+cAdMAC7XP7njvQ4tvohGLiSlytuL4BQxbIZ+o= +google.golang.org/api v0.126.0/go.mod h1:mBwVAtz+87bEN6CbA1GtZPDOqY2R5ONPqJeIlvyo4Aw= google.golang.org/appengine v1.1.0/go.mod h1:EbEs0AVv82hx2wNQdGPgUI5lhzA/G0D9YwlJXL52JkM= google.golang.org/appengine v1.4.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= google.golang.org/appengine v1.5.0/go.mod h1:xpcJRLb0r/rnEns0DIKYYv+WjYCduHsrkT7/EB5XEv4= @@ -1537,7 +1536,6 @@ google.golang.org/genproto v0.0.0-20200608115520-7c474a2e3482/go.mod h1:jDfRM7Fc google.golang.org/genproto v0.0.0-20200618031413-b414f8b61790/go.mod h1:jDfRM7FcilCzHH/e9qn6dsT145K34l5v+OpcnNgKAAA= google.golang.org/genproto v0.0.0-20200729003335-053ba62fc06f/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200804131852-c06518451d9c/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= -google.golang.org/genproto v0.0.0-20200806141610-86f49bd18e98/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200825200019-8632dd797987/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20200904004341-0bd0a958aa1d/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= google.golang.org/genproto v0.0.0-20201109203340-2640f1f9cdfb/go.mod h1:FWY/as6DDZQgahTzZj3fqbO1CbirC29ZNUFHwi0/+no= @@ -1554,10 +1552,13 @@ google.golang.org/genproto v0.0.0-20210402141018-6c239bbf2bb1/go.mod h1:9lPAdzaE google.golang.org/genproto v0.0.0-20210429181445-86c259c2b4ab/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20210513213006-bf773b8c8384/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= google.golang.org/genproto v0.0.0-20210517163617-5e0236093d7a/go.mod h1:P3QM42oQyzQSnHPnZ/vqoCdDmzH28fzWByN9asMeM8A= -google.golang.org/genproto v0.0.0-20211020151524-b7c3a969101a/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= google.golang.org/genproto v0.0.0-20211118181313-81c1377c94b1/go.mod h1:5CzLGKJ67TSI2B9POpiiyGha0AjJvZIUgRMt1dSmuhc= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1 h1:KpwkzHKEF7B9Zxg18WzOa7djJ+Ha5DzthMyZYQfEn2A= -google.golang.org/genproto v0.0.0-20230410155749-daa745c078e1/go.mod h1:nKE/iIaLqn2bQwXBg8f1g2Ylh6r5MN5CmZvuzZCgsCU= +google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130 h1:Au6te5hbKUV8pIYWHqOUZ1pva5qK/rwbIhoXEUB9Lu8= +google.golang.org/genproto v0.0.0-20230706204954-ccb25ca9f130/go.mod h1:O9kGHb51iE/nOGvQaDUuadVYqovW56s5emA88lQnj6Y= +google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529 h1:s5YSX+ZH5b5vS9rnpGymvIyMpLRJizowqDlOuyjXnTk= +google.golang.org/genproto/googleapis/api v0.0.0-20230629202037-9506855d4529/go.mod h1:vHYtlOoi6TsQ3Uk2yxR7NI5z8uoV+3pZtR4jmHIkRig= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230725213213-b022f6e96895 h1:co8AMhI481nhd3WBfW2mq5msyQHNBcGn7G9GCEqz45k= +google.golang.org/genproto/googleapis/rpc v0.0.0-20230725213213-b022f6e96895/go.mod h1:TUfxEVdsvPg18p6AslUXFoLdpED4oBnGwyqk3dV1XzM= google.golang.org/grpc v1.19.0/go.mod h1:mqu4LbDTu4XGKhr4mRzUsmM4RtVoemTSY81AxZiDr8c= google.golang.org/grpc v1.20.1/go.mod h1:10oTOabMzJvdu6/UiuZezV6QK5dSlG84ov/aaiqXj38= google.golang.org/grpc v1.21.0/go.mod h1:oYelfM1adQP15Ek0mdvEgi9Df8B9CZIaU1084ijfRaM= @@ -1582,11 +1583,11 @@ google.golang.org/grpc v1.37.0/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQ google.golang.org/grpc v1.37.1/go.mod h1:NREThFqKR1f3iQ6oBuvc5LadQuXVGo9rkm5ZGrQdJfM= google.golang.org/grpc v1.40.0/go.mod h1:ogyxbiOoUXAkP+4+xa6PZSE9DZgIHtSpzjDTB9KAK34= google.golang.org/grpc v1.42.0/go.mod h1:k+4IHHFw41K8+bbowsex27ge2rCb65oeWqe4jJ590SU= -google.golang.org/grpc v1.56.1 h1:z0dNfjIl0VpaZ9iSVjA6daGatAYwPGstTjt5vkRMFkQ= -google.golang.org/grpc v1.56.1/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= +google.golang.org/grpc v1.45.0/go.mod h1:lN7owxKUQEqMfSyQikvvk5tf/6zMPsrK+ONuO11+0rQ= +google.golang.org/grpc v1.56.2 h1:fVRFRnXvU+x6C4IlHZewvJOVHoOv1TUuQyoRsYnB4bI= +google.golang.org/grpc v1.56.2/go.mod h1:I9bI3vqKfayGqPUAwGdOSu7kt6oIJLixfffKrpXqQ9s= google.golang.org/grpc/cmd/protoc-gen-go-grpc v1.1.0/go.mod h1:6Kw0yEErY5E/yWrBtf03jp27GLLJujG4z/JK95pnjjw= google.golang.org/grpc/examples v0.0.0-20210304020650-930c79186c99 h1:qA8rMbz1wQ4DOFfM2ouD29DG9aHWBm6ZOy9BGxiUMmY= -google.golang.org/grpc/examples v0.0.0-20210304020650-930c79186c99/go.mod h1:Ly7ZA/ARzg8fnPU9TyZIxoz33sEUuWX7txiqs8lPTgE= google.golang.org/protobuf v0.0.0-20200109180630-ec00e32a8dfd/go.mod h1:DFci5gLYBciE7Vtevhsrf46CRTquxDuWsQurQQe4oz8= google.golang.org/protobuf v0.0.0-20200221191635-4d8936d0db64/go.mod h1:kwYJMbMJ01Woi6D6+Kah6886xMZcty6N08ah7+eCXa0= google.golang.org/protobuf v0.0.0-20200228230310-ab0ca4ff8a60/go.mod h1:cfTl7dwQJ+fmap5saPgwCLgHXTUD7jkjRqWcaiX5VyM= @@ -1600,8 +1601,8 @@ google.golang.org/protobuf v1.25.0/go.mod h1:9JNX74DMeImyA3h4bdi1ymwjUzf21/xIlba google.golang.org/protobuf v1.26.0-rc.1/go.mod h1:jlhhOSvTdKEhbULTjvd4ARK9grFBp09yW+WbY/TyQbw= google.golang.org/protobuf v1.26.0/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= google.golang.org/protobuf v1.27.1/go.mod h1:9q0QmTI4eRPtz6boOQmLYwt+qCgq0jsYwAQnmE0givc= -google.golang.org/protobuf v1.30.0 h1:kPPoIgf3TsEvrm0PFe15JQ+570QVxYzEvvHqChK+cng= -google.golang.org/protobuf v1.30.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= +google.golang.org/protobuf v1.31.0 h1:g0LDEJHgrBl9N9r17Ru3sqWhkIx2NB67okBHPwC7hs8= +google.golang.org/protobuf v1.31.0/go.mod h1:HV8QOd/L58Z+nl8r43ehVNZIU/HEI6OcFqwMG9pJV4I= gopkg.in/alecthomas/kingpin.v2 v2.2.6/go.mod h1:FMv+mEhP44yOT+4EoQTLFTRgOQ1FBLkstjWtayDeSgw= gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= gopkg.in/check.v1 v1.0.0-20180628173108-788fd7840127/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0= diff --git a/pipeline/authn/authenticator_bearer_token.go b/pipeline/authn/authenticator_bearer_token.go index af786a0419..4f7a43841a 100644 --- a/pipeline/authn/authenticator_bearer_token.go +++ b/pipeline/authn/authenticator_bearer_token.go @@ -12,12 +12,11 @@ import ( "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" "go.opentelemetry.io/otel/trace" - "github.com/ory/go-convenience/stringsx" - "github.com/ory/oathkeeper/x/header" - "github.com/ory/oathkeeper/driver/configuration" "github.com/ory/oathkeeper/helper" "github.com/ory/oathkeeper/pipeline" + "github.com/ory/oathkeeper/x/header" + "github.com/ory/x/stringsx" ) func init() { diff --git a/pipeline/authn/authenticator_cookie_session.go b/pipeline/authn/authenticator_cookie_session.go index 9009791352..1c2cfc6790 100644 --- a/pipeline/authn/authenticator_cookie_session.go +++ b/pipeline/authn/authenticator_cookie_session.go @@ -15,8 +15,8 @@ import ( "github.com/pkg/errors" "github.com/tidwall/gjson" - "github.com/ory/go-convenience/stringsx" "github.com/ory/oathkeeper/x/header" + "github.com/ory/x/stringsx" "github.com/ory/herodot" diff --git a/pipeline/authn/authenticator_jwt.go b/pipeline/authn/authenticator_jwt.go index 6c4125182b..76cc9b04b9 100644 --- a/pipeline/authn/authenticator_jwt.go +++ b/pipeline/authn/authenticator_jwt.go @@ -12,13 +12,12 @@ import ( "github.com/golang-jwt/jwt/v4" "github.com/pkg/errors" - "github.com/ory/go-convenience/jwtx" "github.com/ory/herodot" - "github.com/ory/oathkeeper/credentials" "github.com/ory/oathkeeper/driver/configuration" "github.com/ory/oathkeeper/helper" "github.com/ory/oathkeeper/pipeline" + "github.com/ory/x/jwtx" ) type AuthenticatorJWTRegistry interface { diff --git a/pipeline/authn/authenticator_oauth2_introspection.go b/pipeline/authn/authenticator_oauth2_introspection.go index a3fe5f76b1..cba1794efb 100644 --- a/pipeline/authn/authenticator_oauth2_introspection.go +++ b/pipeline/authn/authenticator_oauth2_introspection.go @@ -14,22 +14,18 @@ import ( "sync" "time" - "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" - - "github.com/ory/fosite" - "github.com/dgraph-io/ristretto" - "github.com/pkg/errors" + "go.opentelemetry.io/contrib/instrumentation/net/http/otelhttp" "golang.org/x/oauth2/clientcredentials" - "github.com/ory/go-convenience/stringslice" - "github.com/ory/x/httpx" - "github.com/ory/x/logrusx" - + "github.com/ory/fosite" "github.com/ory/oathkeeper/driver/configuration" "github.com/ory/oathkeeper/helper" "github.com/ory/oathkeeper/pipeline" + "github.com/ory/x/httpx" + "github.com/ory/x/logrusx" + "github.com/ory/x/stringslice" ) type AuthenticatorOAuth2IntrospectionConfiguration struct { diff --git a/pipeline/errors/when.go b/pipeline/errors/when.go index e02dd6457b..b3ec0ab8a7 100644 --- a/pipeline/errors/when.go +++ b/pipeline/errors/when.go @@ -12,8 +12,8 @@ import ( "github.com/golang/gddo/httputil/header" "github.com/pkg/errors" - "github.com/ory/go-convenience/stringsx" "github.com/ory/x/errorsx" + "github.com/ory/x/stringsx" ) type ( From 58690aeda0c4c66a5e06ec29651da439129e59fd Mon Sep 17 00:00:00 2001 From: Arne Luenser Date: Wed, 26 Jul 2023 16:05:55 +0200 Subject: [PATCH 58/63] fix: ignore version.schema.json (prettier) --- .prettierignore | 1 + 1 file changed, 1 insertion(+) create mode 100644 .prettierignore diff --git a/.prettierignore b/.prettierignore new file mode 100644 index 0000000000..98ffda9df6 --- /dev/null +++ b/.prettierignore @@ -0,0 +1 @@ +.schema/version.schema.json From cae282488070984986391fb496f614f0c802e895 Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Wed, 26 Jul 2023 16:25:51 +0000 Subject: [PATCH 59/63] autogen(docs): regenerate and update changelog [skip ci] --- CHANGELOG.md | 243 +++++++++++++++++++++++++++++++++------------------ 1 file changed, 158 insertions(+), 85 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index f0e9a8662b..7d3f9ba20b 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,176 +5,185 @@ **Table of Contents** -- [0.0.0 (2023-07-11)](#000-2023-07-11) +- [0.0.0 (2023-07-26)](#000-2023-07-26) - [Bug Fixes](#bug-fixes) - - [Features](#features) - - [Tests](#tests) -- [0.40.3 (2023-04-25)](#0403-2023-04-25) +- [0.40.6 (2023-07-18)](#0406-2023-07-18) - [Bug Fixes](#bug-fixes-1) - [Code Generation](#code-generation) +- [0.40.5 (2023-07-17)](#0405-2023-07-17) + - [Code Generation](#code-generation-1) + - [Features](#features) +- [0.40.4 (2023-07-13)](#0404-2023-07-13) + - [Bug Fixes](#bug-fixes-2) + - [Code Generation](#code-generation-2) - [Features](#features-1) + - [Tests](#tests) +- [0.40.3 (2023-04-25)](#0403-2023-04-25) + - [Bug Fixes](#bug-fixes-3) + - [Code Generation](#code-generation-3) + - [Features](#features-2) - [0.40.2 (2023-03-15)](#0402-2023-03-15) - - [Bug Fixes](#bug-fixes-2) - - [Code Generation](#code-generation-1) + - [Bug Fixes](#bug-fixes-4) + - [Code Generation](#code-generation-4) - [Documentation](#documentation) - - [Features](#features-2) + - [Features](#features-3) - [0.40.1 (2023-01-17)](#0401-2023-01-17) - - [Bug Fixes](#bug-fixes-3) - - [Code Generation](#code-generation-2) + - [Bug Fixes](#bug-fixes-5) + - [Code Generation](#code-generation-5) - [Documentation](#documentation-1) - - [Features](#features-3) + - [Features](#features-4) - [Tests](#tests-1) - [0.40.0 (2022-09-14)](#0400-2022-09-14) - - [Bug Fixes](#bug-fixes-4) - - [Code Generation](#code-generation-3) + - [Bug Fixes](#bug-fixes-6) + - [Code Generation](#code-generation-6) - [Code Refactoring](#code-refactoring) - - [Features](#features-4) + - [Features](#features-5) - [Tests](#tests-2) - [0.39.4 (2022-08-31)](#0394-2022-08-31) - - [Code Generation](#code-generation-4) + - [Code Generation](#code-generation-7) - [Unclassified](#unclassified) - [0.39.3 (2022-08-18)](#0393-2022-08-18) - - [Code Generation](#code-generation-5) + - [Code Generation](#code-generation-8) - [0.39.3-pre.0 (2022-08-18)](#0393-pre0-2022-08-18) - - [Code Generation](#code-generation-6) + - [Code Generation](#code-generation-9) - [0.39.2 (2022-08-18)](#0392-2022-08-18) - - [Bug Fixes](#bug-fixes-5) - - [Code Generation](#code-generation-7) + - [Bug Fixes](#bug-fixes-7) + - [Code Generation](#code-generation-10) - [Documentation](#documentation-2) - - [Features](#features-5) + - [Features](#features-6) - [0.39.0 (2022-06-27)](#0390-2022-06-27) - [Breaking Changes](#breaking-changes) - - [Bug Fixes](#bug-fixes-6) - - [Code Generation](#code-generation-8) - - [Features](#features-6) + - [Bug Fixes](#bug-fixes-8) + - [Code Generation](#code-generation-11) + - [Features](#features-7) - [0.38.25-beta.1 (2022-04-13)](#03825-beta1-2022-04-13) - - [Bug Fixes](#bug-fixes-7) - - [Code Generation](#code-generation-9) + - [Bug Fixes](#bug-fixes-9) + - [Code Generation](#code-generation-12) - [Documentation](#documentation-3) - [0.38.24-beta.1 (2022-04-06)](#03824-beta1-2022-04-06) - - [Code Generation](#code-generation-10) - - [Features](#features-7) -- [0.38.23-beta.1 (2022-02-24)](#03823-beta1-2022-02-24) - - [Code Generation](#code-generation-11) + - [Code Generation](#code-generation-13) - [Features](#features-8) +- [0.38.23-beta.1 (2022-02-24)](#03823-beta1-2022-02-24) + - [Code Generation](#code-generation-14) + - [Features](#features-9) - [0.38.22-beta.1 (2022-02-23)](#03822-beta1-2022-02-23) - - [Bug Fixes](#bug-fixes-8) - - [Code Generation](#code-generation-12) + - [Bug Fixes](#bug-fixes-10) + - [Code Generation](#code-generation-15) - [0.38.20-beta.1 (2022-02-14)](#03820-beta1-2022-02-14) - - [Bug Fixes](#bug-fixes-9) - - [Code Generation](#code-generation-13) + - [Bug Fixes](#bug-fixes-11) + - [Code Generation](#code-generation-16) - [Code Refactoring](#code-refactoring-1) - [Documentation](#documentation-4) - - [Features](#features-9) + - [Features](#features-10) - [0.38.19-beta.1 (2022-02-04)](#03819-beta1-2022-02-04) - - [Bug Fixes](#bug-fixes-10) - - [Code Generation](#code-generation-14) + - [Bug Fixes](#bug-fixes-12) + - [Code Generation](#code-generation-17) - [Documentation](#documentation-5) - - [Features](#features-10) + - [Features](#features-11) - [0.38.17-beta.1 (2022-02-03)](#03817-beta1-2022-02-03) - [Continuous Integration](#continuous-integration) - [0.38.18-beta.1 (2022-02-03)](#03818-beta1-2022-02-03) - - [Bug Fixes](#bug-fixes-11) - - [Code Generation](#code-generation-15) + - [Bug Fixes](#bug-fixes-13) + - [Code Generation](#code-generation-18) - [Documentation](#documentation-6) - - [Features](#features-11) + - [Features](#features-12) - [Tests](#tests-3) - [Unclassified](#unclassified-1) - [0.38.15-beta.1 (2021-08-28)](#03815-beta1-2021-08-28) - - [Bug Fixes](#bug-fixes-12) - - [Code Generation](#code-generation-16) + - [Bug Fixes](#bug-fixes-14) + - [Code Generation](#code-generation-19) - [Documentation](#documentation-7) - - [Features](#features-12) + - [Features](#features-13) - [0.38.14-beta.1 (2021-07-14)](#03814-beta1-2021-07-14) - - [Bug Fixes](#bug-fixes-13) - - [Code Generation](#code-generation-17) + - [Bug Fixes](#bug-fixes-15) + - [Code Generation](#code-generation-20) - [Documentation](#documentation-8) - - [Features](#features-13) + - [Features](#features-14) - [Reverts](#reverts) - [0.38.12-beta.1 (2021-06-22)](#03812-beta1-2021-06-22) - - [Bug Fixes](#bug-fixes-14) - - [Code Generation](#code-generation-18) - - [Features](#features-14) + - [Bug Fixes](#bug-fixes-16) + - [Code Generation](#code-generation-21) + - [Features](#features-15) - [Tests](#tests-4) - [Unclassified](#unclassified-2) - [0.38.11-beta.1 (2021-05-13)](#03811-beta1-2021-05-13) - - [Bug Fixes](#bug-fixes-15) - - [Code Generation](#code-generation-19) + - [Bug Fixes](#bug-fixes-17) + - [Code Generation](#code-generation-22) - [Reverts](#reverts-1) - [0.38.10-beta.2 (2021-05-05)](#03810-beta2-2021-05-05) - - [Bug Fixes](#bug-fixes-16) - - [Code Generation](#code-generation-20) + - [Bug Fixes](#bug-fixes-18) + - [Code Generation](#code-generation-23) - [Code Refactoring](#code-refactoring-2) - [Documentation](#documentation-9) - - [Features](#features-15) + - [Features](#features-16) - [0.38.9-beta.1 (2021-03-17)](#0389-beta1-2021-03-17) - - [Code Generation](#code-generation-21) + - [Code Generation](#code-generation-24) - [0.38.9-beta.1.pre.3 (2021-03-16)](#0389-beta1pre3-2021-03-16) - - [Bug Fixes](#bug-fixes-17) - - [Code Generation](#code-generation-22) + - [Bug Fixes](#bug-fixes-19) + - [Code Generation](#code-generation-25) - [0.38.9-beta.1.pre.2 (2021-03-15)](#0389-beta1pre2-2021-03-15) - - [Code Generation](#code-generation-23) + - [Code Generation](#code-generation-26) - [0.38.9-beta.1.pre.1 (2021-03-15)](#0389-beta1pre1-2021-03-15) - - [Bug Fixes](#bug-fixes-18) - - [Code Generation](#code-generation-24) + - [Bug Fixes](#bug-fixes-20) + - [Code Generation](#code-generation-27) - [Unclassified](#unclassified-3) - [0.38.8-beta.1 (2021-02-25)](#0388-beta1-2021-02-25) - - [Bug Fixes](#bug-fixes-19) - - [Code Generation](#code-generation-25) + - [Bug Fixes](#bug-fixes-21) + - [Code Generation](#code-generation-28) - [Unclassified](#unclassified-4) - [0.38.7-beta.1 (2021-02-22)](#0387-beta1-2021-02-22) - - [Bug Fixes](#bug-fixes-20) - - [Code Generation](#code-generation-26) - - [Features](#features-16) + - [Bug Fixes](#bug-fixes-22) + - [Code Generation](#code-generation-29) + - [Features](#features-17) - [0.38.6-beta.1 (2021-01-27)](#0386-beta1-2021-01-27) - - [Code Generation](#code-generation-27) + - [Code Generation](#code-generation-30) - [Documentation](#documentation-10) - - [Features](#features-17) + - [Features](#features-18) - [0.38.5-beta.1 (2020-12-10)](#0385-beta1-2020-12-10) - - [Bug Fixes](#bug-fixes-21) - - [Code Generation](#code-generation-28) + - [Bug Fixes](#bug-fixes-23) + - [Code Generation](#code-generation-31) - [Documentation](#documentation-11) - - [Features](#features-18) + - [Features](#features-19) - [Unclassified](#unclassified-5) - [0.38.4-beta.1 (2020-09-28)](#0384-beta1-2020-09-28) - - [Bug Fixes](#bug-fixes-22) - - [Code Generation](#code-generation-29) + - [Bug Fixes](#bug-fixes-24) + - [Code Generation](#code-generation-32) - [Documentation](#documentation-12) - - [Features](#features-19) + - [Features](#features-20) - [Unclassified](#unclassified-6) - [0.38.3-beta.1 (2020-07-29)](#0383-beta1-2020-07-29) - - [Bug Fixes](#bug-fixes-23) - - [Code Generation](#code-generation-30) + - [Bug Fixes](#bug-fixes-25) + - [Code Generation](#code-generation-33) - [Documentation](#documentation-13) - - [Features](#features-20) + - [Features](#features-21) - [0.38.2-beta.1 (2020-05-25)](#0382-beta1-2020-05-25) - - [Bug Fixes](#bug-fixes-24) + - [Bug Fixes](#bug-fixes-26) - [Chores](#chores) - [Documentation](#documentation-14) - - [Features](#features-21) + - [Features](#features-22) - [0.38.1-beta.1 (2020-05-08)](#0381-beta1-2020-05-08) - - [Bug Fixes](#bug-fixes-25) + - [Bug Fixes](#bug-fixes-27) - [Chores](#chores-1) - [0.38.0-beta.2 (2020-05-07)](#0380-beta2-2020-05-07) - - [Bug Fixes](#bug-fixes-26) + - [Bug Fixes](#bug-fixes-28) - [Chores](#chores-2) - [Code Refactoring](#code-refactoring-3) - [Documentation](#documentation-15) - - [Features](#features-22) + - [Features](#features-23) - [0.37.1-beta.1 (2020-04-03)](#0371-beta1-2020-04-03) - [Chores](#chores-3) - [Documentation](#documentation-16) - [0.37.0-beta.1 (2020-04-02)](#0370-beta1-2020-04-02) - [Breaking Changes](#breaking-changes-1) - - [Bug Fixes](#bug-fixes-27) + - [Bug Fixes](#bug-fixes-29) - [Documentation](#documentation-17) - - [Features](#features-23) + - [Features](#features-24) - [0.36.0-beta.4 (2020-02-14)](#0360-beta4-2020-02-14) - - [Bug Fixes](#bug-fixes-28) + - [Bug Fixes](#bug-fixes-30) - [Documentation](#documentation-18) - [0.36.0-beta.1 (2020-02-05)](#0360-beta1-2020-02-05) - [Documentation](#documentation-19) - - [Features](#features-24) + - [Features](#features-25) - [Unclassified](#unclassified-7) - [0.35.5-beta.2 (2020-01-31)](#0355-beta2-2020-01-31) - [Unclassified](#unclassified-8) @@ -321,10 +330,62 @@ -# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.3...v0.0.0) (2023-07-11) +# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.6...v0.0.0) (2023-07-26) + +### Bug Fixes + +- Ignore version.schema.json (prettier) + ([58690ae](https://github.com/ory/oathkeeper/commit/58690aeda0c4c66a5e06ec29651da439129e59fd)) + +# [0.40.6](https://github.com/ory/oathkeeper/compare/v0.40.5...v0.40.6) (2023-07-18) + +Resolves an issue in how X-Forwarded headers were set. ### Bug Fixes +- Properly copy x-forwarded headers from upstream + ([#1121](https://github.com/ory/oathkeeper/issues/1121)) + ([7088682](https://github.com/ory/oathkeeper/commit/70886826f653f401393c453ec57b5a715cb5cb15)) + +### Code Generation + +- Pin v0.40.6 release commit + ([75eb682](https://github.com/ory/oathkeeper/commit/75eb6826d832b7301cf594d9d8a6ad92209e1a79)) + +# [0.40.5](https://github.com/ory/oathkeeper/compare/v0.40.4...v0.40.5) (2023-07-17) + +Ory Oathkeeper v0.44.4 uses the new Rewrite feature of Golang's reverse proxy. +This will strip any X-Forwarded headers from upstream requests. This however is +not always desirable which is why a new config flag +`serve.proxy.trust_forwarded_headers` was introduced to optionally enable the +forwarding of X-Forwarded headers. + +### Code Generation + +- Pin v0.40.5 release commit + ([ba1f90a](https://github.com/ory/oathkeeper/commit/ba1f90afb117c54a7f54ad84e3756dd81f7a1425)) + +### Features + +- Flag to disable hop-by-hop defenses + ([#1120](https://github.com/ory/oathkeeper/issues/1120)) + ([fffe8ef](https://github.com/ory/oathkeeper/commit/fffe8ef57ea064093fe753be49f7181293143edc)): + + Ory Oathkeeper v0.44.4 uses the new Rewrite feature of Golang's reverse proxy. + This will strip any X-Forwarded headers from upstream requests. This however + is not always desirable which is why a new config flag + `serve.proxy.trust_forwarded_headers` was introduced to optionally enable the + forwarding of X-Forwarded headers. + +# [0.40.4](https://github.com/ory/oathkeeper/compare/v0.40.3...v0.40.4) (2023-07-13) + +Added distroless image, fixed some bugs, and added support for JWKs key rotation +in the ID token mutator. + +### Bug Fixes + +- Apk install issue + ([08b2bfb](https://github.com/ory/oathkeeper/commit/08b2bfb86c557d71d45590793501ad09389977b5)) - Ensure logger uses config ([#1104](https://github.com/ory/oathkeeper/issues/1104)) ([d9b0965](https://github.com/ory/oathkeeper/commit/d9b096595f1a6ea65604da11c7f6e2040100396d)) @@ -335,12 +396,24 @@ ([#1106](https://github.com/ory/oathkeeper/issues/1106)) ([c520e50](https://github.com/ory/oathkeeper/commit/c520e503511599b27967388a5db5e6d163c04212)) +### Code Generation + +- Pin v0.40.4 release commit + ([70d63f3](https://github.com/ory/oathkeeper/commit/70d63f311f32b8361e4fe2748b653509c43d5338)) + ### Features - Add distroless images ([#1114](https://github.com/ory/oathkeeper/issues/1114)) ([8ac1dac](https://github.com/ory/oathkeeper/commit/8ac1dac6c34f6e1cdf5a5e7a1a699c5951333d03)) - Sqa metrics v2 ([#1110](https://github.com/ory/oathkeeper/issues/1110)) ([baeecc6](https://github.com/ory/oathkeeper/commit/baeecc6b79d04c7f332b42f597f6f02cf56d88d2)) +- Support token rotation in ID token mutator + ([#1119](https://github.com/ory/oathkeeper/issues/1119)) + ([5dd4571](https://github.com/ory/oathkeeper/commit/5dd45712853ced65e3ac3e2e49da92640f2405a2)): + + Previously, only one JWK may be returned by the JWKS URL. This made token + rotation impossible. This patch allows for multiple keys to be returned by the + JWKS URL and the first key found will be used for signing. ### Tests From 557f512f57705ede879de61c45fe71f94b6bcebd Mon Sep 17 00:00:00 2001 From: aeneasr <3372410+aeneasr@users.noreply.github.com> Date: Thu, 3 Aug 2023 15:36:36 +0000 Subject: [PATCH 60/63] chore: update repository templates to https://github.com/ory/meta/commit/af28aff50b62a9eeb69de4842e0e164f82c9e066 --- CODE_OF_CONDUCT.md | 10 +++++++ README.md | 66 ++++++++++++++++++++++++++-------------------- 2 files changed, 48 insertions(+), 28 deletions(-) diff --git a/CODE_OF_CONDUCT.md b/CODE_OF_CONDUCT.md index 4861c9d184..9cebaf358e 100644 --- a/CODE_OF_CONDUCT.md +++ b/CODE_OF_CONDUCT.md @@ -39,6 +39,16 @@ Examples of unacceptable behavior include: - Other conduct which could reasonably be considered inappropriate in a professional setting +## Open Source Community Support + +Ory Open source software is collaborative and based on contributions by +developers in the Ory community. There is no obligation from Ory to help with +individual problems. If Ory open source software is used in production in a +for-profit company or enterprise environment, we mandate a paid support contract +where Ory is obligated under their service level agreements (SLAs) to offer a +defined level of availability and responsibility. For more information about +paid support please contact us at sales@ory.sh. + ## Enforcement Responsibilities Community leaders are responsible for clarifying and enforcing our standards of diff --git a/README.md b/README.md index 2e94b0765a..96d7e43441 100644 --- a/README.md +++ b/README.md @@ -107,20 +107,17 @@ to build ORY Oathkeeper from source. The Ory community stands on the shoulders of individuals, companies, and -maintainers. We thank everyone involved - from submitting bug reports and -feature requests, to contributing patches, to sponsoring our work. Our community -is 1000+ strong and growing rapidly. The Ory stack protects 16.000.000.000+ API -requests every month with over 250.000+ active service nodes. We would have -never been able to achieve this without each and everyone of you! +maintainers. The Ory team thanks everyone involved - from submitting bug reports +and feature requests, to contributing patches and documentation. The Ory +community counts more than 33.000 members and is growing rapidly. The Ory stack +protects 60.000.000.000+ API requests every month with over 400.000+ active +service nodes. None of this would have been possible without each and everyone +of you! The following list represents companies that have accompanied us along the way and that have made outstanding contributions to our ecosystem. _If you think that your company deserves a spot here, reach out to -office-muc@ory.sh now_! - -**Please consider giving back by becoming a sponsor of our open source work on -Patreon or -Open Collective.** +office@ory.sh now_! @@ -133,7 +130,7 @@ that your company deserves a spot here, reach out to - + - + - + - + - + - + - + - + + + + + + + + + + + + +
SponsorAdopter * Raspberry PI Foundation @@ -144,7 +141,7 @@ that your company deserves a spot here, reach out to raspberrypi.org
ContributorAdopter * Kyma Project @@ -155,7 +152,7 @@ that your company deserves a spot here, reach out to kyma-project.io
SponsorAdopter * Tulip @@ -166,7 +163,7 @@ that your company deserves a spot here, reach out to tulip.com
SponsorAdopter * Cashdeck / All My Funds @@ -177,7 +174,7 @@ that your company deserves a spot here, reach out to cashdeck.com.au
ContributorAdopter * Hootsuite @@ -320,7 +317,7 @@ that your company deserves a spot here, reach out to nortal.com
SponsorAdopter * OrderMyGear @@ -331,7 +328,7 @@ that your company deserves a spot here, reach out to ordermygear.com
SponsorAdopter * Spiri.bo @@ -342,7 +339,7 @@ that your company deserves a spot here, reach out to spiri.bo
SponsorAdopter * Strivacity @@ -498,22 +495,35 @@ that your company deserves a spot here, reach out to amplitude.com
Adopter *Pinniped + + + pinniped.dev + + pinniped.dev
Adopter *Pvotal + + + pvotal.tech + + pvotal.tech
-We also want to thank all individual contributors +Many thanks to all individual contributors -as well as all of our backers - - - -and past & current supporters (in alphabetical order) on -[Patreon](https://www.patreon.com/_ory): Alexander Alimovs, Billy, Chancy -Kennedy, Drozzy, Edwin Trejos, Howard Edidin, Ken Adler Oz Haven, Stefan Hans, -TheCrealm. - \* Uses one of Ory's major projects in production. From d1e74facbffb11155f214e23331688cd0cd44f18 Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Thu, 3 Aug 2023 16:02:10 +0000 Subject: [PATCH 61/63] autogen(docs): regenerate and update changelog [skip ci] --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index 7d3f9ba20b..c6a1074a91 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ **Table of Contents** -- [0.0.0 (2023-07-26)](#000-2023-07-26) +- [0.0.0 (2023-08-03)](#000-2023-08-03) - [Bug Fixes](#bug-fixes) - [0.40.6 (2023-07-18)](#0406-2023-07-18) - [Bug Fixes](#bug-fixes-1) @@ -330,7 +330,7 @@ -# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.6...v0.0.0) (2023-07-26) +# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.6...v0.0.0) (2023-08-03) ### Bug Fixes From 461f0889f00c0941cd4e6e8a2621216692a55888 Mon Sep 17 00:00:00 2001 From: aeneasr <3372410+aeneasr@users.noreply.github.com> Date: Mon, 7 Aug 2023 14:27:28 +0000 Subject: [PATCH 62/63] chore: update repository templates to https://github.com/ory/meta/commit/ac80097fa427e7ae39820c59cac62dc6e11b9aff --- .github/ISSUE_TEMPLATE/BUG-REPORT.yml | 10 ++++++++-- .github/ISSUE_TEMPLATE/DESIGN-DOC.yml | 10 ++++++++-- .github/ISSUE_TEMPLATE/FEATURE-REQUEST.yml | 10 ++++++++-- 3 files changed, 24 insertions(+), 6 deletions(-) diff --git a/.github/ISSUE_TEMPLATE/BUG-REPORT.yml b/.github/ISSUE_TEMPLATE/BUG-REPORT.yml index 54ee274e5a..38e609a7db 100644 --- a/.github/ISSUE_TEMPLATE/BUG-REPORT.yml +++ b/.github/ISSUE_TEMPLATE/BUG-REPORT.yml @@ -24,8 +24,6 @@ body: "I have read and am following this repository's [Contribution Guidelines](https://github.com/ory/oathkeeper/blob/master/CONTRIBUTING.md)." required: true - - label: - "This issue affects my [Ory Network](https://www.ory.sh/) project." - label: "I have joined the [Ory Community Slack](https://slack.ory.sh)." - label: @@ -33,6 +31,14 @@ body: Newsletter](https://ory.us10.list-manage.com/subscribe?u=ffb1a878e4ec6c0ed312a3480&id=f605a41b53)." id: checklist type: checkboxes + - attributes: + description: + "Enter the slug or API URL of the affected Ory Network project. Leave + empty when you are self-hosting." + label: "Ory Network Project" + placeholder: "https://.projects.oryapis.com" + id: ory-network-project + type: input - attributes: description: "A clear and concise description of what the bug is." label: "Describe the bug" diff --git a/.github/ISSUE_TEMPLATE/DESIGN-DOC.yml b/.github/ISSUE_TEMPLATE/DESIGN-DOC.yml index 1f0c422934..ab7bdf858f 100644 --- a/.github/ISSUE_TEMPLATE/DESIGN-DOC.yml +++ b/.github/ISSUE_TEMPLATE/DESIGN-DOC.yml @@ -35,8 +35,6 @@ body: "I have read and am following this repository's [Contribution Guidelines](https://github.com/ory/oathkeeper/blob/master/CONTRIBUTING.md)." required: true - - label: - "This issue affects my [Ory Network](https://www.ory.sh/) project." - label: "I have joined the [Ory Community Slack](https://slack.ory.sh)." - label: @@ -44,6 +42,14 @@ body: Newsletter](https://ory.us10.list-manage.com/subscribe?u=ffb1a878e4ec6c0ed312a3480&id=f605a41b53)." id: checklist type: checkboxes + - attributes: + description: + "Enter the slug or API URL of the affected Ory Network project. Leave + empty when you are self-hosting." + label: "Ory Network Project" + placeholder: "https://.projects.oryapis.com" + id: ory-network-project + type: input - attributes: description: | This section gives the reader a very rough overview of the landscape in which the new system is being built and what is actually being built. This isn’t a requirements doc. Keep it succinct! The goal is that readers are brought up to speed but some previous knowledge can be assumed and detailed info can be linked to. This section should be entirely focused on objective background facts. diff --git a/.github/ISSUE_TEMPLATE/FEATURE-REQUEST.yml b/.github/ISSUE_TEMPLATE/FEATURE-REQUEST.yml index 3bd9f7b319..64b98240cd 100644 --- a/.github/ISSUE_TEMPLATE/FEATURE-REQUEST.yml +++ b/.github/ISSUE_TEMPLATE/FEATURE-REQUEST.yml @@ -28,8 +28,6 @@ body: "I have read and am following this repository's [Contribution Guidelines](https://github.com/ory/oathkeeper/blob/master/CONTRIBUTING.md)." required: true - - label: - "This issue affects my [Ory Network](https://www.ory.sh/) project." - label: "I have joined the [Ory Community Slack](https://slack.ory.sh)." - label: @@ -37,6 +35,14 @@ body: Newsletter](https://ory.us10.list-manage.com/subscribe?u=ffb1a878e4ec6c0ed312a3480&id=f605a41b53)." id: checklist type: checkboxes + - attributes: + description: + "Enter the slug or API URL of the affected Ory Network project. Leave + empty when you are self-hosting." + label: "Ory Network Project" + placeholder: "https://.projects.oryapis.com" + id: ory-network-project + type: input - attributes: description: "Is your feature request related to a problem? Please describe." From 4d61221f9d0c0070a2b5a6fb96295caf156279ee Mon Sep 17 00:00:00 2001 From: ory-bot <60093411+ory-bot@users.noreply.github.com> Date: Mon, 7 Aug 2023 14:38:50 +0000 Subject: [PATCH 63/63] autogen(docs): regenerate and update changelog [skip ci] --- CHANGELOG.md | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index c6a1074a91..25f2a0a2a8 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -5,7 +5,7 @@ **Table of Contents** -- [0.0.0 (2023-08-03)](#000-2023-08-03) +- [0.0.0 (2023-08-07)](#000-2023-08-07) - [Bug Fixes](#bug-fixes) - [0.40.6 (2023-07-18)](#0406-2023-07-18) - [Bug Fixes](#bug-fixes-1) @@ -330,7 +330,7 @@ -# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.6...v0.0.0) (2023-08-03) +# [0.0.0](https://github.com/ory/oathkeeper/compare/v0.40.6...v0.0.0) (2023-08-07) ### Bug Fixes