Releases: getporter/porter
v1.0.0-alpha.8
Features
- Support uninstall through the installation apply command #1851 by @carolynvs
- pkg/{porter,tracing}, cmd/porter: add tracing instrumentation for list #1864 by @VinozzZ
Fixes
- pkg/config: fix Telemetry struct tag #1863 by @VinozzZ
- Print the porter version from the agent #1865 by @carolynvs
Misc
- Add back lost docker network logic to magefile #1866 by @carolynvs
Install or Upgrade
v1.0.0-alpha.7
This was a re-release of https://github.com/getporter/porter/releases/tag/v1.0.0-alpha.6 to fix a publish error.
v1.0.0-alpha.6
Features
- Add package for mixins magefile targets #1852 by @carolynvs
- Use structured logs and export traces #1831 by @carolynvs
- Change default registry to localhost:5000 #1855 by @mahendrabishnoi2
- Allow mixins to ignore a failed command (#1846) by @carolynvs
- Link to the stable docs from v1 site #1849 by @carolynvs
- Use a distroless base image (#1656) by @carolynvs
- Reorganize documentation (#1812) by @carolynvs
- Rename Dockerfile.tmpl to template.Dockerfile #1817 by @astroparam
- Use plaintext instead of table for human-readable output format. (#1803) by @joshuabezaleel
- docs: update parameters doc with allowable types (#1792) by @adnxn
Fixes
- Fix setting --driver with env variables #1848 by @carolynvs
- Pass context from integration tests #1859 by @carolynvs
- Porter triggers autobuild when detecting that invocation image does not exist (#1828) by @joshuabezaleel
- Improve error message when cnab-to-oci fixes up a bundle #1821 by @carolynvs
- Fix build driver experimental flag checks #1825 by @carolynvs
- Fix Pushing Bundles that have a relocationMap (#1815) by @anjayajodha
- Fix GetBuilder #1835 by @carolynvs
- Fix branch deploys of website #1837 by @carolynvs
- Fix branch deploy #1833 by @carolynvs
- Doc packr word fix #1834 by @avinashupadhya99
- docs: fix command in contrib tutorial #1810 by @astroparam
Install or Upgrade
v0.38.8
Fixes
- Fix Pushing Bundles that have a relocationMap by @anjayajodha in #1815
- Improve error message when cnab-to-oci fixes up a bundle by @carolynvs in #1821
Misc
- Blog about the helm3 v0.1.14 mixin release by @carolynvs in #1777
- Fix broken links by @carolynvs in #1786
- update helm3 mixin documentation to the latest release by @MChorfa in #1788
- docs: update parameters doc with allowable types by @adnxn in #1792
- docs: fix command in contrib tutorial by @astroparam in #1810
- Doc packr word fix by @avinashupadhya99 in #1834
New Contributors
- @adnxn made their first contribution in #1792
- @avinashupadhya99 made their first contribution in #1834
- @anjayajodha made their first contribution in #1815
Full Changelog: v0.38.7...v0.38.8
v1.0.0-alpha.5
Breaking Changes
We recommend reading the release notes from the other alphas to see all the new features, and read about breaking changes that have been introduced. The data storage format for the v1 of Porter is not yet fixed. We are not providing migrations for your data between pre-release versions. We will provide migrations from the stable version of Porter (v0.38) to the new v1 format when we have a release candidate. So don't use the v1 prereleases for anything important!
Features
- Include schemaType when exporting resource documents (#1805) by @carolynvs
- Make bundle a node in the installation schema (#1800) by @carolynvs
- Add installation instruction to porter explain command (#1773) by @joshuabezaleel
Fixes
- Fix retrieving the last logs for an installation (#1808) by @carolynvs
- Use an ipv4 network for test cluster and registry (#1806) by @carolynvs
Install or Upgrade
v1.0.0-alpha.4
Breaking Changes
We recommend reading the release notes from the other alphas to see all the new features, and read about breaking changes that have been introduced. The data storage format for the v1 of Porter is not yet fixed. We are not providing migrations for your data between pre-release versions. We will provide migrations from the stable version of Porter (v0.38) to the new v1 format when we have a release candidate. So don't use the v1 prereleases for anything important!
What's Changed
- Update helm3 mixin doc by @MChorfa in #1749
- Properly format numbers parsed from jsonPath outputs by @carolynvs in #1755
- Use helm3 for the airgap example by @carolynvs in #1759
- Install the helm3 mixin on CI machine by @carolynvs in #1760
- Announce v1.0.0-alpha.3 by @carolynvs in #1768
- Continue installing the helm2 mixin by @carolynvs in #1774
- Remove debug print statement by @carolynvs in #1775
- Fix website typos by @carolynvs in #1776
- Use the helm3 mixin everywhere by @carolynvs in #1772
- Lock down file permissions by @carolynvs in #1770
- Make log persistence configurable by @carolynvs in #1780
- Reconcile installation upon apply by @carolynvs in #1764
- Add porter mixin create command by @joshuabezaleel in #1602
- Reduce how often we hit the database by @carolynvs in #1783
- Blog about the helm3 v0.1.14 mixin release by @carolynvs in #1777
- Fix broken links by @carolynvs in #1786
- update helm3 mixin documentation to the latest release by @MChorfa in #1788
- Add command to show historical runs of porter by @phillipahereza in #1779
- Sync operator with porter v1 by @carolynvs in #1785
- Sync main into release/v1 by @carolynvs in #1790
- Allow config env vars to be empty by @carolynvs in #1794
- Print applied file in debug mode by @carolynvs in #1796
Full Changelog: v1.0.0-alpha.3...v1.0.0-alpha.4
Install or Upgrade
We would love for you to try out v1.0.0-alpha.4 and send us any feedback that you have! Keep in mind that the v1 prerelease is not suitable for running with production workloads, and that data migrations will not be provided or supported for v1 prerelease.
The prerelease is intended for you to try out the new features in Porter, and provide feedback but won't work with existing installations.
One way to try out Porter without messing with your current installation of Porter is to install Porter into a different
PORTER_HOME directory.
MacOS
export PORTER_HOME=~/.porterv1
export VERSION="v1.0.0-alpha.4"
curl -L https://cdn.porter.sh/$VERSION/install-mac.sh | bash
Linux
export PORTER_HOME=~/.porterv1
export VERSION="v1.0.0-alpha.4"
curl -L https://cdn.porter.sh/$VERSION/install-linux.sh | bash
Windows
$PORTER_HOME="$env:USERPROFILE\.porterv1"
$VERSION="v1.0.0-alpha.4"
(New-Object System.Net.WebClient).DownloadFile("https://cdn.porter.sh/$VERSION/install-windows.ps1", "install-porter.ps1")
.\install-porter.ps1 -PORTER_HOME $PORTER_HOME
Now when you want to use the v1 version of Porter, set the PORTER_HOME environment variable and add it to your PATH.
Posix Shells
export PORTER_HOME=~/.porterv1
export PATH="$PORTER_HOME:$PATH"
PowerShell
$env:PORTER_HOME="$env:USERPROFILE\.porterv1"
$env:PATH+=";$env:PORTER_HOME"
v0.38.7
Fixes
- Make log persistence configurable #1780. By default Porter saves the output of a bundle running, and you can view the logs with the
porter logs
command. You can specify the--no-logs
flag , setPORTER_NO_LOGS=true
environment variable, or useno-logs = true
in your config file to disable this behavior. - Lock down file permissions #1770. All files written by Porter going forward are written with 0600 (0700 for directories). When Porter starts up, it checks if any sensitive files have the wrong permissions and requires you to run
porter storage fix-permissions
to continue using Porter. - Use the helm3 mixin everywhere #1772
- Remove debug print statement #1775
Install or Upgrade
Run (or re-run) the installation from https://porter.sh/install to get the latest version of porter.
v1.0.0-alpha.3
Highlights
This is a big release for our v1 alpha with LOTS of major changes. This is your reminder that the v1 prerelease is not suitable for running with production workloads, and that data migrations will not be provided or supported for v1 prereleases. The prerelease is intended for you to try out the new features in Porter, and provide feedback but won't work with existing installations.
In this release we have removed support for deprecated flags and fields in porter.yaml So if you have been ignoring a warning message in Porter's output for months, now is the time to fix those messages before upgrading.
MongoDb Support
Porter now stores its data in MongoDB! We no longer store installation records on the filesystem, though we still do have a ~/.porter directory with our configuration and cache. In dev and test, Porter by default runs MongoDb in a container for you on porter 27018 and connects to it.
You can also use our mongodb
storage plugin and connect to an existing MongoDB server. CosmosDB works as well, though we have a known performance problem with our CosmosDB indices that will be addressed in the next release.
default-storage = "mydb"
[[storage]]
name = "mydb"
plugin = "mongodb"
[storage.config]
url = "mongodb://username:password@host:port"
Namespaces
Porter resources such as installations, credential sets and parameter sets can optionally be defined within a namespace. Resources that are not defined in a namespace are considered global. When an installation is defined in a namespace, it can reference a credential or parameter set that is also defined in that namespace or at the global scope. Resources defined globally cannot reference other resources that are defined in a namespace.
When an installation references a parameter or credential set, Porter first looks for a resource with that name in the current namespace. If one does not exist, Porter then looks for that resource at the global level. This lets you define a common set of credentials to be used for an environment, like staging environment credentials that everyone can reuse, while allowing for overriding that resource within a particular namespace.
# list just in the current namespace defined in your porter config
porter installations list
# list in the specified namespace
porter installation list --namespace myuser
# list across all namespaces
porter installation list --all-namespaces
# list across all namespaces (alternate syntax)
porter installation list --namespace '*'
Labels
Porter resources also now support labels which may be used for filtering with the porter list
commands. For example:
porter installations list --namespace myuser --label env=dev --label app=myapp
Bundle State
Bundle authors can now declare that certain files are "state" and should be preserved between bundle runs. A prime example is the tfstate and tfvars files created by the terraform mixin. Now instead of using the old method of declaring those files as both parameters and outputs, you should declare them as state and Porter will ensure that they are always available to your bundle.
This corrects the problem where if an installation that used the terraform mixin, without a remote backend configured, failed to install, on subsequent install runs the resources originally created by terraform were not recorded and reused, leaving it up to the user to manually cleanup resources. With state, when install fails and is repeated, the terraform mixin is able to pick up where it left off.
Import credentials and parameter sets
Use the apply command to import a credential or parameter set from a file.
porter credentials apply mycreds.yaml
porter credentials apply myparams.json
You can export a credential or parameter set to a file with the show command.
porter credentials show mycreds -o yaml > mycreds.yaml
porter credentials show myparams -o json > myparams.json
Breaking Changes
- Remove deprecated tag #1718
- remove support for deprecated fields on manifest #1633
- Use official mongodb driver #1745
Features
- Hide internal outputs from porter installation outputs list #1761
- Add state section to porter.yaml #1743
- Update bundle action commands to work with the installation record #1724
- Include list of mixins used in porter explain and simplify explain output #1741
- Allow repeating install when --force is specified #1726
- Apply installation #1720
- Add apply command for creds and params #1715
- All namespaces #1712
- Support labels #1701
- Support Installation Specification #1684
- Support DOCKER_NETWORK environment variable #1698
- Default parameter and output types #1692
Fixes
- Remove debug print statement #1747
- Improve parameters loading by first trying file if not then treat as named set. #1731 by @fibonacci1729
- Always collect outputs even when bundle fails #1728
- chore(examples/azure-terraform): updates per forthcoming 0.8.0 release #1732
- Update help text description of porter #1722
- Fix bug resolving parameter sources from claim #1710
- Fix check for if a bundle was provided #1706
- Print help when no args are passed #1674
- Fix applyTo check for outputs in porter explain #1668
Miscellaneous
- Refactoring before adding reconcilation #1753
- Bump CI environment variables on v1 branch #1751
- Bump CI environment variables #1750
- Add ExtendedBundle wrapper #1739
- Move mage targets #1737
- Remove stopped mongo #1735
- Add Thinktecture AG to the adopters list #1721 🎉
- Sync docs #1711
- Fix helm download in workshop image #1713
- docs(code): Introduce copy code feature #1697 by @thisisommore
- faq.md updated #1679 by @sonukushwaha403
- doc(styles): Scroll menu and main content separately #1685 by @thisisommore
- Update credentials.md #1689 by @jemgoss
- Remove jsonschema fork: Bump cnab-go to v0.20.2 #1695
- Fix go.mod entry for jsonschema #1655
- Add shortlink for all pull requests #1694
- Fix tag detection on azure pipelines #1670
- Debug why example build is failing #1671
- Add bundle use cases to homepage #1657
- Blog: Helm v2 rename #1654
- Document helm3 mixin #1652
- Improve credentials documentation #1651
- Added Porter Mixins and Plugins details in Readme.md #1640 by @DARK-art108
- Document object parameters #1645
- Skip publish for v1 canary and latest #1641
Install or Upgrade
We would love for you to try out v1.0.0-alpha.3 and send us any feedback that you have! Keep in mind that the v1 prerelease is not suitable for running with production workloads, and that data migrations will not be provided or supported for v1 prerelease.
The prerelease is intended for you to try out the new features in Porter, and provide feedback but won't work with existing installations.
One way to try out Porter without messing with your current installation of Porter is to install Porter into a different
PORTER_HOME directory.
MacOS
export PORTER_HOME=~/.porterv1
export VERSION="v1.0.0-alpha.3"
curl -L https://cdn.porter.sh/$VERSION/install-mac.sh | bash
Linux
PORTER_HOME=~/.porterv1
VERSION="v1.0.0-alpha.3"
curl -L https://cdn.porter.sh/$VERSION/install-linux.sh | bash
Windows
$PORTER_HOME="$env:USERPROFILE\.porterv1"
$VERSION="v1.0.0-alpha.3"
(New-Object System.Net.WebClient).DownloadFile("https://cdn.porter.sh/$VERSION/install-windows.ps1", "install-porter.ps1")
.\install-porter.ps1 -PORTER_HOME $PORTER_HOME
Now when you want to use the v1 version of Porter, set the PORTER_HOME environment variable and add it to your PATH.
Posix Shells
export PORTER_HOME=~/.porterv1
export PATH="$PORTER_HOME:$PATH"
PowerShell
$env:PORTER_HOME="$env:USERPROFILE\.porterv1"
$env:PATH+=";$env:PORTER_HOME"
v0.38.6
Fixes
- Use helm3 for the airgap example #1759
- Properly format numbers parsed from jsonPath outputs #1755
- Update helm3 mixin doc #1749
- Update CI to build on the latest ubuntu LTS
- chore(examples/azure-terraform): updates per forthcoming 0.8.0 release
Install or Upgrade
Run (or re-run) the installation from https://porter.sh/install to get the latest version of porter.