Repository navigation
v1.6.0
This release is the first release of Porch in the kpt project from the main branch.
This release adds the following features:
- The CRD based v1alpha2 PackageRevision API, whilst the v1alpha1 API is still the default API.
- The FunctionConfig CRD and reconciler for better control of function runner configuration
- Support for multiple parallel KRM function evaluator pods for the same KRM functions
- On render failures in pushes, the user can now choose to push even when a render fails
- An option to push PRs in draft and proposed states to git when using DB cache
- Checks that a PR is not the upstream of another PR before a PR is deleted
- porchctl can now fetch the kptfile on a get
- Support for cloning and upgrading of subpackages
- PackageRevision resource size is now returned on the PackageRevision resource
- Mirror registries/repositories in can now be used in most places in Porch
What's Changed
- Fix Porchctl release CI job kpt version by @aravindtga in #476
- #998: Do not allow deletion of a PR that is an upstream PR of a cloned PR by @kushnaidu in #453
- Add dynamic package revision count expectations in disaster-recovery test suite by @JamesMcDermott in #477
- Fix wrapper-server binary path for non-root container migration by @aravindtga in #478
- Go and kpt setup moved into a reusable composite action by @aravindtga in #479
- Multiple parallel KRM function evaluator pods for the same KRM functions by @dgyorgy-nokia in #336
- Add porch.kpt.dev/push-on-render-failure annotation support to packagerevision by @aravindtga in #467
- Wait for (DB) cache within the code instead of using initcontainer by @mozesl-nokia in #473
- Documentation: Add porch.kpt.dev/push-on-render-failure annotation behavior by @aravindtga in #483
- Fix update validations so it gracefully handles reuqests sent by older clients by @nagygergo in #488
- Docs - adding back missed documentation of the function runner pod templating configuration by @Catalin-Stratulat-Ericsson in #486
- Add instructions for cleaning PRs prior to human review by @liamfallon in #481
- Enable go-git caching for filesystem references by @nagygergo in #368
- gRPC vuln fix by @efiacor in #490
- Track error in cli as a workaround to avoid the retry library bug by @kushnaidu in #489
- Other vuln fixes by @efiacor in #491
- Add Porch v1alpha2 API with improvements and PackageRevision CRD by @efiacor in #470
- Feature 1.6 by @efiacor in #492
- Apply dosubot suggestion from #492 by @efiacor in #494
- DB Cache push Draft and Proposed Package Revisions to Git by @rendre-greyling in #403
- Improve docker build process by @efiacor in #493
- Fix flaky TestConcurrentDeletes by @rendre-greyling in #482
- Docs: Fix inaccurate lifecycle documentation stating Proposed packages are editable by @Catalin-Stratulat-Ericsson in #501
- Update pod evaluator to use round-robin to delegate work to krm functions by @kushnaidu in #497
- Adding compatibility matrix (porch-server vs porchctl versions) by @Catalin-Stratulat-Ericsson in #515
- Add --show-kptfile option to porchctl rpkg get command by @aravindtga in #513
- Remove --repo-sync-frequency from launch.json by @kushnaidu in #518
- Bump go.opentelemetry.io/otel/sdk from 1.40.0 to 1.43.0 by @dependabot[bot] in #525
- Add a controller-runtime cache for repository webhooks by @nagygergo in #498
- Scalability Improvements 5: CLI Improvements by @kushnaidu in #504
- Move label filtering to sql queries by @nagygergo in #500
- Store kptfile meta in the DB for PackageRevision queries by @nagygergo in #502
- Scalability Improvements 4: Allow for connection pool configuration by @kushnaidu in #516
- Add AI contribution instructions to contributors guide by @liamfallon in #517
- Upgrade Porch to address vulnerabilities by @liamfallon in #519
- Adding AI Disclosure to PR template by @Catalin-Stratulat-Ericsson in #520
- Refactoring: Git interfaces un-exposure, and move of test-server to test tooling by @nagygergo in #503
- Bump kpt version in Porch to v1.0.0-beta.62 by @liamfallon in #526
- Bugfix: Multiple field selectors by @Catalin-Stratulat-Ericsson in #535
- Debulleting the Porch - Concepts pages by @lovesprung in #484
- Debulleting the Porch - Overview page by @lovesprung in #485
- Scalability Improvements 8: Per-repository queries should only be done against the CR cache, the DB cache should handle it as a single database query by @kushnaidu in #509
- Fix timezone mismatch in Porch, which is causing resource conflicts by @kushnaidu in #539
- Prevent edit, clone, and upgrade of placeholder package revisions by @JamesMcDermott in #487
- Bump github.com/moby/spdystream from 0.5.0 to 0.5.1 by @dependabot[bot] in #542
- Bump github.com/go-git/go-git/v5 from 5.17.2 to 5.18.0 by @dependabot[bot] in #544
- chore: update copyright year to 2026 by @ahmadu2305 in #549
- chore: add missing copyright headers to go files by @ahmadu2305 in #548
- Bump kpt version in Porch to v1.0.0-beta.62.1 by @aravindtga in #551
- #1102 - Fix upgrade CLI to run get to find package revision by @kushnaidu in #547
- Bump github.com/jackc/pgx/v5 from 5.9.1 to 5.9.2 by @dependabot[bot] in #555
- Removing ability to Watch on PackageRevisionResources by @Catalin-Stratulat-Ericsson in #553
- Bump gitea version and fix restart issue by @aravindtga in #558
- Move deletion validation out of the webhook and into delete request validations by @kushnaidu in #536
- Remove unused code in webhooks.go by @kushnaidu in #566
- FunctionConfig CRD and Reconciler by @mozesl-nokia in #475
- PR Controller PoC by @efiacor in #514
- Housekeeping activity to update unit tests to use the correct testify components by @kushnaidu in #958
- Add a Tips, tricks, and shortcuts for Porch developers (Lazy Dog) to Porch documentation by @liamfallon in #955
- Make function to dump PackageRevisionResources a utility function by @liamfallon in #966
- CRD E2E Ginkgo Suite by @efiacor in #964
- Removed old subpackage fragments by @liamfallon in #968
- Docs: removing old docs section added back by accident by @Catalin-Stratulat-Ericsson in #975
- Upgrade krm function versions in porch by @liamfallon in #972
- Debulleting the Porch - Guides pages by @lovesprung in #557
- Enhancing the KRM function version tag resolution logic in porch by @matdome in #537
- Bump github.com/go-git/go-git/v5 from 5.18.0 to 5.19.0 by @dependabot[bot] in #979
- Bugfix: Prune empty git subtrees after package deletion in subdirectory repos by @Catalin-Stratulat-Ericsson in #546
- Change references to Nephio to kptdev by @liamfallon in #981
- Remove hardcoded MetalLB IPs from local dev scripts and tests by @efiacor in #978
- Move docker builds to ghcr by @efiacor in #982
- Clean up missed nephio references by @liamfallon in #985
- Fix GitHub PR Template AI disclosure rendering by @Catalin-Stratulat-Ericsson in #986
- Rename all import aliases of
pkg/util/contexttopctxby @mozesl-nokia in #990 - Add SubpackageDir to API to support clone and upgrade of independent subpackages in a PR by @liamfallon in #974
- Fix latest=true flag handling in dbpackagerevision publishPR function by @kushnaidu in #989
- Add startup probes and relax probe timings for CI stability by @efiacor in #999
- Reverse logic on DoPRMutations to reduce indentation by @liamfallon in #987
- Fix flaky TestConcurrentDeletes e2e test by @liamfallon in #1001
- Reduce code duplication across rpkg CLI commands by @thc1006 in #541
- Add package resource file sizes to PackageRevision interface by @JamesMcDermott in #954
- Patch: missed ghcr move elements by @Catalin-Stratulat-Ericsson in #988
- Add PrrSizeBytes to v1alpha2 PackageRevision status by @efiacor in #977
- Changes to the v1alpha2/v1 for independent subpackage support by @liamfallon in #993
- Add go-version-file input to setup-go-kpt action by @aravindtga in #1004
- Improve CI deploy reliability, move CR cache tests to nightly by @efiacor in #1002
- Allow the usage of mirror registries/repositories in all/most places by @mozesl-nokia in #984
- Upgrade apiserver to 0.36.1 by @aravindtga in #1014
- Fix release workflow tag pattern to support multi-digit patch versions by @aravindtga in #1020
- Docs porch portover to kpt by @Catalin-Stratulat-Ericsson in #1016
- Independent Subpackage Clone and Upgrade: v1alpha1 server implementation by @liamfallon in #1009
- Add end to end tests for subpackage support on the Porch v1alpha1 API by @liamfallon in #1013
- Fix CRCACHE nightly ci runs by @efiacor in #1028
- Upgrade setup-go action to v6 and add cache-dependency-path input by @aravindtga in #1029
- Changing OWNERS to CODEOWNERS by @CsatariGergely in #1030
- Upgrade kind image to 1.36.1 to support the api-server library by @kushnaidu in #1032
- Add v1alpha2 CLI e2e test suite by @efiacor in #1006
- Fix intermittent failures on subpackage e2e tests by @liamfallon in #1031
- Add ignoreColumns and {{ANY}} placeholder to CLI e2e framework by @efiacor in #1034
- Set latest-revision label on discovered PackageRevision CRs by @efiacor in #1033
- Debulleting the Porch Troubleshooting pages by @lovesprung in #1024
- Harmonizing note titles by @lovesprung in #1042
- Add porchctl implementation for clone and upgrade of independent subpackages by @liamfallon in #1022
- Add OpenTelemetry metrics for package resources size by @JamesMcDermott in #1018
- Skip TestPackageSizeMetric, TestPackageSizeMetricValues when running against CR cache by @JamesMcDermott in #1050
- Upgrade Go/kpt dependencies and disable govet inline analyzer by @aravindtga in #1017
- Defining node version for the documentation by @CsatariGergely in #1054
- Documentation for Porch subpackage clone and upgrade support and minor fixes by @liamfallon in #1038
- fix: add Controller and BlockOwnerDeletion to ownerReferences by @efiacor in #1048
- Return log messages in a single line for successful render with stderr by @kushnaidu in #1039
- resolve fieldmanager type conversion warning and WatchList bookmark panic by @aravindtga in #1035
- fix: set porch.kpt.dev/repository label on PR-controller-created packages by @efiacor in #1047
- Make subpackage name unique in independent subpackage Kptfiles by @liamfallon in #1056
- Debulleting Porch Architecture & Components - Porch API server by @lovesprung in #1041
- docs: add versioned docs build with tag-based snapshots by @efiacor in #980
- Specifying allowed alert types by @lovesprung in #1063
- Add dependabot config for GitHub Actions and Go modules by @efiacor in #1062
- Validate resource file paths in package operations by @aravindtga in #1065
- Evict pod based on GRPC response instead of force check on every call by @kushnaidu in #1055
- Add stale prs by @CsatariGergely in #1053
- Harden SonarCloud workflow: scope permissions, fix injection vectors by @efiacor in #1057
- Fix SonarCloud workflow failing on push events by @efiacor in #1070
- ci: configure copilot review to reduce noise by @efiacor in #1064
- Separate API types module by @mozesl-nokia in #1060
- Add release artifact verification step by @efiacor in #1066
- Use released version of API module by @mozesl-nokia in #1073
- Fix Copilot review workflow to trigger on fork PRs by @efiacor in #1074
- Docs main placeholder pr concept by @Catalin-Stratulat-Ericsson in #1026
- Create db indexing for upstream ref by @kushnaidu in #1043
- Unify golangci-lint: replace Docker-based lint with go run pattern by @aravindtga in #1046
- Remove grpc.WaitForReady to make eviction handler more robust by @kushnaidu in #1069
- Fix Rendered condition observedGeneration stale after lifecycle changes by @efiacor in #1076
- Removing outdated Jaeger Docs by @Catalin-Stratulat-Ericsson in #1082
New Contributors
- @lovesprung made their first contribution in #484
- @ahmadu2305 made their first contribution in #549
Full Changelog: v1.5.7...v1.6.0