Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Sync APIs. @tag-name=gloo-v1.18.0-rc1 #1371

Merged
merged 1 commit into from
Nov 19, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
17 changes: 17 additions & 0 deletions api/gloo/enterprise.gloo/v1/auth_config.proto
Original file line number Diff line number Diff line change
Expand Up @@ -52,6 +52,7 @@ message AuthConfigSpec {
PassThroughAuth pass_through_auth = 12;
HmacAuth hmac_auth = 13;
OpaServerAuth opa_server_auth = 14;
PortalAuth portal_auth = 15;
}
}

Expand Down Expand Up @@ -1605,6 +1606,22 @@ message PassThroughHttp {
google.protobuf.Duration connection_timeout = 8;
}

// PortalAuth is used to authorize requests for credentials generated by the portal web server.
// This API is only supported for Gloo Gateway Portal.
message PortalAuth {
// The portal web server url used to validate credentials generated by the portal for the backing service(s).
string url = 1;
// The api key header name used to find the api key in the request headers.
// If provided will not authorize requests without the api key in the request headers.
// If not provided, will authorize requests with a Bearer token but must be chained with an AccessTokenValidation AuthConfig which will validate the token.
string api_key_header = 2;
// Options to connect to redis. If not provided, data will be cached in memory.
RedisOptions redis_options = 3;
// The frequency at which the validated credential data should be refreshed by quering the portal web server. Defaults to 60s.
google.protobuf.Duration cache_duration = 4;
// Timeout for the portal web server to respond. Defaults to 200ms
google.protobuf.Duration request_timeout = 5;
}

