Examine Bundles
Once a bundle has been built, how do users of the bundle figure out how to actually use it? A user could read the porter.yaml
or the bundle.json
if they have the bundle locally, but this won’t work for a bundle that has been published to an OCI registry. Even when you have them locally, the bundle.json
and porter.yaml
aren’t the best way to figure out how to use a bundle. How should a user examine the bundle then? Porter has a command called explain
to help with this!
$ porter explain --tag jeremyrickard/porter-do-bundle:v1.0.0
Name: spring-music
Description: Run the Spring Music Service on Kubernetes and Digital Ocean PostgreSQL
Version: 1.0.0
Credentials:
Name Description Required
do_access_token Access Token for Digital Ocean Account true
do_spaces_key DO Spaces API Key true
do_spaces_secret DO Spaces API Secret true
kubeconfig Kube config file with permissions to deploy app true
Parameters:
Name Description Type Default Required Applies To
database_name Name of database to create string jrrportertest false All Actions
helm_release Helm release name string spring-music-helm false All Actions
namespace Namespace to install Spring Music app string default false All Actions
node_count Number of database nodes integer 1 false All Actions
region Region to create Database and DO Space string nyc3 false All Actions
space_name Name for DO Space string jrrportertest false All Actions
Outputs:
Name Description Type Applies To
service_ip IP Address assigned to the Load Balancer string install,upgrade
No custom actions defined
The porter explain
command will show what credentials and parameters are required for the bundle, what outputs are generated, and what custom actions have been defined. For parameters
, this command will also show you the default value, if one has been provided. Additionally, the user can quickly see what actions a parameter
or output
apply to.
porter explain
can be used with a published bundle, as show above, or with a local bundle. The command even works with bundles that were not built with Porter, through the use of the --cnab-file
flag. For all the options, run the command porter explain --help
.
If you would like to see the invocation images and/or the images the bundle will use, see the inspect command.