Carvel In August
by Aaron Hurley and Carvel Engineers — Sep 12, 2022
Carvel in August ¶
August was an action-packed month in the land of Carvel. Keep reading to learn more about what’s going on in the project!
In the News ¶
Let’s get started by reviewing some fresh Carvel-related content:
- TAP And Helm – A Story Of YTT Magic - How
yttsolved a tricky challenge.
- Continuous Thing-Doer - Keeping Concourse updated with Carvel
- Local development workflow with Tilt and Carvel - How to integrate Tilt with carvel
- Stop forking Kubernetes helm charts and do this instead! - A conversation with Robusta.dev introducing ytt
kctrlpackage authoring commands - Simplifying package authoring. Checkout the demo from our community.
- Between Chair and Keyboard with Soumik Majumder - A conversation with one of Carvel’s enthusiastic maintainers, Soumik.
- We had a couple of great community meetings in August. Watch the ytt schema validations demo to learn more about the exciting new features that will be arriving soon. See the full community meeting recordings from August 10th and August 24th.
- Mark your calendars for GitOpsCon North America! Learn about experimenting with CUE and Carvel to enable GitOps for your applications
kapp had two releases in August:
--default-label-scoping-rulesflag to enable or disable the default label scoping rules added during deploy
- Bump k8s.io/client-go from v0.22.10 to v0.24.3
- Bug fix:
--app-metadata-file-outputwrites to disk even when deploy fails
--app-metadata-file-outputflag which can be used to save recorded app metadata to a file.
- Bump modern-go/reflect2 to v1.0.2 to fix incompatibility with Go v1.18
- This problem became apparent with some random failures while trying to connect to GKE clusters.
- Example error fixed
unexpected fault address 0xb01dfacedebac1e fatal error: fault
- Introducing the package authoring commands
- dev deploy
- Packages can constrain Kubernetes and kapp-controller versions
- Package authors can now specify that their package can be installed on a certain versions of both kapp-controller and kubernetes.
- Surface namespace and GK resources in AppCR status
- Upgrade GoLang from 1.18 to 1.19
- Bumped dependencies
- Add arm64 builds
- Add downward api
- Rename KC owned apps from x-ctrl to x.app or x.pkgr
- use cache mount in Dockerfile
- various bug fixes
- Add tailing behaviour to package repo and add a package repo kick command
- Disallow use of shared namespaces for package installs
- Enhance tty experience
- Resume the download of an image/bundle to tar
- By providing the flag
copycommand, imgpkg is now able to only download the missing blobs that cannot find in the file on disk. The flag doesn’t error out if the tar file does not exist
- Check if an image or bundle is cacheable or not. Note: This feature is only available on the new API call. Let us know if you see any benefit in implementing option 1 from that story.
- API Improvements:
- When calling the function to push images to the registry, via API, the user can provide a progress bar logger. This will allow for the progress to be displayed in the console.
- Create API for Pull
- Extracted the Pull logic to the new package that will contain imgpkg’s public API, check the package. With this change, the Pull command can be changed to provide machine-readable output.
August was spent collecting and acting upon feedback for schema validations. These features are planned to GA in mid-September. For a preview, see the below links.
- Blog: Preview of ytt Validations on how to get setup with this feature.
- see all available rules in the docs.
HighestConstrainedVersiontakes additional constraints
Farewell til Next Month! ¶
Wishing you smooth deployments and painless upgrades!
Join the Carvel Community ¶
We are excited to hear from you and learn with you! Here are several ways you can get involved:
- Join Carvel’s slack channel, #carvel in Kubernetes workspace, and connect with over 1000+ Carvel users.
- Find us on GitHub. Suggest how we can improve the project, the docs, or share any other feedback.
- Attend our Community Meetings! Check out the Community page for full details on how to attend.
We look forward to hearing from you and hope you join us in building a strong packaging and distribution story for applications on Kubernetes!