Releases: nephio-project/porch
v1.5.5
This release is v1.5.5 of Porch and is a Release Candidate of Porch for Porch R6.
- Git repo connectivity check optimization
- Small fixes to prevent overlapping PRs in subpackages and prevent double entries of package contexts in PRs
- Resturcturing of end to end tests
- Refactoring of API imports and removal of unused strategies from the clone task
What's Changed
- Fix duplicate package lists, add missing path for dbcache, and set kind k8s request-timeout to 5m by @kushnaidu in #357
- Replace kpt repo in TestGitRepositoryWithReleaseTagsAndDirectory to make the test stable by @kushnaidu in #358
- Bump golang.org/x/crypto from 0.43.0 to 0.45.0 by @dependabot[bot] in #359
- Make imports of the Porch API consistent across the go codebase by @liamfallon in #340
- Make porch cache-type configurable by @efiacor in #346
- Refactor out 3pp fn-runner suite by @efiacor in #360
- Improve mutex handling in git.go and add log completion for API calls by @kushnaidu in #363
- Fix mutexes in cache entrypoint by @kushnaidu in #369
- Remove use of platkrm/test-blueprints from e2e suite by @efiacor in #361
- Remove addition of "package-context.yaml" to sub-packages in a PackageRevision by @liamfallon in #364
- Prevent "main" branch creation for subpackages in Porch by @lapentad in #366
- Revert mutex changes in git.go and cr-cache by @kushnaidu in #372
- Revert mutex changes db openRepository by @kushnaidu in #374
- Refactor e2e workflows to 1 matrix by @efiacor in #365
- Move git connectivity check into background.go by @kushnaidu in #370
- Removed strategies from clone task by @lapentad in #371
- Ignore git connectivity failure for branch doesn't exist if createBranch is set to true by @kushnaidu in #377
Full Changelog: v1.5.4...v1.5.5
v1.5.4
Welcome to the v1.5.4 pre-release of Porch.
Note
Porch switches to the kptdev version of kpt in this release. All kpt imports, KRM catalog functions, and the KRM functions SDK are used from kptdev. The GoogleContainerTools version of kpt is no longer used.
Important
Porch will only support 1.30+ k8s distributions from this release on. We have updated the versions of Kubernetes dependencies used in Porch
New Features
Per repository synchronization
- Individual repository sync configuration can now be specified in the Repository CRD
- A one-time synchronization can be set directly on the Repository CR or ordered with a new
porchctl repocommand - Introduced a new mechanism for changing Repository CR status when reconciliation is in progress
- list-timeout-per-repo default value increase to 20 seconds.
- fetchRemoteRepositoryWithRetry parameter introduced, with a default value of 4
- New CLI command for Repository synchronization added and new parameter added for Repository registration to set a synchronization cron schedule.
- Sync handler introduced as a common interface between CR and DB cache.
What's Changed
- Remove Patch leftovers from API by @liamfallon in #316
- Run repo refresh from background.go only when CR is modified by @kushnaidu in #315
- DB Cache: Implement package filtering by @liamfallon in #317
- Split dev & prod docker build-push actions by @efiacor in #318
- Porchctl: Upgrade fallback when there is no original edit task by @lapentad in #320
- Add a generic PR template by @efiacor in #319
- Postgres image update to new Bitnami repository by @JamesMcDermott in #322
- Rewrite DB cache tests to use testify test suite by @mozesl-nokia in #321
- Bump go version to 1.25 by @efiacor in #323
- Fix porch release gh actions by @efiacor in #324
- Update mockery to v3 by @lapentad in #327
- Add verbose level 3 for listPackageRevision calls by @kushnaidu in #325
- chore: Cleanup error logging when can't delete webhook by @liamfallon in #329
- Refactor field-selector filtering for PackageRevision list operation by @JamesMcDermott in #273
- Replace multi line formatting to single line formatting for kpt logs by @kushnaidu in #326
- Fix background.go panic when cachedRepo is nil by @kushnaidu in #332
- Fix make generate target by @efiacor in #331
- Bump github.com/cloudflare/circl from 1.3.7 to 1.6.1 by @dependabot[bot] in #334
- Bump SonarSource/sonarqube-scan-action from 5.0.0 to 6.0.0 in /.github/workflows by @dependabot[bot] in #333
- Fix: make test target fail pipeline on test failures by @kushnaidu in #337
- Update go test to use porch user for dbcache tests by @kushnaidu in #338
- Bugfix bfs render by @lapentad in #339
- Fix stdout bug in upsert-db-cache-data by @efiacor in #344
- Refactor makefile and scripts setup by @efiacor in #342
- Convert Porch to use the github.com/kptdev version of kpt by @liamfallon in #343
- Aligned clone validation between client and server by @lapentad in #330
- Fix dev-gitea svc not ready failure by @efiacor in #345
- Revert gitea curl address to localhost by @efiacor in #348
- Remove .prow.yaml refs from workflows by @efiacor in #347
- Improve repository reconciliation to use cron based periodic syncs and introduce one time syncs by @kushnaidu in #328
- Update gitea dev setup to query healthz url and then create repos with a retry mechanism by @kushnaidu in #351
- Fix porchctl dev release workflow by @efiacor in #350
- Remove redundant apiserver validatingAdmissions flag by @efiacor in #349
- Add validation to disallow latest label changes and improve rpkg delete in dbcache by @kushnaidu in #352
- Increase e2e test repo ready context deadline by @liamfallon in #354
- Fix "make generate" make target by @liamfallon in #353
- Fix release workflow permissions by @efiacor in #356
New Contributors
- @dependabot[bot] made their first contribution in #334
Full Changelog: v1.5.3...v1.5.4
v1.5.3
Highlights
- Update of PRs is replaced by Upgrade
- Parallel listing of PRs on repos
- Improvements to DB cache
- Kubernetes API server code cloned as a workaround
Incompatabilities
- New upgrade is incompatible with old update on porchctl and on API calls
What's Changed
- Ensure task list is single element, introduce upgrade task by @mozesl-nokia in #252
- Fix "svc already exists" errors while executing concurrent API calls by @kushnaidu in #295
- fix controller-runtime logger not set by @lapentad in #297
- Disable InferAssociativeLists, add more tests by @mozesl-nokia in #299
- Updated porch e2e tests to use service manifest from function pod template configmap by @gkumar78 in #285
- Fix custom CA bundle resolution by @mozesl-nokia in #296
- Workaround: Change kube-apiserver timeout for mutating operations by @nagygergo in #300
- Manually choose the upgrade strategy in porchctl by @lapentad in #301
- Update pkgRevUpdateDB to create row if it doesn't exist or update it for main pkgRev by @kushnaidu in #304
- updating the porchctl cli help instructions & examples for the rpkg command by @Catalin-Stratulat-Ericsson in #291
- Fix force-delete-replace(merge Kptfile) and add filter to not copy comments for YTT(#@ and #!) by @kushnaidu in #302
- Added RemoveStaleItems in
copy-mergeby @lapentad in #306 - Increase genericapiserver and webhook server timeouts by @kushnaidu in #305
- Minor improvements to Porch by @liamfallon in #308
- Make parallel repository listing configurable + Porch server doesn't respond to PackageRevision queries if one of the registered git repositories fails by @rendre-greyling in #282
- Reintroducing Events for Approve & Delete Operations in DB Cache by @Catalin-Stratulat-Ericsson in #307
- DB Cache locks and creationTimestamp enhancements by @liamfallon in #309
- Fix missing Tasks List in db-cache, update wrapper-server and render logs by @kushnaidu in #313
- Fix porchctl rpkg get fails on a PR with a semantic workspace name by @liamfallon in #312
Full Changelog: v1.5.2...v1.5.3
v1.5.2
Pre-release Update: This version aligns the db-cache with cr-cache in terms of metadata formation during get commands. This ensures consistent metadata structure across both caches, improving reliability and reducing discrepancies.
What's Changed
- Updated jaeger all-in-one image, changed service targetPort by @constanton in #279
- Add jobs to run the e2e tests against Porch running DB Cache by @liamfallon in #283
- Update db-schema to update the latest version after repo re-register by @kushnaidu in #284
- Improve error messages in Git repository opening to make debugging easier by @liamfallon in #286
- Fixing repo directory value trimming when pkg name contains it by @Catalin-Stratulat-Ericsson in #289
- Fix an issue where multiple Kpt pods were getting created by @kushnaidu in #288
- Parallel Package Creation in run-load-test.sh script by @Catalin-Stratulat-Ericsson in #287
- Fix path output on package revisions with paths in DB cache by @liamfallon in #290
- Top To Bottom Render order by @lapentad in #264
- Add a hint about the Git cache if git repo open fails by @liamfallon in #292
- Increas the context timeout so that e2e tests don't fail by @liamfallon in #293
New Contributors
- @constanton made their first contribution in #279
Full Changelog: v1.5.1...v1.5.2
v1.5.1
What's Changed
- add WaitForReady in grpc client creation by @kushnaidu in #276
- Fix upstream references in DB Cache by @liamfallon in #274
- Remove storage of DeletionProposed status in git by @liamfallon in #275
- Add a way of using pgx with mtls by @kushnaidu in #277
- Updated DB cache to support placeholder PRs by @liamfallon in #278
- Fix kubectl package get so that valid package names are not rejected by @liamfallon in #280
- Add retry mechanism for remote repo fetch by @kushnaidu in #281
Full Changelog: v1.5.0...v1.5.1
v1.5.0
What's Changed
- Fix Watcher objects continually created, but not removed - fixes issue #943 by @rendre-greyling in #268
- Make Porch's commit messages more human readable (fixes #936) by @mansoor17syed in #263
- Remove local prow jobs by @efiacor in #269
- (TestEditPackageRevision) fixing package name in await for deletion checks by @Catalin-Stratulat-Ericsson in #270
- Updating Github Action E2E Tests & fixing TestPodEvaluator & TestEditPackageRevision Flakyness by @Catalin-Stratulat-Ericsson in #271
- Implement a Database cache in Porch by @liamfallon in #234
This change adds a database cache in Porch. The database cache is optional and the default caching mechanism remains the existing CR cache using the PackageRev CRD. The database cache is enabled by specifying some new parameters on the Porch server. Documentation to follow soon.
Full Changelog: v1.4.0...v1.5.0
v1.4.0
What's Changed
- fix for #834 adding logic to make porch API calls atomic by @mansoor17syed in #233
- Use absolute rather than relative path in the local test gitea install script by @liamfallon in #253
- Upgrade Go version, base images, and dependencies flagged by Anchor Scan by @Bhargav-Singh in #236
- Allow E2E tests to run behind an HTTP proxy by @rendre-greyling in #238
- Improve function runner logging by @kushnaidu in #257
- Align rpkg push with kubectl by @kushnaidu in #245
- Fix watch namespace filter by @mansoor17syed in #255
- Implement e2e tests for 3rd party updates by @dgyorgy-nokia in #256
- Added Race Condition Checking & Fixed Concurrent CrCache Map Read & Write by @Catalin-Stratulat-Ericsson in #258
- Evict failed pods from cache and trigger fresh pod creation. by @Bhargav-Singh in #242
- Update the dev gitea version to 1.23.8 by @kushnaidu in #261
- Resolve issue #915 where porchctl did not error if the --namespace flag was given without a value by @mansoor17syed in #260
- feat: allow discovery of package revisions with executable Kptfile by @mansoor17syed in #262
- Added Service frontend to function evaluation pods to fix Istio integration issues by @gkumar78 in #259
- Fix TestEditPackageRevision (workspaceName already exists) by @Catalin-Stratulat-Ericsson in #267
- Add missing 'ubuntu' user before running unit tests by @liamfallon in #266
New Contributors
- @Bhargav-Singh made their first contribution in #236
- @dgyorgy-nokia made their first contribution in #256
Full Changelog: v4.1.2...v1.4.0
v4.1.2
What's Changed
- Update ubuntu version on porchctl action by @liamfallon in #229
- Iterative performance test as extension of E2E suite by @mozesl-nokia in #227
- Remove unnecessary remote interactions for
gitRepository.DeletePackageRevisionby @nagygergo in #228 - Update performance test Prometheus config by @lapentad in #231
- Fix upstream package referencing in PackageVariant. by @liamfallon in #226
- Add small improvements to Porch code by @liamfallon in #237
- Add flag to disable fn pods deployed at startup by @efiacor in #241
- Skip patch mutation for Copy-Merge by @lapentad in #244
- Add e2e tests for repository-synchronisation background job by @JamesMcDermott in #239
- Fix double polling of repositories at sync startup by @liamfallon in #243
- Fix broken Makefile targets by @efiacor in #247
- Update PVS to allow WorkspaceName on Upstream PR references by @liamfallon in #249
- Migrate cli e2e suite to use real gitea by @efiacor in #240
- Correctly parse ResultList.Results as both slice and map by @mozesl-nokia in #251
- Update Kpt File before replacing the files for
copy-mergeby @lapentad in #250
Full Changelog: v4.1.1...v4.1.2
v4.1.1
What's Changed
- Internalize Kpt/KRM function go SDK from GoogleContainerTools by @kispaljr in #212
- Porch Code coverage by @lapentad in #219
- Validate Repository name in CRD by @mozesl-nokia in #221
- Sync porch pkg details with catalog repo by @efiacor in #218
- Proposal- Porch Performance Testing Framework - Operation Flow with Prometheus by @mansoor17syed in #174
- Move metadata handling for the PackageRevs CRD into the crcache repo by @liamfallon in #214
- #888: Porch periodic background job is not doing anything by @kushnaidu in #220
- fix for #631 where slight differences seen in Kptfile upstream format… by @mansoor17syed in #165
- Porch Code Coverage by @lapentad in #222
- porchctl - Fix Update issue when the package has local changes by @lapentad in #223
- Allow verbosity of logs to be set in Function Runner and Wrapper Server by @rendre-greyling in #225
- Fix package revision duplication and optimize rpkg get calls by @kushnaidu in #224
New Contributors
- @rendre-greyling made their first contribution in #225
Full Changelog: v4.1.0...v4.1.1
v4.1.0
Release Notes for Version 4.1.0
🚨 Breaking Changes
In this pre-release, the type of the revision field on PackageRevisions is changed from string to integer. This will require users of the API to change their API calls.
Up to now, the revision field has been used to identify the revision of released packages (v1, v2, v3 etc) but also to identify the branch of placeholder package revisions
such as the main package revision. The revision field was being used for two purposes leading to confusion and complexity on the Porch code.
Now the revision field has changed to only identify the revision of a package revision.
- released package revisions are numbered 1, 2 and so on, with the highest revision being the latest package
- draft package revisions have a revision of 0
- placeholder package revisions that indicate the head of a release branch (main, v3.0.0, v4.0.0 etc) have a revision of -1
The workspace name is set to the name of the release branch on placeholder package revisions (as it was before this change), and can be used to identify the branch of the placeholder release.
The object name of placeholder package revisions can now also be used to identify the branch because the branch name is the last sub-field of the object name.
What's Changed
- Add OpenSSF scorecard gh action by @efiacor in #185
- Stop PackageRevision updates from changing creationTimestamp by @JamesMcDermott in #180
- adding e2e test validation for PR #167 Modify event on the porch Repo Custom Resource by @mansoor17syed in #181
- Add SECURITY.md by @efiacor in #186
- Removed upstream, mutators and validators from Repository API specification by @gkumar78 in #179
- Place repositories (git/oci) behind the Repository interface and use a Factory to create instances of implementations by @liamfallon in #171
- Some documentation and a testcase on the behavior of kpt.dev/latest-revision label by @nagygergo in #183
- Address gosec errors by @efiacor in #184
- adding livenessProbe and readinessProbe in deployment.yaml for porch … by @mansoor17syed in #166
- Add sonar props file by @efiacor in #191
- add missing license headers by @gauravkr19 in #189
- Add OSSF badges by @efiacor in #187
- Skip Duplicate line check for unit-tests by @lapentad in #195
- Add properties file for automatic analysis by @lapentad in #197
- fixed custom registry imagePullSecret override by @Catalin-Stratulat-Ericsson in #198
- Move shebang before copyright notices in scripts by @liamfallon in #201
- Implement human readable PackageRevision IDs by @liamfallon in #190
- Move test cov out by @efiacor in #203
- Create sonarcloud.yml by @efiacor in #188
- Fix coverage report for sonar by @efiacor in #204
- Add workflow to archive coverage data by @efiacor in #205
- Clean up sonar workflow yaml by @efiacor in #206
- Adding check for docker desktop by @lapentad in #211
- Make commit author and email customisable for git repositories by @mozesl-nokia in #193
- Handle invalid kpt annotations more gracefully, handle tags with messages by @mozesl-nokia in #202
- Port main E2E test suite to testify by @mozesl-nokia in #207
- Improve revision handing, keying, and indexing of PackageRevision and Repo entities in Porch by @liamfallon in #210
- Adding support for mockery in Porch by @lapentad in #215
- Git Token Based Authentication by @Catalin-Stratulat-Ericsson in #192
- New Copy-Merge update strategy by @lapentad in #209
- Allow PackageVariant controller to find upstream "main" package revisions by @liamfallon in #216
- Fix object names for upstream and placeholder packages by @liamfallon in #217
New Contributors
- @gkumar78 made their first contribution in #179
- @gauravkr19 made their first contribution in #189
- @lapentad made their first contribution in #195
Full Changelog: v4.0.0...v4.1.0