get.porter.sh/porter@v1.3.0/pkg/cnab/testdata/bundle.json (about)

     1  {
     2    "name": "foo",
     3    "version": "1.0",
     4    "schemaVersion": "99.99",
     5    "invocationImages": [
     6      {
     7        "imageType": "docker",
     8        "image": "technosophos/helloworld:0.1.0"
     9      }
    10    ],
    11    "images": {
    12      "image1": {
    13        "description": "image1",
    14        "image": "urn:image1uri",
    15        "refs": [
    16          {
    17            "path": "image1path",
    18            "field": "image.1.field"
    19          }
    20        ]
    21      },
    22      "image2": {
    23        "name": "image2",
    24        "uri": "urn:image2uri",
    25        "refs": [
    26          {
    27            "path": "image2path",
    28            "field": "image.2.field"
    29          }
    30        ]
    31      }
    32    },
    33    "credentials": {
    34      "foo": {
    35        "path": "pfoo"
    36      },
    37      "bar": {
    38        "env": "ebar"
    39      },
    40      "quux": {
    41        "path": "pquux",
    42        "env": "equux"
    43      }
    44    },
    45    "requiredExtensions": [
    46      "io.cnab.dependencies",
    47      "io.cnab.parameter-sources",
    48      "sh.porter.file-parameters"
    49    ],
    50    "custom": {
    51      "com.example.duffle-bag": {
    52        "icon": "https://example.com/icon.png",
    53        "iconType": "PNG"
    54      },
    55      "com.example.backup-preferences": {
    56        "enabled": true,
    57        "frequency": "daily"
    58      },
    59      "io.cnab.dependencies": {
    60        "requires": {
    61          "storage": {
    62            "bundle": "somecloud/blob-storage"
    63          },
    64          "mysql": {
    65            "bundle": "somecloud/mysql",
    66            "version": {
    67              "prereleases": true,
    68              "ranges": [
    69                "5.7.x"
    70              ]
    71            }
    72          }
    73        }
    74      },
    75      "io.cnab.parameter-sources": {
    76        "tfstate": {
    77          "priority": ["output"],
    78          "sources": {
    79            "output": {
    80              "name": "tfstate"
    81            }
    82          }
    83        },
    84        "mysql_connstr": {
    85          "priority": ["dependencies.output"],
    86          "sources": {
    87            "dependencies.output": {
    88              "dependency": "mysql",
    89              "name": "connstr"
    90            }
    91          }
    92        }
    93      }
    94    },
    95    "definitions": {
    96      "complexThing": {
    97        "type": "object",
    98        "properties": {
    99          "host": {
   100            "default": "localhost",
   101            "type": "string",
   102            "minLength": 3,
   103            "maxLength": 10
   104          },
   105          "port": {
   106            "type": "integer",
   107            "minimum": 8000
   108          }
   109        },
   110        "required": [
   111          "port"
   112        ]
   113      },
   114      "mysql_connstr": {
   115        "type": "string"
   116      },
   117      "tfstate": {
   118        "contentEncoding": "base64",
   119        "type": "string"
   120      }
   121    },
   122    "parameters": {
   123      "serverConfig": {
   124        "definition": "complexThing",
   125        "destination": {
   126          "path": "/cnab/is/go"
   127        }
   128      },
   129      "tfstate": {
   130        "applyTo": [ "upgrade", "uninstall" ],
   131        "definition": "tfstate",
   132        "required": true
   133      },
   134      "mysql_connstr": {
   135        "definition": "mysql_connstr"
   136      }
   137    },
   138    "outputs": {
   139      "tfstate": {
   140        "applyTo": [ "install", "upgrade", "uninstall" ],
   141        "definition": "tfstate",
   142        "path": "/cnab/app/outputs/tfstate"
   143      }
   144    }
   145  }