Releases: kyma-project/serverless
1.5.0
What has changed
Serverless v1.5.0 introduces changes regarding function resource management. We have changed the default preset for requested resources for function builds. Now, it demands less CPU time by default. Related to that, we have exposed the resource-related configuration in Kyma Dashboard.
We have also added support to ESM syntax in Node.js Functions. This allows you to pick whether to include the dependencies using the import/export or require(...)statement. Follow the examples to learn how to toggle between EMS and CommonJS.
Implemented enhancements:
- Bump Sec Scanner Config (#846) by @Cortey
- Remove not used env (#841) by @dbadura
- Cleanup function webhook from helm chart values (#853) by @kwiatekus
- Upgrade the helm dependency version (#854) by @pPrecel
- Improve makefiles (#845) by @dbadura
- Upgrade project go version (#870) by @pPrecel
- Serverless Promote Release Workflow (#871) by @Cortey
- chore: Bump nodejs runtimes base images (#872) by @kwiatekus
- Disable custom user docker registry configuration that bypasses serverless CR spec (#868) by @kwiatekus
- gomod(deps): bump github.com/go-git/go-git/v5 from 5.11.0 to 5.12.0 (#842) by @dependabot[bot]
- manager(deps): bump golang from 1.22.1-alpine3.19 to 1.22.2-alpine3.19 in /components/serverless/deploy/manager (#860) by @dependabot[bot]
- npm-nodejs18(deps): bump the opentelemetry group in /components/runtimes/nodejs/nodejs18 with 5 updates (#861) by @dependabot[bot]
- npm-nodejs20(deps): bump the opentelemetry group in /components/runtimes/nodejs/nodejs20 with 5 updates (#863) by @dependabot[bot]
- gomod(deps): bump the k8s-io group with 5 updates (#864) by @dependabot[bot]
- gomod(deps): bump golang.org/x/sync from 0.6.0 to 0.7.0 (#866) by @dependabot[bot]
- Upgrade python runtimes dependencies (#874) by @pPrecel
- jobinit(deps): bump golang from 1.22.1-alpine3.19 to 1.22.2-alpine3.19 in /components/serverless/deploy/jobinit (#859) by @dependabot[bot]
- gomod(deps): bump golang.org/x/crypto from 0.21.0 to 0.22.0 (#865) by @dependabot[bot]
- Serverless local target (#850) by @dbadura
- Enable gitleaks check (#873) by @kwiatekus
- Add Halamix2 to codeowners (#876) by @halamix2
- Add missing space (#877) by @pPrecel
- Update deprecated Port fields (#878) by @halamix2
- Use right go version in release action (#879) by @pPrecel
- Update Reuse repo link (#882) by @halamix2
- Use correct env for GH tools bot (#883) by @Cortey
- Update links used in readme.md for Reuse tool (#884) by @halamix2
- bump docker (#880) by @halamix2
- Adjust busola extension to have dependancies as string (#875) by @akucharska
- Add debug log when serverless status is updating (#885) by @pPrecel
- Update jobs name to more descriptive ones and add Gitleaks to testing strategy (#889) by @Cortey
- Add required env to GH Cli command (#890) by @Cortey
- Fix typo in promote release workflow (#891) by @Cortey
- Add Config to the promote workflow (#892) by @Cortey
- Remove obsolete config from promotion pipeline (#893) by @Cortey
- Add Env to promote workflow as workaround (#894) by @Cortey
- Move make target to root makefile (#895) by @Cortey
- Implement integration-test scaffold (#896) by @pPrecel
- Create namespace for integration-test (#897) by @pPrecel
- Warn if dead fields are used by @kwiatekus
- Add basic (CRUD) serverless operations to main test scenario (#898) by @pPrecel
- linting issue by @kwiatekus
- Merge pull request #900 from kwiatekus/warn-about-dead-fields by @kwiatekus
- Disable md checks for shields and reuse links (#910) by @pPrecel
- Cleanup deprecated image pull secret configuration (#909) by @kwiatekus
- Always run specified GH Actions (#908) by @Cortey
- Test with k8s v1.29.3 (#913) by @kwiatekus
- Cleanup hack/Makefile (#907) by @pPrecel
- Improve upgrade tests (#912) by @pPrecel
- pip-python312(deps): bump setuptools from 69.2.0 to 69.5.1 in /components/runtimes/python/python312 (#888) by @dependabot[bot]
- pip-python39(deps): bump setuptools from 69.2.0 to 69.5.1 in /components/runtimes/python/python39 (#887) by @dependabot[bot]
- Change "workspace" to "app" (#919) by @Cortey
- Revert "Change "workspace" to "app" (#919)" (#920) by @halamix2
- Add operator integration test (#911) by @pPrecel
- Bump controller-runtime and k8s (#915) by @halamix2
- Cleanup temporary repository files (#916) by @halamix2
- Revert changes in GH workflow (#926) by @Cortey
- Update testing strategy document (#921) by @pPrecel
- Print post-test cluster-info (#924) by @pPrecel
- Increase operator integration test retry timeout (#930) by @pPrecel
- Upgread K8S version (#931) by @pPrecel
- Prapare images to be usable in ADO build jobs (#927) by @halamix2
- Fix image permission after switch to ADO (#933) by @halamix2
- Improve fn tag calculation (#929) by @pPrecel
- Add real local target (#928) by @dbadura
- Mute the
k3d registry create
help (#950) by @pPrecel - gomod(deps): bump helm.sh/helm/v3 from 3.14.3 to 3.14.4 (#886) by @dependabot[bot]
- npm-nodejs20(deps): bump the opentelemetry group in /components/runtimes/nodejs/nodejs20 with 5 updates (#936) by @dependabot[bot]
- pip-python312(deps): bump cheroot from 10.0.0 to 10.0.1 in /components/runtimes/python/python312 (#937) by @dependabot[bot]
- pip-python39(deps): bump cheroot from 10.0.0 to 10.0.1 in /components/runtimes/python/python39 (#939) by @dependabot[bot]
- npm-nodejs18(deps): bump the opentelemetry group in /components/runtimes/nodejs/nodejs18 with 5 updates (#940) by @dependabot[bot]
- gomod(deps): bump github.com/onsi/gomega from 1.32.0 to 1.33.0 (#903) by @dependabot[bot]
- gomod(deps): bump github.com/onsi/ginkgo/v2 from 2.17.1 to 2.17.2 (#935) by @dependabot[bot]
- Show warning in UI when internal docker registry is configured (#946) by @kwiatekus
- gomod(deps): bump github.com/onsi/gomega from 1.33.0 to 1.33.1 (#952) by @dependabot[bot]
- gomod(deps): bump sigs.k8s.io/controller-runtime from 0.17.3 to 0.17.4 (#953) by @dependabot[bot]
- Move setup go to separate action (#956) by @MichalKalke
- Move create single cluster to seperate action (#957) by @MichalKalke
- Bump rc-tag (#958) by @halamix2
- Move lint to separate file (#955) by @MichalKalke
- Add sample function using ESM node syntax (#967) by @kwiatekus
- Add Hint about SSH URL when defining git functions from provate repos (#968) by @kwiatekus
- extract common pull/push part in verification github actions (#963) by @anoipm
- Adjust testing strategy after refactor of gh tests (#970) by @anoipm
- Allow for mjs imports in nodejs functions (#965) by @kwiatekus
- Create the
rebase
action (#959) by @pPrecel - Cover case when the
main
branch exists (#972) by @pPrecel - Add inline hint how to switch to mjs syntax (#966) by @kwiatekus
- Cleanup unused configuration fields (#899) by @kwiatekus
- Fix bug when updating main (#973) by @pPrecel
- Add architecture diagram (#960) by @dbadura
- small improvements in gh actions (#974) by @anoipm
- adjust testing strategy (#975) by @anoipm
- Improve ifology (#565) by @dbadura
- gomod(deps): bump sigs.k8s.io/controller-runtime from 0.17.4 to 0.17.5 (#977) by @dependabot[bot]
- manager(deps): bump golang from 1.22.2-alpine3.19 to 1.22.3-alpine3.19 in /components/serverless/deploy/manager (#976) by @dependabot[bot]
- gomod(deps): bump github.com/onsi/ginkgo/v2 from 2.17.2 to 2.17.3 (#978) by @dependabot[bot]
- gomod(deps): bump golang.org/x/crypto from 0.22.0 to 0.23.0 (#979) by @dependabot[bot]
- jobinit(deps): bump golang from 1.22.2-alpine3.19 to 1.22.3-alpine3.19 in /components/serverless/deploy/jobinit (#981) by @dependabot[bot]
- operator(deps): bump golang from 1.22.2 to 1.22.3 in /components/operator (#982) by @dependabot[bot]
- gomod(deps): bump github.com/prometheus/client_golang from 1.19.0 to 1.19.1 (#980) by @dependabot[bot]
- extract version of go to input in action setup-go (#962) by @anoipm
- Add cloud events contract tests diagram (#984) by @dbadura
- npm-nodejs20(deps): bump @opentelemetry/instrumentation-express from 0.38.0 to 0.39.0 in /components/runtimes/nodejs/nodejs20 in the opentelemetry group (#986) by @dependabot[bot]
- npm-nodejs18(deps): bump @opentelemetry/instrumentation-express from 0.38.0 to 0.39.0 in /components/runtimes/nodejs/nodejs18 in the opentelemetry group (#987) by @dependabot[bot]
- gomod(deps): bump the k8s-io group with 5 updates (#989) by @dependabot[bot]
- Bump requests from 2.31.0 to 2.32.2 in /examples/python-text2img (#991) by @dependabot[bot]
- Bump alpine to 3.20 (#992) by @halamix2
- Unify CR description in Kyma dashboard (#988) by @mmitoraj
- Fix gitserver version (#999) by @pPrecel
- Change default build job preset to normal (#990) by @kwiatekus
- Include build configuration in busola config (#994) by @kwiatekus
- Deprecate kyma provision gardener (#1000) by @halamix2
- Static apache2 version in the gitserver image (#1001) by @pPrecel
- Fix Gardener provisioning (#1002) by @halamix2
- pip-python39(deps): bump setuptools from 69.5.1 to 70.0.0 in /components/runtimes/python/python39 (#996) by @dependabot[bot]
- gomod(deps): bump github.com/onsi/ginkgo/v2 from 2.17.3 to 2.19.0 (#995) by @dependabot[bot]
- pip-python312(deps): bump setuptools from 69.5.1 to 70.0.0 in /components/runtimes/python/python312 (#997) by @dependabot[bot]
- upgrade dependencies by @ottersbot
New contributors
- @akucharska made first contribution in (#875)
- @dependabot[bot] made first contribution
- @halamix2 made first contribution in (#494)
- @mmitoraj made first contribution in (#988)
Full changelog: 1.4.4...1.5.0
1.4.4
What has changed
- chore: Security updates (#917) by @kwiatekus
- Revert image workspace change to release 1.4 (#922) by @halamix2
- Cleanup temporary repository files (#916) in release 1.4 (#925) by @halamix2
- upgrade dependencies by @ottersbot
- Prepare images to be usable in ADO build jobs (#927) in release-1.4 (#932) by @halamix2
- Fix image permission after switch to ADO (#933) - fix for 1.4 branch (#934) by @halamix2
- Cherry-pick: chore: Bump nodejs runtimes base images (#944) by @pPrecel
- Cherry-Pick: Improve fn tag calculation (#929) (#948) by @pPrecel
- upgrade dependencies by @ottersbot
- chore: Update dependencies (#954) by @kwiatekus
- upgrade dependencies by @ottersbot
New contributors
- @akucharska made first contribution
Full changelog: 1.4.3...1.4.4
1.4.3
What has changed
- Cleanup deprecated image pull secret configuration (#909) (#914) by @kwiatekus
- upgrade dependencies by @ottersbot
New contributors
- @akucharska made first contribution
Full changelog: 1.4.2...1.4.3
1.4.2
What has changed
- Cherry-pick: Upgrade the helm dependency version (#854) (#855) by @pPrecel
- upgrade dependencies by @ottersbot
Full changelog: 1.4.1...1.4.2
1.4.1
What has changed
- Update sec-scanners-config.yaml by @Cortey
- Merge main to 1.4 (#851) by @Cortey
- upgrade dependencies by @ottersbot
Full changelog: 1.4.0...1.4.1
1.4.0
What has changed
With this update, we are introducing new versions of Node.js (v20) and Python (v3.12) Serverless runtimes. At the same time, we deprecated Node.js v18 and Python 3.9 runtimes. Please migrate your Functions to the latest runtime versions.
In addition, now the Serverless operator watches the number of Kubernetes worker nodes and uses smaller presets for the Function's build-time and runtime resources on smaller Kubernetes clusters.
Implemented enhancements:
- Add nodejs 20 runtime #800
- Smart function presets defaulting #722
- Migrate serverless integration tests #683
- Move libgit2 installation to seperate action #635
- Improve the
verify-serverless
target logging #633 - Use latest k3s in serverless CI tests #595
- Move the
check-serverless-availability
target to theverify-serverless
#586 - Rename workflow checking if developer doesn't change main images #577
- Migrate upgrade test #575
- Move gardener integration test #569
- Migrate lint operator job #566
- Add serverless verify to github action #558
- Remove secrets and configmaps from the cache #549
- Remove unused files #548
- disable webhooks #543
- add git repo url validation in controller #539
- Move Git auth type validation to controller #536
- Move Git secretName validation to controller #535
- Automatically swap images for local development #526
- Create dev and release dockerfiles for operator #523
- Increase release verify timeouts #522
- Add missing IMG env to the
release.sh
file #521 - Fix release checkout #520
- Fix update-sec-scanners-config.sh #519
- Fix release job and change script #518
- Remove job requirement from verify-head-status #517
- Removed unnecessary steps from release flow #516
- remove object meta validation from webhook #515
- move baseDir and reference validations to x-kubernetes-validations #514
- Block PR is developer changed main tag #513
- Release values autobump #511
- Automate integration tests #510
- remove checking function type in webhook #509
- Validate labels and annotations to controller #504
- move validation of inline source dependencies #502
- move source validation from webhook to x-kubernetes-validations #498
- Move asset generation and verification to a Github Step (Propagating changes to main branch) #495
- Validate secret mounts to controller #493
- remove sources validation from webhook #491
- remove runtime validation from webhook #483
- add x-kubernetes-validations tests template field #482
- Remove templates from function's api #481
- Move prow job to Github Step #479
- remove resources validation from webhook #478
- Remove the
.version
file #477 - remove env validation from webhook #476
- improve verify images script #475
- Remove the
moduletemplate.yaml
asset from release #472 - Use branch name instead of latest word #467
- Exclude module-manifest from serverless upgrade test scenario #465
- No need to generate module-template as release asset #461
- Remove redundant unit test step from release flow #456
- Remove '-it' from docker run #454
- Handle no GH actions to check in release flow #452
- add paths which should be checked for gardener integration test #448
- Bump Action to whitelisted Version #440
- Dynamically exclude namespaces #430
- add configuration for golangci-lint #422
- Adjust path to Makefile in release.sh #421
- Use sec-scanners-config during the release #416
- Don't use sec-scanners-config to build moduletemplate on pre/post submit #414
- Run runtimes builds #406
- Use latest tags in sec-scanners-config on main #405
- Enable Markdown Link Check in the Serverless repo #404
- Rich Changelog generation #398
- namespaced scope secrets warning #382
- Align the default Serverless name to the agreed format #376
- Move github actions scripts to .github/scripts #357
- Move
serverless-manager
config files toconfig/operator
#350
Fixed bugs:
- Add missing clusterrole verbs #835
- Fix opentelemetry api import for SpanStatusCodes #817
- Bump controller-gen #812
- Add flag to ignore GCE creds helper creation for kaniko job #784
- changed serverless status when duplicated to warning instead of error #726
- Fix controller tests for webhook #555
- Add troubleshooting for Docker + Rosetta #528
New contributors
- @dependabot[bot] made first contribution
- @halamix2 made first contribution in (#494)
- @pbochynski made first contribution
Full changelog: 1.1.0...1.4.0
1.3.1
What's Changed
- Fix nil annotations 1.3 (#603) by @kwiatekus in #605
- Bump 1.3.1 images manually by @kwiatekus in #608
Full Changelog: 1.3.0...1.3.1
1.3.0
What has changed
- With 1.3.0, we have improved resiliency and enabled fully declarative mode when defining Functions by removing the serverless admission webhook workload in favor of the
x-kubernetes-validations
rules embedded into Function Custom Resource Definition. - #247 - Fixed the Function build jobs OOMKilled bug when creating large Functions - #547
- Prevent caching arbitrary Secrets & ConfigMaps to avoid controller's OOM crash - #506
- Preserve the same trace span names for the same Function's generations - #474
Implemented enhancements:
- Move the
check-serverless-availability
target to theverify-serverless
#586 - Rename workflow checking if developer doesn't change main images #577
- Migrate upgrade test #575
- Move gardener integration test #569
- Migrate lint operator job #566
- Remove secrets and configmaps from the cache #549
- Remove unused files #548
- disable webhooks #543
- add git repo url validation in controller #539
- Move Git auth type validation to controller #536
- Move Git secretName validation to controller #535
- Automatically swap images for local development #526
- Create dev and release dockerfiles for operator #523
- Increase release verify timeouts #522
- Add missing IMG env to the
release.sh
file #521 - Fix release checkout #520
- Fix update-sec-scanners-config.sh #519
- Fix release job and change script #518
- Remove job requirement from verify-head-status #517
- Removed unnecessary steps from release flow #516
- remove object meta validation from webhook #515
- move baseDir and reference validations to x-kubernetes-validations #514
- Block PR is developer changed main tag #513
- Release values autobump #511
- Automate integration tests #510
- remove checking function type in webhook #509
- Validate labels and annotations to controller #504
- move validation of inline source dependencies #502
- move source validation from webhook to x-kubernetes-validations #498
- Move asset generation and verification to a Github Step (Propagating changes to main branch) #495
- Validate secret mounts to controller #493
- remove sources validation from webhook #491
- remove runtime validation from webhook #483
- add x-kubernetes-validations tests template field #482
- Remove templates from function's api #481
- Move prow job to Github Step #479
- remove resources validation from webhook #478
- Remove the
.version
file #477 - remove env validation from webhook #476
- improve verify images script #475
- Remove the
moduletemplate.yaml
asset from release #472 - Use branch name instead of latest word #467
- Exclude module-manifest from serverless upgrade test scenario #465
- No need to generate module-template as release asset #461
- Remove redundant unit test step from release flow #456
- Remove '-it' from docker run #454
- Handle no GH actions to check in release flow #452
- add paths which should be checked for gardener integration test #448
- Bump Action to whitelisted Version #440
- Dynamically exclude namespaces #430
- add configuration for golangci-lint #422
- Adjust path to Makefile in release.sh #421
- Use sec-scanners-config during the release #416
- Don't use sec-scanners-config to build moduletemplate on pre/post submit #414
- fix test gardener-integration #409
- Run runtimes builds #406
- Use latest tags in sec-scanners-config on main #405
- Enable Markdown Link Check in the Serverless repo #404
- namespaced scope secrets warning #382
- Align the default Serverless name to the agreed format #376
- Move github actions scripts to .github/scripts #357
- Move
serverless-manager
config files toconfig/operator
#350
Fixed bugs:
New contributors
- @dependabot[bot] made first contribution
- @halamix2 made first contribution in (#494)
1.2.1
1.2.0
1.2.0 (2023-11-28)
Implemented enhancements:
- Fail release workflow in case serverless images use PR tags #235
- Support native dockerconfigjson secrets when configuring docker registry for serverless #121
- Remove redundant unit test step from release flow #456
- Remove '-it' from docker run #454
- Handle no GH actions to check in release flow #452
- add paths which should be checked for gardener integration test #448
- Bump Action to whitelisted Version #440
- Dynamically exclude namespaces #430
- add configuration for golangci-lint #422
- Adjust path to Makefile in release.sh #421
- Use sec-scanners-config during the release #416
- Don't use sec-scanners-config to build moduletemplate on pre/post submit #414
- fix test gardener-integration #409
- Run runtimes builds #406
- Use latest tags in sec-scanners-config on main #405
- Enable Markdown Link Check in the Serverless repo #404
- Rich Changelog generation #398
- namespaced scope secrets warning #382
- Align the default Serverless name to the agreed format #376
- Move github actions scripts to .github/scripts #357
- Move
serverless-manager
config files toconfig/operator
#350
Fixed bugs:
- Serverless status is Ready even when connected resources are restarting after update #134
- Fix dependency code editor configuration #391
Closed issues:
- Gardener integration test is flaky #442
- Cleanup leftovers of gitrepository.serverless.kyma-project.io/v1alpha1 CRD #419
- Only
serverless-registry-config-default
secret should be copied across namespaces #412 - Use latest tags in the
sec-scanners-config.yaml
file #411 - Cleanup dashboard definitions from serverless resources #408
- Enable Markdown link check to find any broken links #396
- Warn user when serverles-registry-config is used #383
- Document how to configure custom docker registry per registry provider #381
- serverless integration tests are flaky #359
- Adjust serverless operator codebase to the new repo structure #345
- Delete secret mutation webhook #335
- Move resource profiles defaulting from mutating webhook to function controller. #248
- Avoid hardcoded
ExcludedNamespaces
override for serverless module #241 - [rl-reuse_tool-3] Violation against OSS Rules of Play #215
- [rl-reuse_tool-1] Violation against OSS Rules of Play #214
- [rl-security_policy-1] Violation against OSS Rules of Play #213
- [rl-reuse_tool-2] Violation against OSS Rules of Play #212
- [rl-vulnerability_alerts-1] Violation against OSS Rules of Play #211
- Adjust retryable module deletion timing #87
- Investigate how to test serverless module on multiple hyperscallers #45
Merged pull requests:
- Revert Excluded Namespace Overrides / Read namespace from chart #447
- Fix link to the APIRule CR documentation #445
- Remove gitrepositories leftovers #444
- Format the
values.yaml
file #443 - Webhook resource validation removal #438
- Fix Eventing link in the Serverless documentation #436
- Cleanup makefile in serverless #434
- Controller validation #433
- Convert html tabs /toggles into docsify tags in the Serverless repo #431
- Add validation for build and function resoruces #429
- Bump golang to 1.21.4-alpine3.18 #428
- fix errors from operator showed by linters #427
- fix errors from serverless showed by linters #426
- Cleanup
GitRepository
orphan resources #425 - remove temporary dir module-chart-test and use tests/serverless instead #424
- Only
serverless-registry-config-default
secret should be copied across namespaces #420 - Fix links found by Link Checker #415
- Cleanup dashboard definitions #413
- fix output path for rendered manifest #407
- Cleanup Makefiles #403
- Copy Makefile to components/operator #402
- Copy hack folder to components/operator #399
- Delete secret mutation webhook #397
- Fix formatting #395
- add gcr and acr examples #392
- Remove additional make targets with
-operator
sufix #390 - unify quotation in doc #386
- Remove module chart #385
- Adjust go.mod, go.sum, Dockerfile, makefiles to new structure #379
- Temporary copy module-chart also to components/operator #378
- Provide sample python function #377
- add simple for secretMount validation #375
- Add collect logs script to serverless integration tests #374
- Add source validation #372
- Copy internal to components/operator #371
- Move internal, controllers and main to components/operator #370
- Update deps #369
- Add onError loggers and fix proxy mock #368
- Add env names validation #367
- Copy api to components/operator #366
- Add runtime validation #365
- Add annotations validation #364
- Add labels validation #363
- Reaarange test cases #362
- Move api to components/operator #361
- Upgrade k8s deps #356
- Extract te...