get.porter.sh/porter@v1.3.0/pkg/cnab/config-adapter/testdata/mybuns-depsv2.bundle.json (about)

     1  {
     2    "schemaVersion": "1.2.0",
     3    "name": "mybuns",
     4    "version": "0.1.2",
     5    "description": "A very thorough test bundle",
     6    "maintainers": [
     7      {
     8        "name": "John Doe",
     9        "email": "john.doe@example.com",
    10        "url": "https://example.com/a"
    11      },
    12      {
    13        "name": "Jane Doe",
    14        "url": "https://example.com/b"
    15      },
    16      {
    17        "name": "Janine Doe",
    18        "email": "janine.doe@example.com"
    19      },
    20      {
    21        "name": "",
    22        "email": "mike.doe@example.com",
    23        "url": "https://example.com/c"
    24      }
    25    ],
    26    "invocationImages": [
    27      {
    28        "imageType": "docker",
    29        "image": "localhost:5000/mybuns:porter-332dd75c541511a27fc332bdcd049d5b"
    30      }
    31    ],
    32    "images": {
    33      "whalesayd": {
    34        "imageType": "docker",
    35        "image": "carolynvs/whalesayd:latest",
    36        "description": "Whalesay as a service"
    37      }
    38    },
    39    "actions": {
    40      "boom": {
    41        "modifies": true,
    42        "description": "boom"
    43      },
    44      "dry-run": {
    45        "stateless": true,
    46        "description": "Make sure it will work before you run it"
    47      },
    48      "status": {
    49        "description": "Print the installation status"
    50      }
    51    },
    52    "parameters": {
    53      "aboolean": {
    54        "definition": "aboolean-parameter",
    55        "destination": {
    56          "env": "ABOOLEAN"
    57        }
    58      },
    59      "afile": {
    60        "definition": "afile-parameter",
    61        "destination": {
    62          "path": "/home/nonroot/.kube/config"
    63        }
    64      },
    65      "ainteger": {
    66        "definition": "ainteger-parameter",
    67        "destination": {
    68          "env": "AINTEGER"
    69        }
    70      },
    71      "anumber": {
    72        "definition": "anumber-parameter",
    73        "destination": {
    74          "env": "ANUMBER"
    75        }
    76      },
    77      "astring": {
    78        "definition": "astring-parameter",
    79        "destination": {
    80          "env": "ASTRING"
    81        }
    82      },
    83      "astringenum": {
    84        "definition": "astringenum-parameter",
    85        "destination": {
    86          "env": "ASTRINGENUM"
    87        }
    88      },
    89      "cfg": {
    90        "definition": "cfg-parameter",
    91        "description": "A json config file",
    92        "destination": {
    93          "path": "/cnab/app/buncfg.json"
    94        }
    95      },
    96      "chaos_monkey": {
    97        "definition": "chaos_monkey-parameter",
    98        "description": "Set to true to make the bundle fail",
    99        "destination": {
   100          "env": "CHAOS_MONKEY"
   101        }
   102      },
   103      "installonly": {
   104        "definition": "installonly-parameter",
   105        "applyTo": [
   106          "install"
   107        ],
   108        "destination": {
   109          "env": "INSTALLONLY"
   110        }
   111      },
   112      "jsonobject": {
   113        "definition": "jsonobject-parameter",
   114        "destination": {
   115          "env": "JSONOBJECT"
   116        }
   117      },
   118      "log_level": {
   119        "definition": "log_level-parameter",
   120        "description": "How unhelpful would you like the logs to be?",
   121        "destination": {
   122          "env": "LOG_LEVEL"
   123        }
   124      },
   125      "mysql-connstr": {
   126        "definition": "mysql-connstr-parameter",
   127        "destination": {
   128          "env": "MYSQL_CONNSTR"
   129        }
   130      },
   131      "notype-file": {
   132        "definition": "notype-file-parameter",
   133        "destination": {
   134          "path": "/cnab/app/config.toml"
   135        }
   136      },
   137      "notype-string": {
   138        "definition": "notype-string-parameter",
   139        "destination": {
   140          "env": "NOTYPE_STRING"
   141        }
   142      },
   143      "password": {
   144        "definition": "password-parameter",
   145        "description": "The super secret data",
   146        "destination": {
   147          "env": "PASSWORD"
   148        }
   149      },
   150      "porter-debug": {
   151        "definition": "porter-debug-parameter",
   152        "description": "Print debug information from Porter when executing the bundle",
   153        "destination": {
   154          "env": "PORTER_DEBUG"
   155        }
   156      },
   157      "porter-msg-output": {
   158        "definition": "porter-msg-output",
   159        "description": "Wires up the msg output for use as a parameter. Porter internal parameter that should not be set manually.",
   160        "destination": {
   161          "env": "PORTER_MSG_OUTPUT"
   162        }
   163      },
   164      "porter-state": {
   165        "definition": "porter-state",
   166        "description": "Supports persisting state for bundles. Porter internal parameter that should not be set manually.",
   167        "destination": {
   168          "path": "/porter/state.tgz"
   169        }
   170      },
   171      "sensitive": {
   172        "definition": "sensitive-parameter",
   173        "destination": {
   174          "env": "SENSITIVE"
   175        }
   176      },
   177      "tfstate": {
   178        "definition": "tfstate-parameter",
   179        "applyTo": [
   180          "upgrade",
   181          "uninstall"
   182        ],
   183        "destination": {
   184          "path": "/cnab/app/tfstate"
   185        },
   186        "required": true
   187      }
   188    },
   189    "credentials": {
   190      "password": {
   191        "path": "/tmp/password",
   192        "required": true,
   193        "applyTo": [
   194          "boom"
   195        ]
   196      },
   197      "username": {
   198        "env": "ROOT_USERNAME",
   199        "description": "The name you want on the audit log"
   200      }
   201    },
   202    "outputs": {
   203      "connStr": {
   204        "definition": "connStr-output",
   205        "applyTo": [
   206          "install"
   207        ],
   208        "path": "/cnab/app/outputs/connStr"
   209      },
   210      "msg": {
   211        "definition": "msg-output",
   212        "applyTo": [
   213          "install",
   214          "upgrade",
   215          "uninstall"
   216        ],
   217        "path": "/cnab/app/outputs/msg"
   218      },
   219      "mylogs": {
   220        "definition": "mylogs-output",
   221        "applyTo": [
   222          "install",
   223          "upgrade"
   224        ],
   225        "path": "/cnab/app/outputs/mylogs"
   226      },
   227      "porter-state": {
   228        "definition": "porter-state",
   229        "description": "Supports persisting state for bundles. Porter internal parameter that should not be set manually.",
   230        "path": "/cnab/app/outputs/porter-state"
   231      },
   232      "result": {
   233        "definition": "result-output",
   234        "applyTo": [
   235          "install",
   236          "upgrade"
   237        ],
   238        "path": "/cnab/app/outputs/result"
   239      },
   240      "tfstate": {
   241        "definition": "tfstate-output",
   242        "applyTo": [
   243          "install",
   244          "upgrade",
   245          "uninstall"
   246        ],
   247        "path": "/cnab/app/outputs/tfstate"
   248      }
   249    },
   250    "definitions": {
   251      "aboolean-parameter": {
   252        "default": true,
   253        "type": "boolean"
   254      },
   255      "afile-parameter": {
   256        "contentEncoding": "base64",
   257        "default": "",
   258        "type": "string"
   259      },
   260      "ainteger-parameter": {
   261        "default": 1,
   262        "maximum": 10,
   263        "minimum": 0,
   264        "type": "integer"
   265      },
   266      "anumber-parameter": {
   267        "default": 0.5,
   268        "exclusiveMaximum": 1,
   269        "exclusiveMinimum": 0,
   270        "type": "number"
   271      },
   272      "astring-parameter": {
   273        "default": "boop!",
   274        "maxLength": 10,
   275        "minLength": 1,
   276        "type": "string"
   277      },
   278      "astringenum-parameter": {
   279        "default": "blue",
   280        "enum": [
   281          "blue",
   282          "red",
   283          "purple",
   284          "pink"
   285        ],
   286        "type": "string"
   287      },
   288      "cfg-parameter": {
   289        "contentEncoding": "base64",
   290        "default": "",
   291        "description": "A json config file",
   292        "type": "string"
   293      },
   294      "chaos_monkey-parameter": {
   295        "default": false,
   296        "description": "Set to true to make the bundle fail",
   297        "type": "boolean"
   298      },
   299      "connStr-output": {
   300        "$id": "porter.sh/interfaces/mysql.connection-string",
   301        "default": "",
   302        "type": "string"
   303      },
   304      "installonly-parameter": {
   305        "default": false,
   306        "type": "boolean"
   307      },
   308      "jsonobject-parameter": {
   309        "default": "\"myobject\": { \"foo\": \"true\", \"bar\": [ 1, 2, 3 ] }",
   310        "type": "string"
   311      },
   312      "log_level-parameter": {
   313        "default": 5,
   314        "description": "How unhelpful would you like the logs to be?",
   315        "maximum": 11,
   316        "minimum": 1,
   317        "type": "integer"
   318      },
   319      "msg-output": {
   320        "default": "",
   321        "type": "string"
   322      },
   323      "mylogs-output": {
   324        "type": "string"
   325      },
   326      "mysql-connstr-parameter": {
   327        "default": "",
   328        "type": "string"
   329      },
   330      "notype-file-parameter": {
   331        "contentEncoding": "base64",
   332        "default": "",
   333        "type": "string"
   334      },
   335      "notype-string-parameter": {
   336        "default": "",
   337        "type": "string"
   338      },
   339      "password-parameter": {
   340        "default": "default-secret",
   341        "description": "The super secret data",
   342        "type": "string",
   343        "writeOnly": true
   344      },
   345      "porter-debug-parameter": {
   346        "$comment": "porter-internal",
   347        "$id": "https://porter.sh/generated-bundle/#porter-debug",
   348        "default": false,
   349        "description": "Print debug information from Porter when executing the bundle",
   350        "type": "boolean"
   351      },
   352      "porter-msg-output": {
   353        "$comment": "porter-internal",
   354        "$id": "https://porter.sh/generated-bundle/#porter-parameter-source-definition",
   355        "default": "",
   356        "type": "string"
   357      },
   358      "porter-state": {
   359        "$comment": "porter-internal",
   360        "$id": "https://porter.sh/generated-bundle/#porter-state",
   361        "contentEncoding": "base64",
   362        "description": "Supports persisting state for bundles. Porter internal parameter that should not be set manually.",
   363        "type": "string"
   364      },
   365      "result-output": {
   366        "type": "string",
   367        "writeOnly": true
   368      },
   369      "sensitive-parameter": {
   370        "default": "passw0rd123",
   371        "type": "string",
   372        "writeOnly": true
   373      },
   374      "tfstate-output": {
   375        "contentEncoding": "base64",
   376        "type": "string"
   377      },
   378      "tfstate-parameter": {
   379        "contentEncoding": "base64",
   380        "type": "string"
   381      }
   382    },
   383    "requiredExtensions": [
   384      "sh.porter.file-parameters",
   385      "org.getporter.dependencies@v2",
   386      "io.cnab.parameter-sources",
   387      "io.cnab.docker"
   388    ],
   389    "custom": {
   390      "app": {
   391        "version": "1.2.3"
   392      },
   393      "foo": {
   394        "test1": true,
   395        "test2": 1,
   396        "test3": "value",
   397        "test4": [
   398          "one",
   399          "two",
   400          "three"
   401        ],
   402        "test5": {
   403          "1": "one",
   404          "two": "two"
   405        }
   406      },
   407      "io.cnab.docker": null,
   408      "io.cnab.parameter-sources": {
   409        "mysql-connstr": {
   410          "priority": [
   411            "dependencies.output"
   412          ],
   413          "sources": {
   414            "dependencies.output": {
   415              "dependency": "db",
   416              "name": "connstr"
   417            }
   418          }
   419        },
   420        "porter-msg-output": {
   421          "priority": [
   422            "output"
   423          ],
   424          "sources": {
   425            "output": {
   426              "name": "msg"
   427            }
   428          }
   429        },
   430        "porter-state": {
   431          "priority": [
   432            "output"
   433          ],
   434          "sources": {
   435            "output": {
   436              "name": "porter-state"
   437            }
   438          }
   439        },
   440        "tfstate": {
   441          "priority": [
   442            "output"
   443          ],
   444          "sources": {
   445            "output": {
   446              "name": "tfstate"
   447            }
   448          }
   449        }
   450      },
   451      "org.getporter.dependencies@v2": {
   452        "requires": {
   453          "db": {
   454            "bundle": "localhost:5000/mydb:v0.1.0",
   455            "sharing": {
   456              "group": {}
   457            },
   458            "parameters": {
   459              "database": "bigdb"
   460            }
   461          }
   462        }
   463      },
   464      "sh.porter": {
   465        "manifestDigest": "",
   466        "mixins": {
   467          "exec": {
   468            "version": "v1.2.3"
   469          }
   470        },
   471        "manifest": "IyBUaGlzIGlzIGEgdGVzdCBidW5kbGUgdGhhdCBtYWtlcyBubyBsb2dpY2FsIHNlbnNlLCBidXQgaXQgZG9lcyBleGVyY2lzZSBsb3RzIG9mIGRpZmZlcmVudCBidW5kbGUgZmVhdHVyZXMKc2NoZW1hVHlwZTogQnVuZGxlCnNjaGVtYVZlcnNpb246IDEuMC4xCm5hbWU6IG15YnVucwp2ZXJzaW9uOiAwLjEuMgpkZXNjcmlwdGlvbjogIkEgdmVyeSB0aG9yb3VnaCB0ZXN0IGJ1bmRsZSIKcmVnaXN0cnk6IGxvY2FsaG9zdDo1MDAwCmRvY2tlcmZpbGU6IERvY2tlcmZpbGUudG1wbAoKbWFpbnRhaW5lcnM6Ci0gbmFtZTogIkpvaG4gRG9lIgogIGVtYWlsOiAiam9obi5kb2VAZXhhbXBsZS5jb20iCiAgdXJsOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9hIgotIG5hbWU6ICJKYW5lIERvZSIKICB1cmw6ICJodHRwczovL2V4YW1wbGUuY29tL2IiCi0gbmFtZTogIkphbmluZSBEb2UiCiAgZW1haWw6ICJqYW5pbmUuZG9lQGV4YW1wbGUuY29tIgotIGVtYWlsOiAibWlrZS5kb2VAZXhhbXBsZS5jb20iCiAgdXJsOiAiaHR0cHM6Ly9leGFtcGxlLmNvbS9jIgoKY3VzdG9tOgogIGFwcDoKICAgIHZlcnNpb246IDEuMi4zCiAgZm9vOgogICAgdGVzdDE6IHRydWUKICAgIHRlc3QyOiAxCiAgICB0ZXN0MzogdmFsdWUKICAgIHRlc3Q0OgogICAgICAtIG9uZQogICAgICAtIHR3bwogICAgICAtIHRocmVlCiAgICB0ZXN0NToKICAgICAgMTogb25lCiAgICAgIHR3bzogdHdvCgpyZXF1aXJlZDoKICAtIGRvY2tlcgoKY3JlZGVudGlhbHM6CiAgLSBuYW1lOiB1c2VybmFtZQogICAgZGVzY3JpcHRpb246ICJUaGUgbmFtZSB5b3Ugd2FudCBvbiB0aGUgYXVkaXQgbG9nIgogICAgZW52OiBST09UX1VTRVJOQU1FCiAgICByZXF1aXJlZDogZmFsc2UKICAtIG5hbWU6IHBhc3N3b3JkCiAgICBwYXRoOiAvdG1wL3Bhc3N3b3JkCiAgICBhcHBseVRvOgogICAgICAtIGJvb20KCnBhcmFtZXRlcnM6CiAgLSBuYW1lOiBsb2dfbGV2ZWwKICAgIGRlc2NyaXB0aW9uOiAiSG93IHVuaGVscGZ1bCB3b3VsZCB5b3UgbGlrZSB0aGUgbG9ncyB0byBiZT8iCiAgICB0eXBlOiBpbnRlZ2VyCiAgICBtaW5pbXVtOiAxCiAgICBtYXhpbXVtOiAxMQogICAgZGVmYXVsdDogNQogIC0gbmFtZTogcGFzc3dvcmQKICAgIGRlc2NyaXB0aW9uOiAiVGhlIHN1cGVyIHNlY3JldCBkYXRhIgogICAgdHlwZTogc3RyaW5nCiAgICBkZWZhdWx0OiAiZGVmYXVsdC1zZWNyZXQiCiAgICBzZW5zaXRpdmU6IHRydWUKICAtIG5hbWU6IG15c3FsLWNvbm5zdHIKICAgIHR5cGU6IHN0cmluZwogICAgZGVmYXVsdDogIiIgIyBTZXR0aW5nIGEgZGVmYXVsdCBzbyB0aGF0IHRoaXMgaXNuJ3QgcmVxdWlyZWQgZm9yIGluc3RhbGwKICAgIHNvdXJjZToKICAgICAgZGVwZW5kZW5jeTogZGIKICAgICAgb3V0cHV0OiBjb25uc3RyCiAgLSBuYW1lOiBjaGFvc19tb25rZXkKICAgIGRlc2NyaXB0aW9uOiAiU2V0IHRvIHRydWUgdG8gbWFrZSB0aGUgYnVuZGxlIGZhaWwiCiAgICB0eXBlOiBib29sZWFuCiAgICBkZWZhdWx0OiBmYWxzZQogIC0gbmFtZTogdGZzdGF0ZQogICAgdHlwZTogZmlsZQogICAgcGF0aDogL2NuYWIvYXBwL3Rmc3RhdGUKICAgIHNvdXJjZToKICAgICAgb3V0cHV0OiB0ZnN0YXRlCiAgICBhcHBseVRvOgogICAgICAtIHVwZ3JhZGUKICAgICAgLSB1bmluc3RhbGwKICAtIG5hbWU6IGNmZwogICAgZGVzY3JpcHRpb246ICJBIGpzb24gY29uZmlnIGZpbGUiCiAgICB0eXBlOiBmaWxlCiAgICBkZWZhdWx0OiAnJwogICAgcGF0aDogYnVuY2ZnLmpzb24KICAtIG5hbWU6IGFpbnRlZ2VyCiAgICB0eXBlOiBpbnRlZ2VyCiAgICBkZWZhdWx0OiAxCiAgICBtaW5pbXVtOiAwCiAgICBtYXhpbXVtOiAxMAogIC0gbmFtZTogYW51bWJlcgogICAgdHlwZTogbnVtYmVyCiAgICBkZWZhdWx0OiAwLjUgIyBUaGlzIGlzIGEgcmVncmVzc2lvbiB0ZXN0IHRoYXQgd2UgY2FuIGJvdGggYnVpbGQgYW5kIHB1c2ggYSBidW5kbGUgdGhhdCB1c2VzIG51bWVyaWMgdHlwZXMKICAgIGV4Y2x1c2l2ZU1pbmltdW06IDAKICAgIGV4Y2x1c2l2ZU1heGltdW06IDEKICAtIG5hbWU6IGFzdHJpbmdlbnVtCiAgICB0eXBlOiBzdHJpbmcKICAgIGRlZmF1bHQ6IGJsdWUKICAgIGVudW06CiAgICAgIC0gYmx1ZQogICAgICAtIHJlZAogICAgICAtIHB1cnBsZQogICAgICAtIHBpbmsKICAtIG5hbWU6IGFzdHJpbmcKICAgIHR5cGU6IHN0cmluZwogICAgbWluTGVuZ3RoOiAxCiAgICBtYXhMZW5ndGg6IDEwCiAgICBkZWZhdWx0OiAnYm9vcCEnCiAgLSBuYW1lOiBhYm9vbGVhbgogICAgdHlwZTogYm9vbGVhbgogICAgZGVmYXVsdDogdHJ1ZQogIC0gbmFtZTogaW5zdGFsbG9ubHkKICAgIHR5cGU6IGJvb2xlYW4KICAgIGRlZmF1bHQ6IGZhbHNlCiAgICBhcHBseVRvOgogICAgICAtIGluc3RhbGwKICAtIG5hbWU6IHNlbnNpdGl2ZQogICAgdHlwZTogc3RyaW5nCiAgICBzZW5zaXRpdmU6IHRydWUKICAgIGRlZmF1bHQ6ICJwYXNzdzByZDEyMyIKICAtIG5hbWU6IGpzb25vYmplY3QKICAgIHR5cGU6IHN0cmluZwogICAgZGVmYXVsdDogJyJteW9iamVjdCI6IHsKICAgICAgICAiZm9vIjogInRydWUiLAogICAgICAgICJiYXIiOiBbCiAgICAgICAgICAxLAogICAgICAgICAgMiwKICAgICAgICAgIDMKICAgICAgICBdCiAgICAgIH0nCiAgLSBuYW1lOiBhZmlsZQogICAgdHlwZTogZmlsZQogICAgZGVmYXVsdDogJycKICAgIHBhdGg6IC9ob21lL25vbnJvb3QvLmt1YmUvY29uZmlnCiAgLSBuYW1lOiBub3R5cGUtZmlsZQogICAgZGVmYXVsdDogJycKICAgIHBhdGg6IC9jbmFiL2FwcC9jb25maWcudG9tbAogIC0gbmFtZTogbm90eXBlLXN0cmluZwogICAgZGVmYXVsdDogJycKCm91dHB1dHM6CiAgLSBuYW1lOiBtc2cKICAgIHR5cGU6IHN0cmluZwogICAgZGVmYXVsdDogIiIKICAgIGFwcGx5VG86CiAgICAgIC0gaW5zdGFsbAogICAgICAtIHVwZ3JhZGUKICAgICAgLSB1bmluc3RhbGwKICAtIG5hbWU6IGNvbm5TdHIKICAgICRpZDogInBvcnRlci5zaC9pbnRlcmZhY2VzL215c3FsLmNvbm5lY3Rpb24tc3RyaW5nIgogICAgZGVmYXVsdDogIiIKICAgIGFwcGx5VG86CiAgICAgIC0gaW5zdGFsbAogIC0gbmFtZTogbXlsb2dzCiAgICBhcHBseVRvOgogICAgICAtIGluc3RhbGwKICAgICAgLSB1cGdyYWRlCiAgLSBuYW1lOiByZXN1bHQKICAgIGFwcGx5VG86CiAgICAgIC0gaW5zdGFsbAogICAgICAtIHVwZ3JhZGUKICAgIHNlbnNpdGl2ZTogdHJ1ZQogIC0gbmFtZTogdGZzdGF0ZQogICAgdHlwZTogZmlsZQogICAgcGF0aDogL2NuYWIvYXBwL3Rmc3RhdGUKICAgIGFwcGx5VG86CiAgICAgIC0gaW5zdGFsbAogICAgICAtIHVwZ3JhZGUKICAgICAgLSB1bmluc3RhbGwKCnN0YXRlOgogIC0gbmFtZTogbWFnaWNfZmlsZQogICAgcGF0aDogbWFnaWMudHh0CgpkZXBlbmRlbmNpZXM6CiAgcmVxdWlyZXM6CiAgICAtIG5hbWU6IGRiCiAgICAgIGJ1bmRsZToKICAgICAgICByZWZlcmVuY2U6ICJsb2NhbGhvc3Q6NTAwMC9teWRiOnYwLjEuMCIKICAgICAgcGFyYW1ldGVyczoKICAgICAgICBkYXRhYmFzZTogYmlnZGIKCmltYWdlczoKICB3aGFsZXNheWQ6CiAgICBkZXNjcmlwdGlvbjogIldoYWxlc2F5IGFzIGEgc2VydmljZSIKICAgIGltYWdlVHlwZTogImRvY2tlciIKICAgIHJlcG9zaXRvcnk6IGNhcm9seW52cy93aGFsZXNheWQKICAgIHRhZzogImxhdGVzdCIKCm1peGluczoKICAtIGV4ZWMKICAtIHRlc3RtaXhpbjoKICAgICAgY2xpZW50VmVyc2lvbjogMS4yLjMKCmN1c3RvbUFjdGlvbnM6CiAgZHJ5LXJ1bjoKICAgIGRlc2NyaXB0aW9uOiAiTWFrZSBzdXJlIGl0IHdpbGwgd29yayBiZWZvcmUgeW91IHJ1biBpdCIKICAgIHN0YXRlbGVzczogdHJ1ZQogICAgbW9kaWZpZXM6IGZhbHNlCiAgc3RhdHVzOgogICAgZGVzY3JpcHRpb246ICJQcmludCB0aGUgaW5zdGFsbGF0aW9uIHN0YXR1cyIKICAgIHN0YXRlbGVzczogZmFsc2UKICAgIG1vZGlmaWVzOiBmYWxzZQoKaW5zdGFsbDoKICAtIGV4ZWM6CiAgICAgIGRlc2NyaXB0aW9uOiAiQ2hlY2sgdGhlIGRvY2tlciBzb2NrZXQiCiAgICAgIGNvbW1hbmQ6IHN0YXQKICAgICAgYXJndW1lbnRzOgogICAgICAgIC0gL3Zhci9ydW4vZG9ja2VyLnNvY2sKICAtIGV4ZWM6CiAgICAgIGRlc2NyaXB0aW9uOiAiTGV0J3MgbWFrZSBzb21lIG1hZ2ljIgogICAgICBjb21tYW5kOiAuL2hlbHBlcnMuc2gKICAgICAgYXJndW1lbnRzOgogICAgICAgIC0gbWFrZU1hZ2ljCiAgICAgICAgLSAiJHsgYnVuZGxlLmNyZWRlbnRpYWxzLnVzZXJuYW1lIH0gaXMgYSB1bmljb3JuIHdpdGggJHsgYnVuZGxlLnBhcmFtZXRlcnMucGFzc3dvcmQgfSBzZWNyZXQuIgogIC0gZXhlYzoKICAgICAgZGVzY3JpcHRpb246ICJpbnN0YWxsIgogICAgICBjb21tYW5kOiAuL2hlbHBlcnMuc2gKICAgICAgYXJndW1lbnRzOgogICAgICAgIC0gaW5zdGFsbAogICAgICBvdXRwdXRzOgogICAgICAgIC0gbmFtZTogbXlsb2dzCiAgICAgICAgICByZWdleDogIiguKikiCiAgLSBleGVjOgogICAgICBkZXNjcmlwdGlvbjogInJvbGwgdGhlIGRpY2Ugd2l0aCB5b3VyIGNoYW9zIG1vbmtleSIKICAgICAgY29tbWFuZDogLi9oZWxwZXJzLnNoCiAgICAgIGFyZ3VtZW50czoKICAgICAgICAtIGNoYW9zX21vbmtleQogICAgICAgIC0gJHsgYnVuZGxlLnBhcmFtZXRlcnMuY2hhb3NfbW9ua2V5IH0KICAgICAgb3V0cHV0czoKICAgICAgICAtIG5hbWU6IHJlc3VsdAogICAgICAgICAgcmVnZXg6ICIoLiopIgoKZHJ5LXJ1bjoKICAtIGV4ZWM6CiAgICAgIGRlc2NyaXB0aW9uOiAiQ2hlY2sgc29tZSB0aGluZ3MiCiAgICAgIGNvbW1hbmQ6IGVjaG8KICAgICAgYXJndW1lbnRzOgogICAgICAgIC0gIkFsbCBjbGVhciEiCgpzdGF0dXM6CiAgLSBleGVjOgogICAgICBkZXNjcmlwdGlvbjogIlByaW50IGNvbmZpZyIKICAgICAgY29tbWFuZDogY2F0CiAgICAgIGFyZ3VtZW50czoKICAgICAgICAtICR7IGJ1bmRsZS5wYXJhbWV0ZXJzLmNmZyB9CiAgLSBleGVjOgogICAgICBkZXNjcmlwdGlvbjogIlByaW50IG1hZ2ljIgogICAgICBjb21tYW5kOiBjYXQKICAgICAgYXJndW1lbnRzOgogICAgICAgIC0gbWFnaWMudHh0Cgpib29tOgogIC0gZXhlYzoKICAgICAgZGVzY3JpcHRpb246ICJtb2RpZnkgdGhlIGJ1bmRsZSBpbiB1bmtub3dhYmxlIHdheXMiCiAgICAgIGNvbW1hbmQ6IGVjaG8KICAgICAgYXJndW1lbnRzOgogICAgICAgIC0gIllPTE8iCgp1cGdyYWRlOgogIC0gZXhlYzoKICAgICAgZGVzY3JpcHRpb246ICJFbnN1cmUgbWFnaWMiCiAgICAgIGNvbW1hbmQ6IC4vaGVscGVycy5zaAogICAgICBhcmd1bWVudHM6CiAgICAgICAgLSBlbnN1cmVNYWdpYwogIC0gZXhlYzoKICAgICAgZGVzY3JpcHRpb246ICJ1cGdyYWRlIgogICAgICBjb21tYW5kOiAuL2hlbHBlcnMuc2gKICAgICAgYXJndW1lbnRzOgogICAgICAgIC0gdXBncmFkZQogICAgICAgIC0gJHsgYnVuZGxlLm91dHB1dHMubXNnIH0KICAgICAgb3V0cHV0czoKICAgICAgICAtIG5hbWU6IG15bG9ncwogICAgICAgICAgcmVnZXg6ICIoLiopIgogIC0gZXhlYzoKICAgICAgZGVzY3JpcHRpb246ICJyb2xsIHRoZSBkaWNlIHdpdGggeW91ciBjaGFvcyBtb25rZXkiCiAgICAgIGNvbW1hbmQ6IC4vaGVscGVycy5zaAogICAgICBhcmd1bWVudHM6CiAgICAgICAgLSBjaGFvc19tb25rZXkKICAgICAgICAtICR7IGJ1bmRsZS5wYXJhbWV0ZXJzLmNoYW9zX21vbmtleSB9CiAgICAgIG91dHB1dHM6CiAgICAgICAgLSBuYW1lOiByZXN1bHQKICAgICAgICAgIHJlZ2V4OiAiKC4qKSIKCnVuaW5zdGFsbDoKICAtIGV4ZWM6CiAgICAgIGRlc2NyaXB0aW9uOiAiRW5zdXJlIE1hZ2ljIgogICAgICBjb21tYW5kOiAuL2hlbHBlcnMuc2gKICAgICAgYXJndW1lbnRzOgogICAgICAgIC0gZW5zdXJlTWFnaWMKICAtIGV4ZWM6CiAgICAgIGRlc2NyaXB0aW9uOiAidW5pbnN0YWxsIgogICAgICBjb21tYW5kOiAuL2hlbHBlcnMuc2gKICAgICAgYXJndW1lbnRzOgogICAgICAgIC0gdW5pbnN0YWxsCiAgICAgICAgLSAkeyBidW5kbGUub3V0cHV0cy5tc2cgfQogIC0gZXhlYzoKICAgICAgZGVzY3JpcHRpb246ICJyb2xsIHRoZSBkaWNlIHdpdGggeW91ciBjaGFvcyBtb25rZXkiCiAgICAgIGNvbW1hbmQ6IC4vaGVscGVycy5zaAogICAgICBhcmd1bWVudHM6CiAgICAgICAgLSBjaGFvc19tb25rZXkKICAgICAgICAtICR7IGJ1bmRsZS5wYXJhbWV0ZXJzLmNoYW9zX21vbmtleSB9Cg==",
   472        "version": "",
   473        "commit": "",
   474        "preserveTags": false
   475      },
   476      "sh.porter.file-parameters": {}
   477    }
   478  }