Skip to content

Releases: getporter/porter

v1.0.0-alpha.8

26 Jan 20:01
d4c1ddd
Compare
Choose a tag to compare
v1.0.0-alpha.8 Pre-release
Pre-release

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

Misc

Install or Upgrade

https://release-v1.porter.sh/install/#prerelease

v1.0.0-alpha.7

12 Jan 20:34
ef3ab34
Compare
Choose a tag to compare
v1.0.0-alpha.7 Pre-release
Pre-release

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

12 Jan 18:10
d7d2341
Compare
Choose a tag to compare
v1.0.0-alpha.6 Pre-release
Pre-release

Features

Fixes

Install or Upgrade

https://release-v1.porter.sh/install/#prerelease

v0.38.8

22 Nov 18:50
c1e1a04
Compare
Choose a tag to compare

Fixes

Misc

New Contributors

Full Changelog: v0.38.7...v0.38.8

v1.0.0-alpha.5

20 Oct 21:35
c127b43
Compare
Choose a tag to compare
v1.0.0-alpha.5 Pre-release
Pre-release

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

Fixes

Install or Upgrade

https://release-v1.porter.sh/install/#prerelease

v1.0.0-alpha.4

13 Oct 17:36
4b2126c
Compare
Choose a tag to compare
v1.0.0-alpha.4 Pre-release
Pre-release

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

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

28 Sep 15:14
43a2b2a
Compare
Choose a tag to compare

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 , set PORTER_NO_LOGS=true environment variable, or use no-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

21 Sep 14:59
09840b4
Compare
Choose a tag to compare
v1.0.0-alpha.3 Pre-release
Pre-release

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

15 Sep 18:48
43d077d
Compare
Choose a tag to compare

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.

v0.38.5

23 Aug 14:41
a4694cd
Compare
Choose a tag to compare