Releases: kedacore/http-add-on
v0.8.0
We are happy to release KEDA HTTP Add-on v0.8.0 🎉
New
- General: Add configurable TLS on the wire support to the interceptor proxy (#907)
- General: Add support for collecting metrics using a Prometheus compatible endpoint or by sending metrics to an OpenTelemetry's HTTP endpoint (#910)
- General: Propagate HTTPScaledObject labels and annotations to ScaledObject (#840)
- General: Provide support for allowing HTTP scaler to work alongside other core KEDA scalers (#489)
- General: Support aggregation windows (#882)
Fixes
- General: Ensure operator is aware about changes on underlying ScaledObject (#900)
Deprecations
You can find all deprecations in this overview and join the discussion here.
- General: Deprecated
targetPendingRequests
in favor ofspec.scalingMetric.*.targetValue
(#959)
Other
- General: Align with the new format of Ingress in the example demo (#979)
- General: Unify loggers (#958)
New Contributors
- @Rohithzr made their first contribution in #913
- @nikhilchintawar made their first contribution in #953
- @devopsdynamo made their first contribution in #929
- @fmarani made their first contribution in #967
- @JoeyC-Dev made their first contribution in #979
- @zorocloud made their first contribution in #927
Full Changelog: v0.7.0...v0.8.0
v0.7.0
Breaking Changes
New
- General: Support any resource which implements
/scale
subresource (#438)
Improvements
- General: Improve Scaler reliability adding probes and 3 replicas (#870)
Fixes
- General: Add new user agent probe (#862)
- General: Fix external scaler getting into bad state when retrieving queue lengths fails. (#870)
- General: Increase ScaledObject polling interval to 15 seconds (#799)
- General: Set forward request RawPath to original request RawPath (#864)
Deprecations
You can find all deprecations in this overview and join the discussion here.
New deprecation(s):
- General: Deprecated
KEDA_HTTP_DEPLOYMENT_CACHE_POLLING_INTERVAL_MS
in favor ofKEDA_HTTP_ENDPOINTS_CACHE_POLLING_INTERVAL_MS
(#438)
New Contributors
- @maxmoeschinger made their first contribution in #863
- @worldspawn made their first contribution in #873
- @werdnum made their first contribution in #876
Full Changelog: v0.6.0...v0.7.0
v0.6.0
New
- General: Add manifests to deploy the Add-on (#716)
Improvements
- Scaler: Decrease memory usage by allowing increasing stream interval configuration (#745)
Fixes
- Interceptor: Add support for streaming responses (#743)
- Interceptor: Fatal error: concurrent map iteration and map write (#726)
- Interceptor: Keep original Host in the Host header (#331)
- Interceptor: Provide graceful shutdown for http servers on SIGINT and SIGTERM (#731)
- Operator: Remove ScaledObject
name
&app
custom labels (#717) - Scaler: Provide graceful shutdown for grpc server on SIGINT and SIGTERM (#731)
- Scaler: Reimplement custom interceptor metrics (#718)
Deprecations
You can find all deprecations in this overview and join the discussion here.
New deprecation(s):
- General:
host
field deprecated in favor ofhosts
inHTTPScaledObject
(#552)
Other
- General: Adding a changelog validating script to check for formatting and order (#761)
- General: Skip not required CI checks on PRs on new commits (#801)
New Contributors
- @luckymrwang made their first contribution in #727
- @similark made their first contribution in #746
- @itayariel made their first contribution in #743
- @tommy351 made their first contribution in #745
Full Changelog: v0.5.0...v0.6.0
v0.5.0
This is the fifth beta release of the KEDA HTTP Addon. Please see the install documentation to get started.
Changelog
New
- Routing: Add multi-host support to
HTTPScaledObject
(#552) - Routing: Support path-based routing (#338)
- General: Log incoming requests using the Combined Log Format (#669)
Improvements
- General: Automatically tag Docker image with commit SHA (#567)
- RBAC: Introduce fine-grained permissions per component and reduce required permissions (#612)
- Operator: Migrate project to Kubebuilder v3 (#625)
- Routing: New routing table implementation that relies on the live state of HTTPScaledObjects on the K8s Cluster instead of a ConfigMap that is updated periodically (#605)
Fixes
- General: HTTPScaledObject is the owner of the underlying ScaledObject (#703)
- Routing: Lookup host without port (#608)
- Controller: Use kedav1alpha1.ScaledObject default values (#607)
- General: Changes to HTTPScaledObjects now take effect (#605)
Breaking Changes
- General: Pod selector labels have changed, this could force to uninstall the HTTP Add-on and reinstall it.
Deprecations
You can find all deprecations in this overview and join the discussion here.
New deprecation(s):
- General:
host
field deprecated in favor ofhosts
inHTTPScaledObject
(#552)
Previously announced deprecation(s):
- None.
Other
- General: Use kubernetes e2e images for e2e test and samples (#665)
- e2e tests: Use the same e2e system as in core (#686)
Contributions
- add CooldownPeriod to scaledobject template by @lucakuendig in #587
- chore(deps): bump actions/cache from 3.2.3 to 3.2.4 by @dependabot in #588
- chore: Introduce changelog by @tomkerkhove in #592
- fix(static checks): Remove whitespace by @JorTurFer in #593
- chore: Add Artifact Hub to release process by @tomkerkhove in #595
- chore(deps): bump google.golang.org/grpc from 1.52.1 to 1.52.3 (#589)Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Tom Kerkhove kerkhove.tom@gmail.com Co-authored-by: Jorge Turrado Ferrero jorge.turrado@scrm.lidl by @dependabot in #589
- chore(deps): bump sigs.k8s.io/controller-runtime from 0.14.1 to 0.14.2 (#590)Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> Co-authored-by: Jorge Turrado Ferrero jorge.turrado@scrm.lidl by @dependabot in #590
- chore(deps): bump sigs.k8s.io/controller-runtime from 0.14.2 to 0.14.4 (#597)Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> by @dependabot in #597
- feat: build an extra docker tag with commit sha by @JorTurFer in #596
- fix: Create copy of backoff struct by @abatilo in #598
- chore(deps): bump google.golang.org/grpc from 1.52.3 to 1.53.0 by @dependabot in #603
- chore(deps): bump actions/cache from 3.2.4 to 3.2.5 by @dependabot in #602
- fix(automation): Automatically add new issues to GitHub Project by @tomkerkhove in #604
- chore(deps): bump github.com/onsi/gomega from 1.26.0 to 1.27.1 by @dependabot in #606
- fix(automation): Automatically add new issues to GitHub Project (#614 by @tomkerkhove in #614
- routing: lookup host without port by @t0rr3sp3dr0 in #609
- chore(deps): bump github.com/stretchr/testify from 1.8.1 to 1.8.2 by @dependabot in #617
- chore(deps): bump actions/cache from 3.2.5 to 3.2.6 by @dependabot in #616
- controller: use kedav1alpha1.ScaledObject default values by @t0rr3sp3dr0 in #610
- rbac: narrow permissions by @t0rr3sp3dr0 in #613
- chore: bump deps by @JorTurFer in #624
- operator: upgrade kubebuilder to v3 by @t0rr3sp3dr0 in #626
- chore: Provide update on project status (#628 by @tomkerkhove in #628
- chore: use GH_AUTOMATION_PAT instead of GH_PROJECT_AUTOMATION_AUTH (#627) by @JorTurFer in #627
- chore(deps): bump actions/cache from 3.2.6 to 3.3.1 (#631)Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com> by @dependabot in #631
- chore(deps): bump github.com/kedacore/keda/v2 from 2.9.3 to 2.10.0 by @dependabot in #635
- chore(deps): bump github.com/onsi/ginkgo/v2 from 2.8.4 to 2.9.1 by @dependabot in #632
- chore(deps): bump google.golang.org/protobuf from 1.28.1 to 1.29.0 by @dependabot in #634
- chore(deps): bump google.golang.org/protobuf from 1.29.0 to 1.29.1 by @dependabot in #636
- chore: Remove v1.23 from e2e tests by @JorTurFer in #637
- chore(deps): bump actions/setup-go from 3 to 4 by @dependabot in #638
- chore: bump deps by @JorTurFer in #645
- Update ARM64 e2e test flow by @JorTurFer in #664
- chore(deps): bump actions/setup-python from 4.5.0 to 4.6.0 by @dependabot in #663
- chore(deps): bump golang.org/x/sync from 0.1.0 to 0.2.0 by @dependabot in #668
- chore(deps): bump github.com/onsi/ginkgo/v2 from 2.9.1 to 2.9.4 by @dependabot in #666
- fix: Use correct labels during e2e tests by @JorTurFer in #671
- feat: Move http scaled object from single host to multi host system by @jocelynthode in #674
- chore(deps): bump helm/kind-action from 1.5.0 to 1.7.0 by @dependabot in #679
- chore(deps): bump actions/setup-python from 4.6.0 to 4.6.1 by @dependabot in #688
- feat: use the same e2e system as in core by @JorTurFer in #686
- fix verify-codegen by @t0rr3sp3dr0 in #695
- fix: Verify manifest changes correctly by @JorTurFer in #692
- feat: Use
registry.k8s.io/e2e-test-images/agnhost
instead ofarschles/xkcd
by @JorTurFer in #693 - HTTPSO-based Routing Table by @t0rr3sp3dr0 in #669
- PathPrefix-based Routing by @t0rr3sp3dr0 in #677
- fix: HTTPScaledObject is the owner of the underlying ScaledObject by @JorTurFer in #704
New Contributors
- @lucakuendig made their first contribution in #587
- @abatilo made their first contribution in #598
- @t0rr3sp3dr0 made their first contribution in #609
- @jocelynthode made their first contribution in #674
Full Changelog: v0.4.0...v0.5.0
v0.4.0
This is the fourth beta release of the KEDA HTTP Addon. Please see the install documentation to get started.
The largest change in this release is the ARM64 support. This means that an HTTP Addon installation (e.g. scaler, interceptor, and operator) can be used in ARM64 nodes. There are also other changes related with bugfixes and quality improvements.
What's Changed
- Add TestStreamIsActive by @asw101 in #384
- Bump go.uber.org/zap from 1.20.0 to 1.21.0 by @dependabot in #394
- Bump google.golang.org/grpc from 1.43.0 to 1.44.0 by @dependabot in #390
- Bump github.com/onsi/gomega from 1.18.0 to 1.18.1 by @dependabot in #393
- Bump k8s.io/apimachinery from 0.23.2 to 0.23.3 by @dependabot in #392
- Bump k8s.io/api from 0.23.2 to 0.23.3 by @dependabot in #389
- fix shell typo in docs by @xinydev in #395
- fix documentation for creating an HTTPScaledObject by @iompo in #351
- Bump k8s.io/client-go from 0.23.2 to 0.23.3 by @dependabot in #391
- Fix scaler crash by @leska-j in #399
- calling fetchAndSaveCounts in the scaler after any interceptor deployment events by @arschles in #386
- Patching ScaledObjects in the operator when they already exist by @arschles in #402
- Bump sigs.k8s.io/controller-runtime from 0.11.0 to 0.11.1 by @dependabot in #406
- Bump k8s.io/apimachinery from 0.23.3 to 0.23.4 by @dependabot in #409
- Bump k8s.io/api from 0.23.3 to 0.23.4 by @dependabot in #407
- Bump github.com/go-logr/zapr from 1.2.2 to 1.2.3 by @dependabot in #410
- Bump k8s.io/client-go from 0.23.3 to 0.23.4 by @dependabot in #408
- Bump actions/checkout from 2 to 3 by @dependabot in #412
- Bump google.golang.org/grpc from 1.44.0 to 1.45.0 by @dependabot in #413
- adding @asw101 to codeowners by @arschles in #423
- Fixing concurrent map access panic in scaler by @arschles in #415
- Bump github.com/magefile/mage from 1.12.1 to 1.13.0 by @dependabot in #417
- Bump k8s.io/client-go from 0.23.4 to 0.23.5 by @dependabot in #420
- Bump github.com/go-logr/logr from 1.2.2 to 1.2.3 by @dependabot in #419
- Bump github.com/stretchr/testify from 1.7.0 to 1.7.1 by @dependabot in #421
- Bump github.com/onsi/gomega from 1.18.1 to 1.19.0 by @dependabot in #427
- Bump google.golang.org/protobuf from 1.27.1 to 1.28.0 by @dependabot in #426
- Bump actions/setup-go from 2 to 3 by @dependabot in #431
- Bump sigs.k8s.io/controller-runtime from 0.11.1 to 0.11.2 by @dependabot in #430
- Bump k8s.io/api from 0.23.5 to 0.23.6 by @dependabot in #434
- upgrading prometheus client by @arschles in #411
- Bump docker/login-action from 1 to 2 by @dependabot in #442
- Bump docker/setup-buildx-action from 1 to 2 by @dependabot in #441
- Bump docker/build-push-action from 2 to 3 by @dependabot in #440
- Bump google.golang.org/grpc from 1.45.0 to 1.46.0 by @dependabot in #437
- feat: Provide workflow to automatically add all issues to GitHub Project by @tomkerkhove in #445
- Bump sigs.k8s.io/controller-runtime from 0.11.2 to 0.12.0 by @dependabot in #452
- Bump google.golang.org/grpc from 1.46.0 to 1.46.2 by @dependabot in #451
- Bump k8s.io/apimachinery from 0.24.0 to 0.24.1 by @dependabot in #459
- Bump sigs.k8s.io/controller-runtime from 0.12.0 to 0.12.1 by @dependabot in #456
- updating interceptor section in developing.md by @Ritikaa96 in #450
- Bump k8s.io/client-go from 0.24.0 to 0.24.1 by @dependabot in #460
- Bump k8s.io/api from 0.24.0 to 0.24.1 by @dependabot in #458
- docs: Provide information concerning roadmap by @tomkerkhove in #461
- Bump github.com/stretchr/testify from 1.7.1 to 1.7.2 by @dependabot in #463
- Bump google.golang.org/grpc from 1.46.2 to 1.47.0 by @dependabot in #462
- Update all references to HTTP Add-on / add-on by @asw101 in #465
- docs: Provide capability to become listed end-users by @tomkerkhove in #466
- Local testing documentation added to contributing.md by @Ritikaa96 in #467
- Upgrading to go 1.18 by @arschles in #416
- Bump k8s.io/api from 0.24.1 to 0.24.2 by @dependabot in #472
- Bump k8s.io/client-go from 0.24.1 to 0.24.2 by @dependabot in #470
- Bump github.com/stretchr/testify from 1.7.2 to 1.7.4 by @dependabot in #474
- Fix minor errors in magefile. by @v-shenoy in #464
- Bump github.com/stretchr/testify from 1.7.4 to 1.7.5 by @dependabot in #478
- Add e2e test in build workflows by @JorTurFer in #429
- Bump github.com/stretchr/testify from 1.7.5 to 1.8.0 by @dependabot in #480
- Bump Azure/setup-helm from 1 to 3 by @dependabot in #479
- Bump sigs.k8s.io/controller-runtime from 0.12.1 to 0.12.2 by @dependabot in #477
- Bump google.golang.org/grpc from 1.47.0 to 1.48.0 by @dependabot in #485
- Bump k8s.io/api from 0.24.2 to 0.24.3 by @dependabot in #488
- Bump sigs.k8s.io/controller-runtime from 0.12.2 to 0.12.3 by @dependabot in #486
- Bump k8s.io/client-go from 0.24.2 to 0.24.3 by @dependabot in #487
- Bump github.com/onsi/gomega from 1.19.0 to 1.20.0 by @dependabot in #491
- Bump google.golang.org/protobuf from 1.28.0 to 1.28.1 by @dependabot in #493
- Misc. doc changes for consistency and clarity. by @v-shenoy in #496
- Bump github.com/onsi/gomega from 1.20.0 to 1.20.2 by @dependabot in #508
- docs: HTTP add-on is on hold and looking for contributors by @tomkerkhove in #524
- feat(docs): Publish current documentation to GitHub Pages by @tomkerkhove in #547
- use relative links for going back by @JorTurFer in #548
- feat: expose cooldownPeriod param to httpScaledObject by @someshkoli in #563
- chore: Update codeowners by @tomkerkhove in #565
- feat: use make for scripting unifying the KEDA tools by @JorTurFer in #564
- chore: Bump deps and go version by @JorTurFer in #572
- feat: Add ARM64 support by @JorTurFer in #573
- chore(deps): bump helm/kind-action from 1.4.0 to 1.5.0 by @dependabot in #574
- chore(deps): bump actions/cache from 3.2.2 to 3.2.3 by @dependabot in #575
- chore: bump deps by @JorTurFer in #581
- Add missing changes for rbac-proxy and remove unused code by @JorTurFer in #583
- chore: add golangci-lint by @JorTurFer in #584
New Contributors
Version 0.3.0
This is the third beta release of the KEDA HTTP Addon. Please see the install documentation to get started.
The largest change in this release is that operators now have the option of running a single cluster-global installation. This means that an HTTP Addon installation (e.g. scaler, interceptor, and operator) can now be scoped either to one namespace, or the entire cluster. The latter case is called a cluster-global install. If you do want to run a cluster-global HTTP Addon, you must:
- Not run any other KEDA HTTP Addon installations, even if they are scoped to one namespace
- Also run a cluster-global installation of KEDA itself
Breaking changes
There are no backward-incompatible changes to HTTPScaledObject
s. However, there is a breaking change to the internal URL routing table. To overcome this, please delete your HTTP Addon installation (using helm delete
if you're using the Helm chart) and re-install it at the 0.3.0
version.
Other significant changes
While the cluster-global feature is the biggest in this release, we have made several internal improvements such as:
- Using the Kubernetes client library's informer framework in #326 (thanks to @tpiperatgod)
- The ability to restore the target
Deployment
to its original replica count after deleting the associatedHTTPScaledObject
in #339 (thanks to @tpiperatgod) - Compiling operator, interceptor and scaler with the SHA of the source code they were built with, and adding an HTTP endpoint to each process's admin server to output this information in #377 (thanks to @asw101)
- Returning a custom header for all requests that triggered a "cold start" (i.e. scaling up from 0 replicas) in #366 (thanks to @asw101)
What's Changed
- Bump k8s.io/api from 0.22.2 to 0.22.3 by @dependabot in #307
- Bump sigs.k8s.io/controller-runtime from 0.10.1 to 0.10.3 by @dependabot in #317
- Updating the release process document with correct order of operations by @arschles in #327
- Bump k8s.io/apimachinery from 0.22.3 to 0.22.4 by @dependabot in #328
- Bump k8s.io/client-go from 0.22.2 to 0.22.4 by @dependabot in #329
- Bump google.golang.org/grpc from 1.41.0 to 1.42.0 by @dependabot in #312
- Add configMap informer by @tpiperatgod in #326
- Restore target to original replica count after deleting httpscaledobject resource. by @tpiperatgod in #339
- Upgrading images to use Go 1.17.2 by @arschles in #349
- Adding documentation for how to issue curl requests by @arschles in #347
- chore: Allow blank issues by @tomkerkhove in #352
- Bump github.com/magefile/mage from 1.11.0 to 1.12.1 by @dependabot in #360
- Bump google.golang.org/grpc from 1.42.0 to 1.43.0 by @dependabot in #358
- converting bug report issue template to a form issue by @arschles in #363
- Allowing cluster-global operation by @arschles in #269
- Return custom header when request was returned from a cold start by @asw101 in #366
- Updating dependencies by @arschles in #348
- Bump go.uber.org/zap from 1.19.1 to 1.20.0 by @dependabot in #362
- Bump github.com/go-logr/zapr from 0.4.0 to 1.2.2 by @dependabot in #357
- Bump k8s.io/apimachinery from 0.23.1 to 0.23.2 by @dependabot in #376
- Bump k8s.io/client-go from 0.23.1 to 0.23.2 by @dependabot in #375
- Compile binaries and docker images with git SHA by @asw101 in #377
- Bump github.com/onsi/gomega from 1.17.0 to 1.18.0 by @dependabot in #378
- Configure WhiteSource Bolt for GitHub by @whitesource-bolt-for-github in #379
- adding targetPendingRequests to the xkcd helm chart by @arschles in #373
- fixing targetPendingRequests in the HTTPScaledObject v0.2.0 documenta… by @arschles in #372
New Contributors
- @tpiperatgod made their first contribution in #326
- @asw101 made their first contribution in #366
- @whitesource-bolt-for-github made their first contribution in #379
Full Changelog: v0.2.0...v0.3.0
Version 0.2.0
This is the second beta release of the KEDA HTTP Addon. Please see the install documentation to get started.
The largest change in this release is that the interceptor and scaler components are now multi-tenant, which means:
- One scaler runs per namespace, and handles all
HTTPScaledObject
s in that namespace - One fleet of interceptors runs per namespace and handles all of the applications in that namespace. A fleet is defined as a
Deployment
of interceptors that are scaled by KEDA itself. The HTTP Addon external scaler tells KEDA how to scale the fleet.
Note: there is work pending in #240 to extend this multi-tenancy to out of the namespace scope and into the cluster-global scope
This is a beta release, we invite you to try it out and file issues if you find any bugs or have an idea for a feature you would like to see.
Changes to HTTPScaledObject
s
With this release, interceptors and scalers can scale and serve 1 or more backing applications rather than just one, as was possible in v0.1.0
and before.
To route incoming HTTP requests properly, the interceptors need to be able to map any arbitrary request to a backing application or reject the request if there is no application installed to handle it. You must provide this information in every HTTPScaledObject
that you submit.
There is a new spec.host
field that you are required to include. This field informs interceptors that all requests for the host you provide should be forwarded to the application you specify in the scaleTargetRef
.
targetPendingRequests
There is a second new field called spec.targetPendingRequests
. It is optional and unrelated to the above routing functionality.
Please see the v0.2.0 HTTPScaledObject
reference documentation for more details on this field.
Other Significant Changes
- Comprehensive debugging endpoints on all three components. See developer.md for more details
- More comprehensive unit and integration tests
- Automatically scaling the interceptor fleet
- Adding the ability to specify the target metric for any application, and for the interceptor fleet
Known Issues
- When you change certain fields on an already existing
HTTPScaledObject
, the operator may not update the correspondingScaledObject
(#323). To work around this, please delete and re-create theHTTPScaledObject
with the updated fields. This will be fixed in a patch release (e.g.v0.2.1
)
Full Changelog
- Fixing kubectl command in walkthrough documentation by @arschles in #205
- Checking for type assertion success by @arschles in #181
- Adding GOOS and GOARCH to the Dockerfiles by @arschles in #186
- Removing the Makefile by @arschles in #194
- Factoring the HTTP Transport out of the forwarder by @arschles in #184
- Bump github.com/onsi/gomega from 1.13.0 to 1.14.0 by @dependabot in #208
- Bump github.com/labstack/echo/v4 from 4.3.0 to 4.4.0 by @dependabot in #209
- Bump google.golang.org/protobuf from 1.26.0 to 1.27.1 by @dependabot in #207
- adding release process document by @arschles in #211
- chore: KEDA was accepted as CNCF Incubation project by @tomkerkhove in #229
- Added targetMetric field in CRD by @ajanth97 in #168
- Bump github.com/onsi/gomega from 1.14.0 to 1.15.0 by @dependabot in #220
- Bump github.com/labstack/echo/v4 from 4.4.0 to 4.5.0 by @dependabot in #215
- Bump github.com/onsi/gomega from 1.15.0 to 1.16.0 by @dependabot in #237
- Multi-tenant interceptor and scaler by @arschles in #206
- Bump github.com/google/uuid from 1.1.2 to 1.3.0 by @dependabot in #254
- Bump go.uber.org/zap from 1.17.0 to 1.19.0 by @dependabot in #251
- Documenting the targetPendingRequests field by @arschles in #233
- Adding Ajanth as a code owner by @arschles in #256
- Bump go.uber.org/zap from 1.19.0 to 1.19.1 by @dependabot in #260
- Specifying target in scaler for specific host by @arschles in #242
- Bump sigs.k8s.io/controller-runtime from 0.9.2 to 0.10.0 by @dependabot in #253
- Removing old conflict from ref doc by @arschles in #261
- Bump k8s.io/client-go from 0.22.1 to 0.22.2 by @dependabot in #265
- Bump google.golang.org/grpc from 1.38.0 to 1.40.0 by @dependabot in #264
- Bump google.golang.org/protobuf from 1.26.0 to 1.27.1 by @dependabot in #252
- Using external push scalers in the generated scaled objects by @arschles in #255
- Add contribution guide by @arschles in #267
- Bump sigs.k8s.io/controller-runtime from 0.10.0 to 0.10.1 by @dependabot in #268
- Adding configurability to the interceptor's HTTP round tripper by @arschles in #250
- Bump google.golang.org/grpc from 1.40.0 to 1.41.0 by @dependabot in #270
- adding devcontainer files by @arschles in #232
- Fixing typo in go comment by @arschles in #288
- Removing ingress option on xkcd chart by @arschles in #289
- Removing double sleep in scaler handler test by @arschles in #290
- Handling host value of "interceptor" in GetMetricSpec by @ajanth97 in #273
- chore: Provide configuration for automatically closing inactive issues by @tomkerkhove in #298
- Consolidating the scaler GetMetricSpec tests into one table-driven test by @arschles in #295
- Adding config endpoints on admin servers for scaler, interceptor and operator by @arschles in #280
- Checking for deployment equality in deployment cache by @arschles in #275
- Adding test for 'interceptor' as host in GetScalerMetrics by @arschles in #294
- Adding a fake controller-runtime Client implementation and improving operator tests by @arschles in #247
- using ServeContext for all production HTTP servers by @arschles in #292
- Refactoring concurrency in scaler's pending HTTP queue fetcher logic by @arschles in #291
- Follow-up tests for multi-tenant work by @arschles in #279
- swapping watch broadcaster channel behavior by @arschles in #283
- Adding test for interceptor headers and redirection by @arschles in #258
- spelling fix: KNative -> Knative by @zroubalik in #303
- Bump github.com/onsi/ginkgo from 1.16.4 to 1.16.5 by @dependabot in #299
- Small issues with install.md by @arschles in #304
- Adding proper nginx-ingress annotation to the xkcd chart's ingress resource by @arschles in #309
- Fixing issue 271 by @ajanth97 in #300
- Fixing links to ghcr by @arschles in #301
- Bump github.com/onsi/gomega from 1.16.0 to 1.17.0 by @dependabot in #311
- fixing release script for interceptor and scaler by @arschles in #314
- Fixing operator startup by @arschles in #315
- Correcting install guide for keda by @Ritikaa96 in #319
- running go mod tidy by @arschles in #320
- Adding release instructions for artifact hub by @arschles in #318
New Contributors
- @ajanth97 made their first contribution in #168
- @zroubalik made their...
Version 0.1.0
This is the first beta version of the KEDA HTTP Add-on! It's been a while since our last release, which was 0.0.1. Since then, we've made big improvements to nearly every area of this project.
If you'd like to get started right away, please see the walkthrough documentation for this release.
Otherwise, below is a list of some of the most significant changes in this release.
HTTPScaledObject
changes
Note: there is a breaking change to the
HTTPScaledObject
spec
field in this release. Please see the last bullet point of this section for more details
- The status field of
HTTPScaledObject
s is now automatically populated (by the operator) with more details on the progress of your deployment (#47) - You get more control over how your app is scaled, including specifying the minimum and maximum replicas (#85),
- The HTTP Add-on operator no longer controls your application's
Deployment
orService
resources. You have full control over creating, updating or removing your application components, and the HTTP Add-on won't touch them anymore (#78)- This is a breaking change. Most old
HTTPScaledObject
spec
fields will not work with this release
- This is a breaking change. Most old
Logistics changes
- All container images for the HTTP Add-on are pushed to GitHub Container Registry now, rather than Docker Hub. Links are provided below:
- Our container images are now based on the
scratch
base image (#41), reducing the overall attack surface area of running HTTP Add-on pods - The helm chart is now hosted in the same chart repository as the chart for KEDA Core. See the chart source at github.com/kedacore/charts/tree/master/http-add-on
- We've added significant test coverage (#43)
Local development environment changes
- The previous
Makefile
has been removed in favor of magefiles in #89- This change allows us to provide HTTP Add-on developers a consistent, fast, and reliable experience across platforms
- We're also now able to provide more complex build tasks, including building and pushing container images to GitHub Container Registry in parallel
Documentation changes
- We've done several major documentation improvements, including adding an FAQ (#71), outlining the scope of functionality of the HTTP Add-on (#81), and use cases (#81)
- We've also added a document ensuring that this project has a pointer to the
kedacore
-wide code of conduct (#178)
Thanks
This project is young at the moment, and we have a wonderful and growing community. Special thanks to @ajanth97 and @khaosdoctor for their contributions.
We have a lot of features pending in this project, and we welcome new contributors to help build them. We also have documentation to write, issues to fix, and plenty of other things to do to otherwise push the KEDA HTTP Add-on project forward.
If you're interested in contributing in any way, we are willing to help you get started. Please send a direct message to arschles
in the Kubernetes slack group indicating your interest.
KEDA HTTP Alpha 1
Alpha 1 is the first official release of the KEDA HTTP Add On, and is intended as a preview for developers. With this release, we're inviting community members to try out the technology, report bugs, and generally give us feedback.
This is alpha quality software and we can't make any guarantees on its stability right now. Please do not run this code for production use cases, in a production Kubernetes cluster, or in any other production settings.
Images for this release can be found at the following locations under the v0.0.1
tag:
ghcr.io/kedacore/http-add-on-operator
ghcr.io/kedacore/http-add-on-scaler
ghcr.io/kedacore/http-add-on-interceptor
About Alpha 1
This project began as a prototype built on top of KEDA, hosted outside of the kedacore
GitHub organization, and has transformed as an official addition to KEDA, hosted at github.com/kedacore/http-add-on. During that transformation, we believe that we've designed a high quality, cloud-native architecture with the help of several contributors across the community, and have begun implementing it.
We encourage you to try the software out in your own non-production Kubernetes clusters and tell us what you think and/or contribute back.
Thanks to Contributors
There are several notable contributors for this release. These people had a role in taking this project from a tiny prototype to this point: