Breaking Changes
🚨 The plugin protocol has changed in this release of Porter. You must use the most recent version of any plugins with porter v1.0.0-alpha.20 and higher.
- Azure Plugin v1.0.0-beta.2
- Kubernetes Plugin v1.0.0-beta.3
- Hashicorp Plugin v0.1.0-porter.1 We are still waiting for the fix to be merged upstream, so you can use this fork of the hashicorp plugin until that's merged.
The installation schema has changed. Data created with previous versions of Porter will not work with this release. We will start providing migrations from v0.38.* when we hit v1.0.0-beta.1.
Overview
This was a big release! Most of the changes in this release were driven by one feature: Store sensitive data generated by Porter in an external secret store instead of in Porter's database. Previously, if a bundle generated a sensitive output, it was stored in Porter's database in plain text. Now if Porter needs to persist sensitive data, we save it back to your configured secret store. This required a change to the secret plugin protocol, which is why all the plugins have been updated.
A few supporting features also went into this release to improve our ability to debug and troubleshoot plugins:
- Distributed tracing support. We can now trace a porter command into the plugins that were called.
- Changed the plugin protocol from net/rpc to gRPC.
- Do not leak plugin connections when the user cancels a porter command. Porter now gracefully handles CTRL+C.
Features
- Save sensitive params into secret store (#1992) by @VinozzZ
- Update hashicorp plugin page with temp fork (#2108) by @carolynvs
- Add GitLab to Registries #2098 by @hrittikhere
- Support the interrupt signal SIGINT #2078 by @carolynvs
- Enable setting custom values during porter build. (#1900) by @joshuabezaleel
- Instrument plugins (#2026) by @carolynvs
- Add documentation for Create Porter's Configuration file under Task (#2045) by @VinozzZ
- add quickstart doc for porter configuration file (#2038) by @VinozzZ
- Add mixin version when building the bundle (#1952) by @joshuabezaleel
- increment installation schema version #2036 by @VinozzZ
- Add create a bundle task documentation #2007 by @carolynvs
Fixes
- Do not print "tools used" section on explain #2088 by @joshuabezaleel
- Switch from StringSlice to StringArray (#1931) by @Simpcyclassy
- Fix performance for porter list #2096 by @carolynvs
- Do not include plugin config in error (#2105) by @carolynvs
- Include the schema versions in migration errors #2103 by @carolynvs
- Edit index.md for Typo (#2094) by @hrittikhere
- Fix bson.D conversion in GRPC (#2083) by @VinozzZ
- Fix context passed when resolving secrets in config file #2068 by @carolynvs
- Fix plugin tracing again 😭 #2073 by @carolynvs
- Fix plugin load recursion #2071 by @carolynvs
- Do not load config for the bash completion command #2070 by @carolynvs
- Handle error when resolving config file secrets #2069 by @carolynvs
- pkg/storage: fix connection leak #2060 by @VinozzZ
- Fix enabling telemetry #2061 by @carolynvs
- Gracefully handle non-string custom values (#2043) by @carolynvs
- Fix nil panic in integration test #2042 by @VinozzZ
- [Docs] Add key config param flag for object parameter and escape string for double dash flag #2030 by @joshuabezaleel
- Fix file name misspell on pkg/cnab/parameter_sources_test.go #2039 by @joshuabezaleel
- Added reference parameter to the install command #1896 by @aguywithcode
- fix edge cases in docs #2024 by @qpetraroia
- Fix typo of close issues gh action #2023 by @carolynvs
- Use upstream close issues github action #2022 by @carolynvs
Misc
- update kubernetes-plugins doc (#2104) by @VinozzZ
- Sync from main #2101 by @carolynvs
- Support tracing the smoke and integration tests #2058 by @carolynvs
- update azure plugins documentation #2064 by @VinozzZ
- Update plugins overview #2092 by @carolynvs
- Find Issues link should only show open issues #2087 by @carolynvs
- Add shortlink to find an issue to work on #2086 by @carolynvs
- Bump secrets plugin protocol version to 2 (#2077) by @carolynvs
- Rename claims to installations #2053 by @carolynvs
- Consolidate storage-related packages into pkg/storage #2052 by @carolynvs
- Bump cnab-go to v0.23.2 #2054 by @carolynvs
- pkg/storage: add dash when formating sensitive data's key #2056 by @VinozzZ
- add documentation for storing sensitive data into secret store (#2033) by @VinozzZ
- [Docs] Complete sentence on "manage installation" doc #2028 by @joshuabezaleel
- Move examples into example-bundles repository (#2015) by @carolynvs