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 }