get.porter.sh/porter@v1.3.0/pkg/cnab/testdata/bundle-depsv2.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      "org.getporter.dependencies@v2",
    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      "org.getporter.dependencies@v2": {
    60        "requires": {
    61          "storage": {
    62            "bundle": "somecloud/blob-storage"
    63          },
    64          "mysql": {
    65            "bundle": "somecloud/mysql",
    66            "version": "5.7.x"
    67          }
    68        }
    69      },
    70      "io.cnab.parameter-sources": {
    71        "tfstate": {
    72          "priority": ["output"],
    73          "sources": {
    74            "output": {
    75              "name": "tfstate"
    76            }
    77          }
    78        },
    79        "mysql_connstr": {
    80          "priority": ["dependencies.output"],
    81          "sources": {
    82            "dependencies.output": {
    83              "dependency": "mysql",
    84              "name": "connstr"
    85            }
    86          }
    87        }
    88      }
    89    },
    90    "definitions": {
    91      "complexThing": {
    92        "type": "object",
    93        "properties": {
    94          "host": {
    95            "default": "localhost",
    96            "type": "string",
    97            "minLength": 3,
    98            "maxLength": 10
    99          },
   100          "port": {
   101            "type": "integer",
   102            "minimum": 8000
   103          }
   104        },
   105        "required": [
   106          "port"
   107        ]
   108      },
   109      "mysql_connstr": {
   110        "type": "string"
   111      },
   112      "tfstate": {
   113        "contentEncoding": "base64",
   114        "type": "string"
   115      }
   116    },
   117    "parameters": {
   118      "serverConfig": {
   119        "definition": "complexThing",
   120        "destination": {
   121          "path": "/cnab/is/go"
   122        }
   123      },
   124      "tfstate": {
   125        "applyTo": [ "upgrade", "uninstall" ],
   126        "definition": "tfstate",
   127        "required": true
   128      },
   129      "mysql_connstr": {
   130        "definition": "mysql_connstr"
   131      }
   132    },
   133    "outputs": {
   134      "tfstate": {
   135        "applyTo": [ "install", "upgrade", "uninstall" ],
   136        "definition": "tfstate",
   137        "path": "/cnab/app/outputs/tfstate"
   138      }
   139    }
   140  }