These 73 commits are when the Protocol Buffers files have changed:
Commit: | 01100b7 | |
---|---|---|
Author: | Alberto García Hierro | |
Committer: | GitHub |
fix: allow setting logging levels from command line (#1141) * fix: allow setting logging levels from command line - Make the command line flag propagate correctly to the TS side - Correctly update the logging level when the config is parsed - Introduce a TRACE level for the TS side (zap doesn't support it) Fixes ENG-3335 Fixes ENG-3357 * fix: default logging level on the SDK side * chore: add migration * chore: rename migration file * fix: incorrect merge --------- Co-authored-by: Pagebakers <eelco@appulse.nl>
The documentation is generated from this commit.
Commit: | 6cbdeba | |
---|---|---|
Author: | Eelco Wiersma | |
Committer: | GitHub |
feat: advanced hooks - dynamicTransport (#1124) * chore: move claims to references * feat: add defineConfig method * fix: generation * fix: load introspection async * feat: improve config generation * chore: skeleton test app for dynamic router * feat: initial support for a hook that performs HTTP requests * feat: add support for merging graphql responses * feat: add dynamic router integration * feat: add transport hook * fix: add support for defineConfig in wunderctl generate * feat: automatically assign IDs to data sources without one * fix: import name in template * chore: wip * fix: missing file * feat: add datasources config and improve types * feat: make on transport hook work with matchers * fix: pass namespace to introspection * fix: hooks types * chore: always assign numbers when multiple DS have the same ID * fix: crash * chore: cleanup * fix: pass the operation metadata in calls through the GraphQL handlers * chore: cleanup * refactor: introduce operation.Type Allows us to represent operation types without depending on the protobuf definition * chore: cleanup and add licensing * fix: missing file * chore: update example * fix: add separate data source type * chore: update example * chore: port dynamic-router to integrations API * chore: create more elaborate example * fix: use the right operation type for multioperation requests * fix: types and fallback * fix: update snapshots * fix: missing package * fix: remove duplicated schema-extensions from workspace * fix: remove duplicated entries from vitest workspace * fix: missing package * chore: move datasources to datasources folder * fix: tests * chore: increase linter timeout to 3 minutes * chore: define enterprise feature for advanced hooks * chore: add readme * chore: update readme * chore: fix typo * feat: move data sources to separate package entry * feat: add helper function to merge graphql responses * docs: document graphql merger docs * chore: add license header to merge.ts * test: add test for GraphQL merging * chore: don't assign _1 suffix to ids * fix: update test snapshots * fix: update autogenerated id * fix: formatting * docs: fix example * fix: remove comments, update TODO * feat: rename dynamic-router to advanced-hooks and dynamicTransport * fix: path to advanced-hooks apps in vitest workspace * fix: app path in vitest test setup * chore: add WGCL * fix: remove unused import * fix: use a random port for NATS tests * fix: use a random port for the builtin NATS server Also, start the server during wunderctl generate too * fix: manage the default NATS server URL entirely in the Go side * fix: update snapshots --------- Co-authored-by: fiam <alberto@garciahierro.com>
Commit: | 961f1f0 | |
---|---|---|
Author: | Jens Neuse | |
Committer: | GitHub |
feat: initial impl of nats kv (#1057) Co-authored-by: fiam <alberto@garciahierro.com> Co-authored-by: thisisnithin <nithinkumar5353@gmail.com>
Commit: | 5ca5d57 | |
---|---|---|
Author: | fiam |
feat: initial support for a hook that performs HTTP requests
Commit: | 30a0b12 | |
---|---|---|
Author: | Alberto García Hierro | |
Committer: | GitHub |
feat: add support for feature usage telemetry (#1096) Keeping track of the most used features allows us to prioritize the most important ones for our users.
Commit: | 5ba5a7a | |
---|---|---|
Author: | Alberto García Hierro | |
Committer: | GitHub |
perf: improve config generation/loading performance (#1070) * perf: improve config generation/loading performance - Use structuredCopy to copy values when available - Use protocol buffers as a serialization format - Use string references for storing database prisma/graphql schemas - Reduces generation time (on M1) from ~3.8s to ~2.9s in apps/basic => -900ms, -28% - Reduces config size from ~25MB to ~1.8MB in apps/basic => -23.2MB, -92.8% - Reduces config loading time (on M1) from 110ms to 7ms => -103ms, -93.7%) Fixes #1020
Commit: | 598ab1c | |
---|---|---|
Author: | Jens Neuse |
chore: wip implement async operations
Commit: | 7b45975 | |
---|---|---|
Author: | Dustin Deus | |
Committer: | GitHub |
feat: otel instrumentation of wundernode and server (#1004) * feat: otel instrumentation * chore: add sdk interface * chore: upgrade to go 1.19.0 due to otel dep * chore: zero overhead when disabling otel * chore: add example, improve error reporting * chore: ensure same default * chore: add e2e tests * chore: address feedback * chore: limit concurrency for big machines * chore: update vitest * chore: upgrade to go 1.20 and docker compose 3.8 * chore: run with limited concurrency, improves performance and stability * chore: fix port race in tests
Commit: | fcc594d | |
---|---|---|
Author: | StarpTech |
Merge branch 'main' into dustin/eng-1548-instrumentation-of-wundernode-server # Conflicts: # pkg/wgpb/wundernode_config.pb.go
Commit: | b5f6b74 | |
---|---|---|
Author: | Alberto García Hierro | |
Committer: | GitHub |
feat: make timeout during authentication configurable (#1018)
Commit: | 11ca386 | |
---|---|---|
Author: | StarpTech |
chore: merge
Commit: | 38326f3 | |
---|---|---|
Author: | StarpTech |
chore: add sdk interface
Commit: | f949398 | |
---|---|---|
Author: | Alberto García Hierro | |
Committer: | GitHub |
feat: use Prometheus to track and expose operation and API request counts (#991) Add support for exposing metrics using Prometheus, which can be optionally disabled at runtime. The following metrics are exposed: For operations: - Incoming HTTP request duration - Incoming HTTP request count (with status code) - Incoming HTTP request size - Outgoing HTTP response size For upstreams: - Number of requests sent per host (with method and status code) - Duration of requests sent per host Prometheus metrics are on by default, listening on http://<host>:8881/metrics. They can be disabled when calling configureWunderGraphApplication() and they're also controlled by environment variables. Additionally, add a guide about monitoring and observability with a section about Prometheus, to be extended later when we add OTEL support.
Commit: | 1b330d5 | |
---|---|---|
Author: | Alberto García Hierro | |
Committer: | GitHub |
feat: improve Cache-Control support (#959) - Declare cache as public by default for anonymous operations, private for authenticated ones - Include a must-revalidate header by default - Allow disabling max-age and stale-while-revalidate - Update docs with new defaults and options
Commit: | 8cd45a3 | |
---|---|---|
Author: | Eelco Wiersma | |
Committer: | GitHub |
feat: orm (#963) * feat: implement typescript orm * fix: remove invalid export * feat: auto-select all object fields * fix: cancel orm subscription operations * chore: replace @web-std/fetch with @whatwg-node/fetch * feat: cache orm code generation * chore: refactor orm instantiation and integration * chore: require opt-in for orm usage * chore: fix generated code * chore: improve HandlerContext type safety * fix: make optional object arguments optional * chore: remove unused ast module * fix: set orm to never when its disabled * fix: set ORM to undefined when not enabled * chore: fix codeformatting * chore: codeformatting --------- Co-authored-by: Tim Kendall <timkendall18@gmail.com> Co-authored-by: Jens Neuse <jens.neuse@gmx.de>
Commit: | ce31c4c | |
---|---|---|
Author: | Alberto García Hierro | |
Committer: | GitHub |
feat: add support for caching in function handlers (#932) - Add a cache argument to functions for creating TS operations - Refactor cache support from QueryHandler into separate types - Use these new types to support caches from FunctionHandler - Add test for checking the response headers
Commit: | c6f14f8 | |
---|---|---|
Author: | Alberto García Hierro | |
Committer: | GitHub |
feat: add support for custom claims of any type (#911)
Commit: | a472c46 | |
---|---|---|
Author: | Alberto García Hierro | |
Committer: | GitHub |
feat: add support for using proxies in data sources (#854) * feat: add support for using proxies in data sources * chore: update snapshots * fix: properly detect when a source overrides the default proxy Also, ensure all fields for HTTP proxy have HTTP prefix * chore: document loadvariable.{String,LookupString} * chore: support data-source defined proxies during introspection * feat: add support for using a global proxy during graphql introspection * chore: allow disabling global proxy by setting ds proxy to null * perf: generate APIs in parallel * docs: document newly introduced types * fix: account for introspection options when generating cache key * chore: include upstream URL when reporting error in proxy URL * test: fix test for federated API * test: update snapshots * chore: simplify loop * fix: use resolved variable, otherwise the default gets ignored * fix: check for non-existing default in EnvironmentVariable * fix: formatting errors * fix: proxy url overriding logic * chore: add log messages when using HTTP proxies * test: add tests for proxy support * chore: fix snapshots * fix: set test timeout correctly * fix: increase test timeout for CI * chore: add tests using squid, add workaround for CONNECT * docs: document options for proxy URL a bit better * docs: document httpProxyUrl at the right place * chore: remove unused vitest.config.ts files * feat: support passing environment variables to createTestServer * feat: use a local TS based proxy instead of spinning up a container * chore: set increased timeout limits in describe() * docs: update data source docs with proxy options * chore: increase test timeout * docs: add guide for using HTTP proxies * refactor: move helper functions to a separate file * chore: update port number in test to use squid's default port * docs: rewording
Commit: | f8f5f3a | |
---|---|---|
Author: | YuriBuerov |
Merge remote-tracking branch 'origin/main' into yuri/eng-1434-add-otel-opentelemetry-to-wundernode
Commit: | ad42f5f | |
---|---|---|
Author: | Nithin Kumar B | |
Committer: | GitHub |
feat: implement internal graphql handler (#853) * chore: new router + graphql * fix: internal handler * fix: shut down node and tests * fix: tests * fix: ci * fix: test * chore: rename env variable * docs: update configuration docs * fix: operations-client.ts * chore: address feedback * fix: use same host as public listener * chore: wip construct internal url in config * fix: configured node internal url * docs: update conventions * chore: address feedback
Commit: | 4351d7f | |
---|---|---|
Author: | thisisnotnithin |
chore: wip construct internal url in config
Commit: | 39e55e9 | |
---|---|---|
Author: | thisisnotnithin |
chore: new router + graphql
Commit: | ff16835 | |
---|---|---|
Author: | YuriBuerov |
Merge remote-tracking branch 'origin/main' into yuri/eng-1434-add-otel-opentelemetry-to-wundernode
Commit: | 6bf7498 | |
---|---|---|
Author: | Dustin Deus | |
Committer: | GitHub |
feat: tui + log handling (#813) * feat: tui + log handling * fix: tty in wunderctl spawn * chore: upgrade cobra, use ringbuffer for both streams * chore: improve colors, add discord link * chore: improve * chore: get stats from build result * chore: improve * chore: improve * chore: improve * chore: improve * chore: improve * chore: improve * chore: fix lint * chore: fix lint * chore: improve * chore: improve * chore: improve * chore: improve * chore: improve * chore: improve * chore: always throw * chore: improve * chore: improve * chore: fix lint * chore: improve * chore: improve * chore: improve * chore: improve * chore: improve
Commit: | 90f85a2 | |
---|---|---|
Author: | StarpTech |
chore: improve
Commit: | caf4506 | |
---|---|---|
Author: | StarpTech |
chore: improve
Commit: | 98e6aa8 | |
---|---|---|
Author: | StarpTech |
chore: improve
Commit: | de5add0 | |
---|---|---|
Author: | StarpTech |
chore: get stats from build result
Commit: | fdeaeec | |
---|---|---|
Author: | YuriBuerov |
chore: otel, pr remarks
Commit: | 3503bd9 | |
---|---|---|
Author: | YuriBuerov |
feat: otel, jwt auth
Commit: | 4561967 | |
---|---|---|
Author: | YuriBuerov |
Merge remote-tracking branch 'origin/main' into yuri/eng-1434-add-otel-opentelemetry-to-wundernode
Commit: | 99b0476 | |
---|---|---|
Author: | YuriBuerov |
feat: otel, tracer instrumentation
Commit: | 2b424f3 | |
---|---|---|
Author: | Oscar Lingard | |
Committer: | GitHub |
fix: custom int/float scalars usage in arguments (#427)Co-authored-by: Alberto García Hierro <alberto@garciahierro.com> Co-authored-by: Sergiy <818351+devsergiy@users.noreply.github.com> Co-authored-by: spetrunin <neyasut@gmail.com> * feat: adding custom int argument conversions * fix: don't swallow planner errors * fix: pass types to rename to graphql-go-tools * fix: rewrite upstream schema correctly for renamed types * chore: fix upstream schema transformation * chore: remove custom numeric scalars from merged schema --------- Co-authored-by: Alberto García Hierro <alberto@garciahierro.com> Co-authored-by: Sergiy <818351+devsergiy@users.noreply.github.com> Co-authored-by: spetrunin <neyasut@gmail.com>
Commit: | 2223d5c | |
---|---|---|
Author: | Alberto García Hierro | |
Committer: | GitHub |
feat: add support for declaring a list of public claims (#706) * feat: add support for declaring a list of public claims If non-empty, all other claims are hidden from the frontend. - Add PublicCustomClaims type, which picks fields from CustomClaims - Declare a PublicUser type in client.ts, which optionally picks the selected fields. - Add required machinery in the Go side to handle these fields - Validate the selected claims with strong types and during code generation - Document the usage of publicClaims
Commit: | ce0a0a0 | |
---|---|---|
Author: | Alberto García Hierro | |
Committer: | GitHub |
feat: add support for injecting variables into nested paths (#678) * feat: add support for injecting claims into nested paths Add a second optional argument to @fromClaim, which allows setting the JSON path for the variable injection. Add a test in the auth testapp to ensure its tested by CI. * fix: remove accidentally commited test change * chore: wip * chore: upgrade to graphql-go-tools 1.61.3 * feat: omit injected fields from input validation * feat: add support for injecting into variable paths * fix: update test snapshots * feat: add support for injection a JSON schema on variable fields * chore: format docs/wundergraphVSpostgraphile.md * docs: document on: argument for variable injection * feat: remove injected fields from input schema, implement @jsonSchema * chore: update test snapshot files * docs: clarify that variable injection directives can be repeated and combined * chore: add a better error message when a referenced on: field doesn't exist * chore: report an error when overwriting attributes via @jsonSchema Avoids silently overriding a field * fix: remove injected field from required Field definition was removed, but if it was present inside a parent type that had it as required, the required list was not updated. Add tests to validate this. --------- Co-authored-by: Sergiy Petrunin <spetrunin@users.noreply.github.com> Co-authored-by: Sergiy <818351+devsergiy@users.noreply.github.com>
Commit: | 1da04bb | |
---|---|---|
Author: | David Stutt |
chore: responding to PR feedback
Commit: | f8e37da | |
---|---|---|
Author: | David Stutt |
chore: handle main conflicts
Commit: | cb11382 | |
---|---|---|
Author: | David Stutt |
chore: work in progress
Commit: | 682b88c | |
---|---|---|
Author: | Alberto García Hierro | |
Committer: | GitHub |
feat: add support for custom claims (#648 * feat: initial (and incomplete) support for custom claims * chore: make custom claims an enum, prevent allocations when applying them * fix: remove unused import * refactor: change default requirement for custom claims to be true * fix: export ValueType from @wundergraph/sdk * fix: avoid ignoring errors when setting custom claims as variables * chore: add support for handling InputValidationError in handleOperationErr() * chore: return input validation errors when custom claims fail * chore: add more tests to jwks testapp * chore: rename jwks testapp to auth * chore: update pnpm-lock * chore: parse custom claims when logging in via token * fix: tests in SDK * refactor: rename Claim to WG_WELL_KNOWN_CLAIM, support more builtin claims * refactor: move custom claim injection to separate function, remove allocation * fix: make the new claims backwards compatible Provider an alias for PROVIDER * docs: add docs for @fromCustomClaim * refactor: use a string enum for definition custom claim types Avoids exporting ValueType from the SDK, keeping it internal * fix: add new User fields to TS User type, remove duplicated definition Alias User to server/WunderGraphUser * feat: add type-safe accessors to User inside hooks and TS functions * fix: import in generated file * fix: remove incorrect import * fix: tests * refactor: use a single @fromClaim directive, extending the enum instead * fix: package ID in testapps/auth Rename from jwks * chore: add test for checking wether a claim is custom * docs: document User fields for well known claims * docs: add migration guide with renamed User fields * chore: don't wait for test server to exit from test SDK Just terminate it
Commit: | 485975b | |
---|---|---|
Author: | Alberto García Hierro | |
Committer: | GitHub |
feat: add support for uploads from anonymous users (#632) - Add a new per-profile field, which defaults to requiring authentication - Add end to end tests to nodejs-file-upload example, which also validates that the upload hooks run. Co-authored-by: Dustin Deus <deusdustin@gmail.com>
Commit: | 2f0cfa5 | |
---|---|---|
Author: | Jens Neuse | |
Committer: | GitHub |
feat: add prisma datasource (#605) Co-authored-by: Alberto García Hierro <alberto@garciahierro.com>
Commit: | 6144545 | |
---|---|---|
Author: | Alberto García Hierro | |
Committer: | GitHub |
feat: add upload profiles for S3 providers (#476) Implement upload profiles in config, client, server, add new hooks and update docs Co-authored-by: Eelco Wiersma <contact@pagebakers.nl> Co-authored-by: Aenimus <47415099+Aenimus@users.noreply.github.com> Co-authored-by: David Stutt <david@wundergraph.com> Co-authored-by: Sergey Petrunin <neyasut@gmail.com> Co-authored-by: Sergiy Petrunin <spetrunin@users.noreply.github.com> Co-authored-by: Andrei Miulescu <lusu777@gmail.com> Co-authored-by: Nithin Kumar B <nithinkumar5353@gmail.com>
Commit: | 555dd66 | |
---|---|---|
Author: | Jens Neuse | |
Committer: | GitHub |
chore: wip implement functions (#515) Co-authored-by: Alberto García Hierro <alberto@garciahierro.com>
Commit: | 3d0497e | |
---|---|---|
Author: | Sergey Petrunin |
chore: draft
Commit: | 7465fb2 | |
---|---|---|
Author: | Alberto García Hierro | |
Committer: | GitHub |
feat: add support for disconnecting from Auth0 (#525) * feat: add support for disconnecting from Auth0 Auth0 doesn't implement OIDC's end_session_endpoint, requiring a custom API instead. Add machinery to support this kind of APIs and implement a provider type to handle this. Also, update the auth0-oidc-authentication example to use port 3000 and add some extra setup instructions Fixes ENG-1016 Fixes ENG-968
Commit: | 7e16d44 | |
---|---|---|
Author: | Alberto García Hierro | |
Committer: | Alberto García Hierro |
fix: unify logging levels across command line, node and server Instead of passing logging levels via the main JSON file, which does not allow overriding, send them around from the initial wunderctl invocation, across the API handlers and through the hooks server. This causes the logging level set from the command line to be enforced across the board.
Commit: | 45639db | |
---|---|---|
Author: | Alberto García Hierro | |
Committer: | GitHub |
feat: make detecting invalid operations easier (#374) * feat: make detecting invalid operations easier, allow empty ones - Allow .graphql files with zero operations, mark them as invalid. This allows commenting them out - When an operation is not valid, either by being empty or by producing an error during parsing, generate a handler that just returns an error for it. * feat: log an error message when an invalid operation is accesed via HTTP * fix: add missing change in unsaved file * refactor: use errors.As() instead of type assertion to test for infoError * refactor: count operations in GraphQL file by walking the AST Should provide the correct result in some edge cases when testing the length of doc.OperationDefinitions would fall short * chore: consider empty .graphql operation files errors Require them to have exactly one operation * fix: ammend error message to direct user to the logs in invalid op Asking them to use their IDE and intellisense feels too convoluted, and the logs should have the full error message.
Commit: | ca09b3c | |
---|---|---|
Author: | Yuri Buerov | |
Committer: | GitHub |
feat: sdk, schema extension fields config (#336) * feat: sdk, schema extension fields config * feat: sdk, schema extension fields config * feat: sdk, schema extension clean up * chore: dependencies, update * chore: formatting, fix * chore: formatting, fix * chore: formatting, fix
Commit: | e49e585 | |
---|---|---|
Author: | Alberto García Hierro | |
Committer: | GitHub |
feat: remove app/main from URL structure (#335) * feat: remove /<app-name>/main prefix from router and pb definition Some minor changes to the SDK are also included, to accomodate for the missing fields in the types generated from .proto * fix: update code generation (#333) fix: update code generation to supoort the removal of app/main from the endpoints * feat: remove /<app-name>/main prefix from router and pb definition Some minor changes to the SDK are also included, to accomodate for the missing fields in the types generated from .proto * feat: update URLs in testapps for new style * feat: drop Client applicationPath and associated properties Not required now that we're refactoring the URLs * fix: port apollo-federation example to new URL/API * fix: update /auth0-oidc-authentication to new URL/API * fix: update caching example to new URL/API * fix: update cross-api-joins to new URL/API * fix: update faunadb-nextjs to new URL/API * fix: update fragments example to new URL/API * fix: update golang-client example to new URL/API * fix: update graphql-sse-subscriptions example to new URL/API * fix: update graphql-subscriptions-hooks example to new URL/API * fix: update graphql-ws-subscriptions example to new URL/API * fix: update graphql-yoga-sse-subscriptions example to new URL/API * fix: update hooks example to new URL/API * fix: update inject-bearer example to new URL/API * fix: update keycloak-oidc-authentication example to new URL/API * fix: update migrate-from-apollo example to new URL/API * fix: update nextjs example to new URL/API * fix: update nextjs-postgres-prisma to new URL/API * fix: update nextjs-swr example to new URL/API * fix: update rbac example to new URL/API * fix: upadte schema-extension example to use new URL/API * fix: update simple example to new URL/API * fix: update webhooks example to new URL/API * fix: update URLs in README files for new style * fix: update publish-install-api to new URL/API * fix: update graphql-hasura-subscriptions to new URL/API * fix: permissions in graphql-apollo-subscriptions example * fix: update graphql-apollo-subscriptions example to new URL/API * fix: typo in graphql-apollo-subscriptions README * fix: update postgres example to new URL/API * fix: update nextjs-postgres-user-filters example to new URL/API * chore(docs): update docs to reflect changes to WunderGraph protocol * chore(docs): update docs to reflect changes to WunderGraph protocol * docs: fix old-style URLs in a couple of pages * feat: add redirect for old-style URLs Redirect returns a 308 and logs a warning * feat: make old URL structure handle the request instead of redirecting This ensures clients that use an HTTP client without redirects enabled do not require any changes * docs: update URL structure doc, note there are some breaking changes * docs: remove two references to the old Application type * fix: nextjs swr test URL path used old-style URL * fix: url paths in vite testapp * fix: update .graphqlconfig in vite-swr example * fix: update URL style in gitpod.yml * fix: update mocks and tests for new URL style Co-authored-by: Suvij Surya <suvijsurya76@gmail.com> Co-authored-by: Jens Neuse <jens.neuse@gmx.de>
Commit: | 71423f5 | |
---|---|---|
Author: | Alberto García Hierro | |
Committer: | Alberto García Hierro |
feat: remove /<app-name>/main prefix from router and pb definition Some minor changes to the SDK are also included, to accomodate for the missing fields in the types generated from .proto
Commit: | 2e4ae85 | |
---|---|---|
Author: | Yuri Buerov | |
Committer: | GitHub |
feat: subscriptions, ws connection init hook (#243) * feat: subscriptions, hooks draft * feat: subscriptions, update snaphots * feat: subscriptions, clean up * feat: subscriptions, register wsTransport hook * feat: subscriptions, wsTransport hook test * fix: fix tests * feat: subscriptions, wsTransport hook types * feat: subscriptions, ws connection init callback * feat: subscriptions, update dependencies * chore: linter, fix * chore: enable id's for federated GraphQL and deduplicate Co-authored-by: starptech <deusdustin@gmail.com> Co-authored-by: Jens Neuse <jens.neuse@gmx.de>
Commit: | bb3b6bd | |
---|---|---|
Author: | Alberto García Hierro | |
Committer: | GitHub |
feat: add configurable per-source timeouts (#232) * feat: add configurable per-source timeouts - Add a new optional timeout field in HTTPUpstream - Pass this new field to the node via FetchConfiguration, so it applies to all HTTP based sources - In the server, create a dedicated http.Client with the specified timeout as needed * feat: add support for timeouts to database based sources Move timeout parameter to DataSourceConfiguration, so all sources can now have a timeout regardless of their type. At some point, we might want to implement timeouts for all of them. * fix: edit pb.go file to match protoc version used in CI * feat: add default timeout for the whole app Add new optional field in NodeOptions with the timeout in milliseconds. For now, it only applies to HTTP based requests. * fix: rename timeout: to timeoutMilliseconds: in SDK Having the unit in the field name makes it more evident * feat: allow setting unlimited timeouts null-ish or < 0 will use the default timeout, but 0 will make it unlimited * fix: remove leftover field from HTTPUpstream timeout is not used anymore, now it applies to all data sources * fix: api changes timeoutMilliseconds -> requestTimeoutMilliseconds Also, disallow disabling the timeout by setting it to zero. Zero keeps the default value instead. * chore: use seconds instead of milliseconds for request timeouts * fix: fix newly added test * docs: fix incorrect field name in introspect.graphql() example * fix: override graphql_datasource.Factory HTTPClient Instead of creating a new instance, overwrite the HTTPClient field in the existing one * refactor: useCustomHTTPClient() -> requiresCustomHTTPClient() * docs: document added field to exported types * fix: update generated data in snapshot used for testing
Commit: | 7bf72ef | |
---|---|---|
Author: | Yuri Buerov | |
Committer: | GitHub |
feat: sse subscriptions configuration (#217) * feat: subscriptions, sse subscriptions configuration * chore: clean up * fix: subscriptions, use boolean config parameter * chore: subscriptions, rename config parameter * chore: subscriptions, update dependencies * feat: subscriptions, streaming http client * feat: subscriptions, streaming config param
Commit: | c01bd9a | |
---|---|---|
Author: | Sergey Petrunin | |
Committer: | GitHub |
fix: allow to configure internal and public node urls separately (#207) * fix: add public node url to node options * chore: update docs * chore: fix pr comments * chore: trim public url for use as env baseUrl
Commit: | 6870130 | |
---|---|---|
Author: | Jens Neuse | |
Committer: | GitHub |
feat: add post logout hook (#196) * chore: wip * chore: print user on logout * chore: simplify checking if we should log out from the oidc provider * chore: add docs for post logout hook
Commit: | 803da0e | |
---|---|---|
Author: | Sergey Petrunin | |
Committer: | GitHub |
feat: implement config first approach (#151) * chore: add commands template * chore: tmp * chore: reiterate approach * chore: use only env for node and server commands * chore: pass hooks url from env * feat: add server port to cli, use new env vars names * feat: use new server env variables in sdk * chore: fix reference to nodeUrl * chore: add baseUrl prop to ResolvedDeployment.Environment * feat: add new cli flags server-port and server-host deprecate middleware-listen-port flag * chore: pass node url instead of node addr to server runner * chore: remove defaults from js env, cleanup imports * chore: pass env variables to a config runner in generate cmd reorder imports in apihandler * fix: replace WG_NODE_ADDR with WG_NODE_URL env var in cmd/up * chore: cleanup * fix: rename HOOKS_TOKEN to WG_SERVER_TOKEN * chore: supply server url to node in start and up commands remove hardcoded hook server url for api * chore: remove hooks secret * chore: create node config from config.json * chore: adopt changes after merge * chore: draft * chore: use listeners info from wunder config remove wundernodeconfig.go * chore: change typescript and protobuf config contract * chore: extract api from proto into go. support only single api * chore: fix env vars * chore: fix build * chore: cleanup cli * chore: fix node test * chore: fix value of default log level * chore: fixes after merge. remove apiconfig pkg * chore: fix impors * chore: extract options to separate file, add server options with defaults * chore: update pkg/wgpb * chore: fixes after merge * chore: use correct node host and port * chore: map pb log level to pino log level * chore: revert changelogs to main version * chore: fix import * chore: move server url to the options * chore: fix providing url for custom graphql servers * feat: make EnvironmentVariable generic * chore: change logger options in proto * chore: refactor options defaults, add is cloud check,move server logger to middleware pkg chore: move variables to separate file * chore: make log level from enum to string type * chore: fix loading log level from config * chore: fix handling trailing slash in server/node url * chore: fix pr comments * chore: handle production env flag for server runner chore: rename pkg cli/runners to helpers * chore: kill hooks with port obtained from config * chore: extract get port helper chore: check that config.json exists on server start * chore: add killing server in cli/server/start when debug flag set * chore: export logger level and wg env to be able to use in in wundergraph.config.ts * chore: remove exit after log fatal * chore: exit when we could not get server port from config * Revert "chore: remove exit after log fatal" This reverts commit 88be0bb2525f10e98b1c1fb9276370a756ce101b. * chore: use log.fatal when could not read a port chore: read subset of config to get port * chore: specify version instead of commit for protoc-gen-go chore: regen pkg/wgpb * chore: redo fix for trailing slash in server url * chore: cleanup node and server parent commands chore: remove env vars from start commands usage description * chore: simplify url+path cleanup * chore: fix node test * chore: use trim slash oneliner * chore: update protoc version * chore: use less strict gh/action to get protoc new version * chore: fix gh action param * chore: remove obsole graphlconfig files not touched by generate command * Revert "chore: remove obsole graphlconfig files not touched by generate command" This reverts commit b471132525329acea9f0e6bfb981b96b2f483bc9. * chore: set default log level as INFO * feat: document server and node options feat: document default env variables * feat: document wunderctl node and server start commands * chore: add missing wunderctl start docs * chore: document internal requirements for the wunderctl environment variables * chore: fix misspelling of WundeNode * feat: add migration guide for the wunderctl * chore: add definitions for WunderNode and WunderGraph Server * chore: rename options pages * chore: add additional notes about env variables to wunderctl commands * chore: throw when we could not resolve environment variable * chore: cleanup docs * chore: handle graceful shutdown for server start * chore: cleanup migration guide * chore: use configJsonFilename constant * chore: kill server once on up start * chore: remove logging nil error * chore: add fallback urls when only port is changed * chore: fix pr comments * chore: bring back api.PrimaryHost field chore: use fmt.Sprintf in buildFetchUrl func * chore: update wunderctl docs * chore: cleanup error handling chore: change assigning to intermediate variable to go routine with argument * chore: increment wunderctl version for migration file * chore: remove kill process from server start * chore: kill server only when read from config is successfull * chore: rework termination * chore: fix docs * chore: add note on how to add internal links * chore: fix docs tags for wunderctl-reference * chore: link option to default env variables * chore: fix webhooks tagging * chore: fix node host for docker file chore: change way of setting node host in docs/wundernode.md * chore: revert protobuf changes for open api base url as a string (#190) * chore: revert protobuf changes for open api base url as a string * chore: simplify obtaining base url * Rename wunderctl-0.107.0-0.108.0.md to wunderctl-0.109.1-0.110.0.md Co-authored-by: starptech <deusdustin@gmail.com> Co-authored-by: Jens Neuse <jens.neuse@gmx.de>
Commit: | 57107c7 | |
---|---|---|
Author: | Jens Neuse | |
Committer: | GitHub |
chore: switch baseURL to be string (#187) * chore: switch baseURL to be string * chore: generate with correct protoc version
Commit: | d015bb1 | |
---|---|---|
Author: | Yuri Buerov | |
Committer: | GitHub |
feat: oidc, allow passing additional query parameters to the IDP (#178) * feat: oidc, allow additional query params * feat: oidc, use config varable for query params name * feat: oidc, update proto * feat: oidc, add keycloak example * feat: oidc, update docs * feat: oidc, update docs * feat: oidc, update docs * feat: oidc, pr remarks
Commit: | dde5c23 | |
---|---|---|
Author: | Sergey Petrunin | |
Committer: | GitHub |
feat: move generated proto types into pkg/wgpb (#168) Co-authored-by: Dustin Deus <deusdustin@gmail.com> Co-authored-by: Jens Neuse <jens.neuse@gmx.de>
Commit: | 51df6e5 | |
---|---|---|
Author: | Jens Neuse | |
Committer: | GitHub |
feat: implement userId for fromClaim directive (#152) * chore: fix spaceX tests * feat: userId to fromClaim directive * chore: add typescript codegen to 'make codegen' * chore: add test case to verify userId claim * chore: add userId example to docs * chore: update snapshot
Commit: | a0b38bd | |
---|---|---|
Author: | Dustin Deus | |
Committer: | GitHub |
feat: native webhooks support (#126) * feat: implement native webhooks support Co-authored-by: Jens Neuse <jens.neuse@gmx.de>
Commit: | ad45089 | |
---|---|---|
Author: | starptech |
feat: implement verifier interface
Commit: | bf9e827 | |
---|---|---|
Author: | Jens Neuse | |
Committer: | GitHub |
feat: implement webhooks verifiers (#128) Co-authored-by: starptech <deusdustin@gmail.com>
Commit: | 670b081 | |
---|---|---|
Author: | starptech |
Merge branch 'dustin/eng-4-implement-generic-webhooks-eg-to' into feat/implement-webhooks-go # Conflicts: # pkg/apihandler/apihandler.go # pkg/node/node_test.go # pkg/webhookhandler/webhookhandler.go
Commit: | fdd3dbd | |
---|---|---|
Author: | Jens Neuse |
feat: implement sha256 webhook verifier
Commit: | 4e897d6 | |
---|---|---|
Author: | starptech |
chore: add comments
Commit: | 172fd71 | |
---|---|---|
Author: | Jens Neuse | |
Committer: | GitHub |
feat: implement webhook reverse proxy (#127)
Commit: | 3eb4abc | |
---|---|---|
Author: | Jens Neuse |
feat: implement reverse proxy to forward webhooks to fastify
Commit: | 983e553 | |
---|---|---|
Author: | Jens Neuse | |
Committer: | GitHub |
feat: add webhooks to WunderNode (#125)
Commit: | 9c240cc | |
---|---|---|
Author: | Sergey Petrunin |
chore: use string for protoset config var instead of bytes
Commit: | 91c1bd8 | |
---|---|---|
Author: | Sergey Petrunin | |
Committer: | Sergey Petrunin |
chore: tmp
Commit: | 31dc333 | |
---|---|---|
Author: | Sergey Petrunin | |
Committer: | Sergey Petrunin |
feat: add grpc datasource
Commit: | 737bc30 | |
---|---|---|
Author: | starptech |
first commit ⭐