Skip to content


Pushing invalid manifest provides unhelpful feedback #29

glenngillen opened this Issue · 2 comments

3 participants


pvh was tried to push a manifest, which turned out to be invalid. Rather than providing a useful explanation of what went wrong it simply provided an output of the usage/help.


I ran into this today. The problems happens even for the simpler case of kensa test manifest and even more confusingly for e.g. kensa test provision. Here's a test case (the broken manifest in this case was missing a comma):

/tmp $ mkdir test
/tmp $ cd test/
/tmp/test $ curl -o addon-manifest.json
/tmp/test $ kensa test manifest

Usage: kensa [OPTIONS] command
       kensa init
       kensa create <app_name> --template
       kensa test   <type> [arg1 arg2 ...]
       kensa run    <command> [arg1 arg1 ...]


  -f, --filename path-to-file
    Sets the manifest file to operate on, default is addon-manifest.json.

  -h, --help
    Show this message

  -p, --plan
    Provision the specified plan instead of "test"

    Check provision call with async response.

    Skip single sign-on authentication when doing provision calls

    Use HTTP POST for single sign-on instead of GET

    Name of git template on github or full url of git repo.


  init            Creates a skeleton manifest

  create <app>    Clone a git repo that contains a template add-on

  test <type>     Simulate call from Heroku (provision or deprovision)

  run <command>   Provisions a resource and runs command in returned ENV

  sso <id>        Launches the browser on a Heroku session for the specified id

  push            Send the manifest to Heroku

  pull <id>       Fetch the latest manifest from Heroku


  provision [optional params] 
    Simulate a provision call from Heroku.
    [optional params]
      accepts extra command options and passes them on to the provision request
      ie: kensa test provision --foo bar

  deprovision <id>
    Simulate a deprovision call from Heroku.

  planchange <id> <new_plan>
    Simulate a plan change call from Heroku.

  sso <id>
    Simulate a single sign-on call from Heroku.

    Confirm that the manifest is valid.  Automatically runs before all tests.

    runs provision, planchange, and deprovision tests.  
    defaults to using 'foo' for planchange plan.

/tmp/test $ curl -o addon-manifest.json
/tmp/test $ kensa test manifest

Testing manifest id key
  Check if exists [PASS]
  Check is a string [PASS]
  Check is not blank [PASS]

Testing manifest api key
  Check if exists [PASS]
  Check is a hash [PASS]
  Check contains password [PASS]
  Check contains test url [PASS]
  Check contains production url [PASS]
  Check production url uses SSL [PASS]
  Check sso url uses SSL [PASS]
  Check contains config_vars array [PASS]
  Check containst at least one config var [PASS]
  Check all config vars are uppercase strings [PASS]
  Check all config vars are prefixed with the addon id [PASS]
  Check deprecated fields [PASS]

/tmp/test $ kensa version
Kensa 1.4.1

I encountered this also, not helpful.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.