krakend-ce

KrakenD Community Edition: High-performance, stateless, declarative, API Gateway written in Go.

APACHE-2.0 License

Stars
1.7K
Committers
26

Bot releases are hidden (Show)

krakend-ce - v2.1.2

Published by alombarte almost 2 years ago

What's Changed

Full Changelog: https://github.com/krakendio/krakend-ce/compare/v2.1.1...v2.1.2

krakend-ce -

Published by alombarte almost 2 years ago

What's changed

New Contributors

krakend-ce - v2.1.0

Published by kpacha about 2 years ago

What's Changed

Full Changelog: https://github.com/krakendio/krakend-ce/compare/v2.0.6...v2.1.0

krakend-ce - v2.0.6

Published by alombarte about 2 years ago

What's Changed

Full Changelog: https://github.com/krakendio/krakend-ce/compare/v2.0.5...v2.0.6

krakend-ce - v2.0.5

Published by alombarte over 2 years ago

What's Changed

New Contributors

Full Changelog: https://github.com/krakendio/krakend-ce/compare/v2.0.4...v2.0.5

krakend-ce - v2.0.4

Published by alombarte over 2 years ago

What's Changed

  • [bugfix] Corrected long integers during claim extraction (krakend-jose)
  • [bugfix] Deprecate Metadata() and instead use Header() and StatusCode() for response modifier plugins

Full Changelog: https://github.com/devopsfaith/krakend-ce/compare/v2.0.3...v2.0.4

krakend-ce - v2.0.3

Published by alombarte over 2 years ago

Changes in KrakenD

  • [security] Upgrade Go lang version to 1.17.9. Includes security fixes to the crypto/elliptic and encoding/pem packages
  • [bugfix]: Corrected response modifier interface to create req/resp plugins
  • [feature] Updated logo on command line :)
krakend-ce - v2.0.2

Published by alombarte over 2 years ago

Changes in KrakenD

  • [security] Add nmap scans on Makefile
  • [security] Dependencies updated
  • [bugfix] Other minor fixes and optimizations in Flatmap, Lua, Cobra, and AMQP components
  • [feature] Enabled DeepSource code scans
  • [bugfix] Ratelimit config must use snake_case keys instead of camelCase
  • [feature] Cobra: config parser exposed
  • [bugfix] Jose: use a mirror of go-auth0
  • [bugfix] Jose: Fix integer claim formatting
krakend-ce - v2.0.1

Published by alombarte over 2 years ago

Changes in KrakenD

  • [bugfix] Ratelimit using previous version syntax Fixes #451
  • [bugfix] Fixed AMQP logging
krakend-ce - v2.0.0

Published by alombarte over 2 years ago

Changes in KrakenD-CE

If you are an existing KrakenD user read "Migrating from KrakenD 1.x and 0.x.

What's new?

The most relevant additions and changes on KrakenD 2.0 are:

GraphQL

REST to GraphQL conversion, or direct consumption of GraphQL through the gateway. Use GraphQL to define new backend queries and expose them as regular REST endpoints to your clients, federate content. GraphQL documentation

New plugin types

The request/response plugin modifiers are two new types of Go plugins to directly modify requests and responses from and to backends, complementing the existing handler and client plugins. Users who are currently using custom logic in Lua scripts can boost its performance. Plugin modifier documentation

Configurable router flags

There are plenty of configurable router flags such as returning the gateway error to the client (e.g: a timeout), redirection options, automatic OPTIONS, better ways get the real IP (including through Trusted Proxies), or removing entries from the logs such as hiding the /__health endpoint. See all new router flags

More developer friendly

KrakenD has been always easy to configure, but we wanted to improve the logs and information available while developing:

  • The krakend check command adds now multiple levels of debug verbosity and colors for easier understanding of the configuration
  • A new command krakend check-plugin lets you check your custom plugins for compatibility
  • We have shortened and classified all extra_config namespaces, for better comprehension and usage of the components. When there was a URL-like component such as "github_com/devopsfaith/krakend-cors" now becomes a category/functionality such as "security/cors".
  • A new migration tool takes care of the transition from 0.x and 1.x to 2.x to make the process straightforward.
  • Better logs with more context. All log lines have been rewritten, adding a prefix grouping them with more information, like which endpoint or backend raised the line of a specific component.
  • Plugins with access to the logger: If you had custom plugins, now they can use the KrakenD logger to enrich your gateway output.
  • Alpine-based Docker image: Docker image extending from Alpine, making it a very lightweight image and without dragging all the security issues of larger containers like Debian.

Async agents

Prior to this version, any KrakenD activity was preceeded by a call to the API. Now, KrakenD is able to listen queues and act as a consumer or a producer on its own, without requiring an end-user request. For instance, when KrakenD detects that a new message has entered a queue (many technologies supported) it can trigger a call to a backend of your choice.

krakend-ce - v1.4.1

Published by alombarte over 3 years ago

Changes in KrakenD

  • [bugfix] Call to the opencensus HTTPExecutorFactory so it receives the backend configurations. Updated deps to use latest opencensus and lura version to include other bugfixes in the Lura framework.
  • [bugfix] Fix corner cases where the http cache could be ignored
krakend-ce - v1.4.0

Published by alombarte over 3 years ago

Changes in KrakenD

  • All dependencies for the framework moved to Lura
  • json-collection added as a valid output encoding for collections

Changes in Flexible Configuration

For those using the flexible configuration, there are over 70 Sprig functions that have been added to the templating system:

  • String Functions: trim, wrap, randAlpha, plural and more.
    • String List Functions: splitList, sortAlpha and more.
  • Integer Math Functions: add, max, mul and more.
    • Integer Slice Functions: until, untilStep
  • Float Math Functions: addf, maxf, mulf and more.
  • Date Functions: now, date and more.
  • Defaults Functions: default, empty, coalesce, fromJson, toJson, toPrettyJson, toRawJson, ternary
  • Encoding Functions: b64enc, b64dec and more.
  • Lists and List Functions: list, first, uniq and more.
  • Dictionaries and Dict Functions: get, set, dict, hasKey, pluck, dig, deepCopy and more.
  • Type Conversion Functions: atoi, int64, toString and more.
  • Path and Filepath Functions: base, dir, ext, clean, isAbs, osBase, osDir, osExt, osClean, osIsAbs
  • Flow Control Functions: fail
  • Advanced Functions
    • UUID Functions: uuidv4
    • OS Functions: env, expandenv
    • Version Comparison Functions: semver, semverCompare
    • Reflection: typeOf, kindIs, typeIsLike and more.
    • Cryptographic and Security Functions: derivePassword, sha256sum, genPrivateKey and more.
    • Network: getHostByName

See the documentation

Changes in krakend-jose (JWT)

  • Dependencies moved to Lura
  • Copy the key before adding it to the key mapper, so the latter doesn't override all the other entries
  • Test case for the single string role added
  • Added condition to avoid parsing namespaced claims as nested
  • Allow the propagation of nested claims using dot notation
  • Invert the order of the handler factories so the verifier can wrap the signer
  • TLS1.3 cipher suites added to the default set
  • Serialize the claims after extracting them
  • JWT/header propagation: replace existing values

Changes in krakend-lua

  • Dependencies moved to Lura
  • del operation for lists added
  • del method added to Lua tables
  • Check if the value is a json number before pushing it to the context
krakend-ce - v1.3.0

Published by alombarte over 3 years ago

  • [feature] Flexibleconfig upgraded
  • [bugfix] Remove unused variable from Makefile
  • [feature] Cleanup Makefile to create generic packages for rpm and deb. Remove alpine Dockerfile
  • [feature] golang version upgraded
  • [feature] support for namespaced role key
  • [feature] support for key_identify_strategy to allow different keys for JWK validation
  • [bugfix] integration test fixed
  • [feature] version updated
  • [feature] deps updated
  • [bugfix] vault and k8s versions fixed at the mod file
  • [feature] switch to direct downloads
  • [bugfix] Fix integration tests to reflect devopsfaith/krakend PR #448
  • [feature] Update krakend deps to latest version
  • [bugfix] Travis badge removed
  • [bugfix] Github actions added
  • [feature] Update linux versions
  • [feature] jose package upgraded
  • [feature] better error reporting added to the integration test runner
krakend-ce - v1.2.0

Published by alombarte about 4 years ago

  • [bugfix] Check that headers aren't nil on Lua scripts
  • [bugfix] Pub/sub module ignores empty hosts
  • [feature] Lua scripts can now send custom errors
  • [feature] The RunServer can be injected into the executor builder
  • [tests] Integration test for CORS with auto-redirects added
  • [feature] CORS mw for gin removed and added as a RunServer wrapper so it's always executed
  • [feature] Support for namespaced custom claims added
  • [tests] Added more integration tests
  • [feature] Bad request status code added on JSON Schema validation
  • [feature] Configuration can be overriden with KRAKEND_-like environment vars
  • [feature] Integration with Datadog
  • [feature] Add ca-certificates as dependency on debian
  • [feature] Allow "sequential proxy" to work with a POST, PUT and DELETE if there are only GET methods before (thanks to Alphyron)
  • [feature] Updated CEL engine with more features
  • [feature] Added a label name to circuit breakers to identify activity from different circuits in the logs and traces.
  • [feature] XML encoder supports now ISO-8859-1 encoding (in addition to UTF8)
krakend-ce - v1.1.1

Published by alombarte over 4 years ago

What's Changed

Full Changelog: https://github.com/krakendio/krakend-ce/compare/v1.1.0...v1.1.1

krakend-ce - v1.1.0

Published by alombarte over 4 years ago

Summary of changes

  • [bugfix] Corrected a bug in the httpsecure module.
  • [bugfix] Lambda context as base64 json-encoded context
  • [bugfix] Lua request and response helpers
  • [performance] Upgraded to Go 1.14
  • [performance] Optimization of the rate-limit module
  • [performance] Optimization of the load-balancer
  • [feature] Added Opencensus exporter to send metrics to Azure
  • [feature] Added Apache Kafka integration
  • [feature] FIFO HTTP handler plugin loader (adding more than one HTTP handler plugin to the gateway)
  • [feature] Add metrics for Go and process to Prometheus exporter (Thanks to Lucas Bremgartner)
  • [feature] Docker image supporting plugins (Thanks to Alexandr Hacicheant)
krakend-ce - 1.0.0

Published by alombarte about 5 years ago

Summary of changes

  • [upgrade] alpine version upgraded
  • [feature] dedicated plugin loader function added
  • [upgrade] upgrade to 1.13.1
  • [feature] return all headers from proxy response
  • [upgrade] integration tests extended
  • [upgrade] xml render improved
  • [feature] botdetector module added
  • [upgrade] send the XML response without a final line break
  • [feature] pass the gelf writer to the gin logger
  • [feature] lua module
  • [feature] support for handler plugins added
  • [upgrade] moving from dep to go mod
  • [feature] support for http request executor plugins added
  • [feature] krakend-lambda module added
  • [upgrade] opencensus upgraded to 0.21.0
  • [feature] pubsub module added
  • [upgrade] forward the user-agent header
krakend-ce - 0.9.0

Published by alombarte over 5 years ago

Summary of changes

  • [feature] AMQP client (producer and consumer)
  • [feature] Shadow proxy factory added to the proxy factory stack
  • [feature] CEL: upgraded to 0.2.0
  • [bugfix] Flexibleconfig: fix 'invalid cross-device link'
  • [feature] Flexibleconfig: accept partial templates
  • [feature] martian: status package included
  • [feature] ratelimit: cleanup unused limiters after some TTL
  • [feature] cobra: krakend check exits with a non zero status code when the configuration fails
  • [feature] usage: timeout added to every request
krakend-ce - 0.8.0

Published by alombarte over 5 years ago

Summary of changes

  • Updated to Go 1.12
  • A lot of improvements on the logging:
    • Startup logs
    • GELF formatter
    • Logstash logger integration
    • Added logging to the circuit breaker to warn every time the circuit is opened/closed
    • Metrics log removed
  • Forbidden and unauthorized responses
  • New CEL module (JWT, request and response)
  • Client headers are now case insensitive
  • Added a wildcard option to forward all query strings and headers to the backend
  • Possibility to include error details into the response
  • Etcd client updated to 3.3
  • Influx client updated
  • Reuse OAuth2 client sessions
  • JWK client supports local CA
  • Chained token rejecters
krakend-ce - 0.7.1

Published by alombarte over 5 years ago

Summary of changes:

  • CVE-2019-6486: Upgraded Go to 1.11.5 to make sure the crypto/elliptic Go bug does not affect KrakenD

Compare to 0.7.0

Package Rankings
Top 5.66% on Proxy.golang.org
Badges
Extracted from project README
FOSSA Status FOSSA Status