message AuthConfigStatus {
enum State {
Expand Down
2 changes: 1 addition & 1 deletion api/gloo/gateway/v1/virtual_service.proto
Original file line number Diff line number Diff line change
Expand Up @@ -215,7 +215,7 @@ message Route {
// Delegate routing actions for the given matcher to one or more RouteTables.
DelegateAction delegate_action = 5;

// Enterprise-Only: THIS FEATURE IS IN TECH PREVIEW. APIs are versioned as alpha and subject to change.
// Deprecated, Enterprise-Only: THIS FEATURE WILL BE REMOVED IN A FUTURE RELEASE. APIs are versioned as alpha and subject to change.
// A reference to a GraphQLApi CR. Resolution of the client request to upstream(s) will be delegated to
// the resolution policies defined in the GraphQLApi CR. If configured, the graphql filter will operate
// instead of the envoy router filter, so configuration (such as retries) that applies to the router filter
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -680,6 +680,22 @@ message ExtAuthConfig {
}

}
// This API is only supported for Gloo Gateway Portal.
message PortalAuthConfig {
// The portal web server url used to validate credentials generated by the portal for the backing service(s).
string url = 1;
// The api key header name used to find the api key in the request headers.
// If provided will not authorize requests without the api key in the request headers.
// If not provided, will authorize requests with a Bearer token but must be chained with an AccessTokenValidation AuthConfig which will validate the token.

string api_key_header = 2;
// Options to connect to redis. If not provided, data will be cached in memory.
RedisOptions redis_options = 3;
// The frequency at which the validated credential data should be refreshed by quering the portal web server. Defaults to 60s
google.protobuf.Duration cache_duration = 4;
// Timeout for the portal web server to respond. Defaults to 200ms
google.protobuf.Duration request_timeout = 5;
}
message InMemorySecretList {
// list of username/password pairs taken from secrets during gloo-ee translation
map<string, string> secret_list = 1 [(extproto.sensitive) = true];
Expand Down Expand Up @@ -712,6 +728,7 @@ message ExtAuthConfig {
PassThroughAuth pass_through_auth = 13;
HmacAuthConfig hmac_auth = 15;
OpaServerAuthConfig opa_server_auth = 16;
PortalAuthConfig portal_auth = 18;
}
}

Expand Down
1 change: 1 addition & 0 deletions api/gloo/gloo/v1/options/graphql/graphql.proto
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,7 @@ option (extproto.equal_all) = true;
option (extproto.hash_all) = true;
option (extproto.clone_all) = true;

// Deprecated: The GraphQL feature of Gloo Gateway will be removed in a future release.
// Only supported in enterprise with the GraphQL addon.
// This is the service spec describing GraphQL upstreams. This will usually be filled
// automatically via function discovery (if the upstream supports introspection).
Expand Down
1 change: 1 addition & 0 deletions api/gloo/gloo/v1/options/service_spec.proto
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@ option (extproto.equal_all) = true;
message ServiceSpec {
// Note to developers: new Service plugins must be added to this oneof field
// to be usable by Gloo. (plugins currently need to be compiled into Gloo)
// The GraphQL feature is deprecated and will be removed in a future release.
oneof plugin_type {
rest.options.gloo.solo.io.ServiceSpec rest = 1;
grpc.options.gloo.solo.io.ServiceSpec grpc = 2 [deprecated = true];
Expand Down
4 changes: 2 additions & 2 deletions api/gloo/gloo/v1/proxy.proto
Original file line number Diff line number Diff line change
Expand Up @@ -357,12 +357,12 @@ message Route {
// Return an arbitrary HTTP response directly, without proxying.
DirectResponseAction direct_response_action = 4;

// Enterprise-Only: THIS FEATURE IS IN TECH PREVIEW. APIs are versioned as alpha and subject to change.
// Deprecated, Enterprise-Only: This feature is deprecated and will be removed in a future release. APIs are versioned as alpha and subject to change.
// A reference to a GraphQLApi CR. Resolution of the client request to upstream(s) will be delegated to
// the resolution policies defined in the GraphQLApi CR. If configured, the graphql filter will operate
// instead of the envoy router filter, so configuration (such as retries) that applies to the router filter
// will not be applied.
core.solo.io.ResourceRef graphql_api_ref = 8;
core.solo.io.ResourceRef graphql_api_ref = 8 [deprecated = true];
}

// Route Options extend the behavior of routes.
Expand Down
8 changes: 6 additions & 2 deletions api/gloo/gloo/v1/settings.proto
Original file line number Diff line number Diff line change
Expand Up @@ -283,8 +283,9 @@ message SettingsSpec {
UdsOptions uds_options = 2;

message FdsOptions {
// Deprecated: The GraphQL feature will be removed in a future release.
// Enable function discovery service on GraphQL gRPC and OpenApi upstreams. Defaults to true.
google.protobuf.BoolValue graphql_enabled = 1;
google.protobuf.BoolValue graphql_enabled = 1 [deprecated = true];
}

FdsOptions fds_options = 3;
Expand Down Expand Up @@ -553,8 +554,9 @@ message SettingsSpec {
// Enterprise-only: Settings for the Gloo Edge Enterprise Console (UI)
ConsoleOptions console_options = 35;

// Deprecated: The GraphQL feature will be removed in a future release.
// Enterprise-only: GraphQL settings
GraphqlOptions graphql_options = 37;
GraphqlOptions graphql_options = 37 [deprecated = true];

// Enterprise-only: External Processing filter settings. These settings are used as
// defaults globally, and can be overridden by HttpListenerOptions, VirtualHostOptions,
Expand Down Expand Up @@ -956,6 +958,7 @@ message GatewayOptions {
google.protobuf.BoolValue translate_empty_gateways = 11;
}

// Deprecated: The GraphQL feature will be removed in a future release.
// Settings used by the Enterprise Console (UI)
message ConsoleOptions {
// If true, then custom resources can only be viewed in read-only mode in the UI.
Expand All @@ -970,6 +973,7 @@ message ConsoleOptions {
google.protobuf.BoolValue api_explorer_enabled = 2;
}

// Deprecated: The GraphQL feature will be removed in a future release.
// GraphQL settings used by the control plane and UI.
message GraphqlOptions {

Expand Down
13 changes: 12 additions & 1 deletion api/gloo/graphql.gloo/v1beta1/graphql.proto
Original file line number Diff line number Diff line change
Expand Up @@ -45,6 +45,7 @@ import "google/protobuf/wrappers.proto";
- use `a[*][1]` to create a list of all values from object "a"
*/

// Deprecated: The GraphQL feature of Gloo Gateway will be removed in a future release.
// Defines a configuration for generating outgoing requests for a resolver.
message RequestTemplate {
// Use this attribute to set request headers to your REST service. It consists of a
Expand Down Expand Up @@ -75,6 +76,7 @@ message RequestTemplate {
google.protobuf.Value body = 3;
}

// Deprecated: The GraphQL feature of Gloo Gateway will be removed in a future release.
message ResponseTemplate {
/*
Sets the "root" of the upstream response to be turned into a graphql type by the graphql server.
Expand Down Expand Up @@ -118,6 +120,7 @@ message ResponseTemplate {
map<string, string> setters = 2;
}

// Deprecated: The GraphQL feature of Gloo Gateway will be removed in a future release.
// Defines a configuration for generating outgoing requests for a resolver.
message GrpcRequestTemplate {
// json representation of outgoing gRPC message to be sent to gRPC service
Expand All @@ -136,6 +139,7 @@ message GrpcRequestTemplate {
map<string, string> request_metadata = 4;
}

// Deprecated: The GraphQL feature of Gloo Gateway will be removed in a future release.
// control-plane API
message RESTResolver {
core.solo.io.ResourceRef upstream_ref = 1;
Expand All @@ -151,6 +155,7 @@ message RESTResolver {
google.protobuf.Duration timeout = 5;
}

// Deprecated: The GraphQL feature of Gloo Gateway will be removed in a future release.
// Defines a configuration for serializing and deserializing requests for a gRPC resolver.
// Is a Schema Extension
message GrpcDescriptorRegistry {
Expand Down Expand Up @@ -197,6 +202,7 @@ message GrpcResolver {
google.protobuf.Duration timeout = 5;
}

// Deprecated: The GraphQL feature of Gloo Gateway will be removed in a future release.
message StitchedSchema {

message SubschemaConfig {
Expand Down Expand Up @@ -284,6 +290,7 @@ message StitchedSchema {
repeated SubschemaConfig subschemas = 1;
}

// Deprecated: The GraphQL feature of Gloo Gateway will be removed in a future release.
message MockResolver {
message AsyncResponse {
// The response from the resolver as a JSON.
Expand All @@ -303,6 +310,7 @@ message MockResolver {
}
}

// Deprecated: The GraphQL feature of Gloo Gateway will be removed in a future release.
// Define a named resolver which can be then matched to a field using the `resolve` directive.
// if a field does not have resolver, the default resolver will be used.
// the default resolver takes the field with the same name from the parent, and uses that value
Expand All @@ -329,7 +337,7 @@ message Resolution {
google.protobuf.StringValue stat_prefix = 3;
}

// Enterprise-Only: THIS FEATURE IS IN TECH PREVIEW. APIs are versioned as alpha and subject to change.
// Deprecated, Enterprise-Only: THIS FEATURE IS DEPRECATED AND WILL BE REMOVED IN A FUTURE RELEASE. APIs are versioned as alpha and subject to change.
// User-facing CR config for resolving client requests to graphql schemas.
// Routes that have this config will execute graphql queries, and will not make it to the router filter. i.e. this
// filter will terminate the request for these routes.
Expand Down Expand Up @@ -372,12 +380,14 @@ message GraphQLApiSpec {
GraphQLApiOptions options = 8;
}

// Deprecated: The GraphQL feature of Gloo Gateway will be removed in a future release.
// This message specifies Persisted Query Cache configuration.
message PersistedQueryCacheConfig {
// The unit is number of queries to store, default to 1000.
uint32 cache_size = 1;
}

// Deprecated: The GraphQL feature of Gloo Gateway will be removed in a future release.
message ExecutableSchema {
// Schema to use in string format.

Expand Down Expand Up @@ -411,6 +421,7 @@ message ExecutableSchema {
GrpcDescriptorRegistry grpc_descriptor_registry = 3;
}

// Deprecated: The GraphQL feature of Gloo Gateway will be removed in a future release.
message Executor {
// Execute schema using resolvers.
message Local {
Expand Down
45 changes: 45 additions & 0 deletions pkg/api/enterprise.gloo.solo.io/v1/auth_config.pb.clone.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

77 changes: 77 additions & 0 deletions pkg/api/enterprise.gloo.solo.io/v1/auth_config.pb.equal.go

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading