Supporting Review and CI Apps as an Add-on Partner
Last updated May 08, 2024
Table of Contents
Review and CI apps allow customers to test changes in short-lived, production-like environments. To minimize churn and operational burden for Partners, all add-ons provisioned for these environments will use a default plan that you set. This default plan overrides any plan the customer may have specified in the application’s app.json.
Example
Heroku PostgreSQL has essential-0
set as the Common Runtime default.
Given a codebase with a large postgres database specified in its app.json:
...
"addons": [
{
"plan": "heroku-postgresql:premium-0"
}
]
...
When this codebase is used in creating a new Review or CI app is created on the Common Runtime, that app uses a new instance of heroku-postgresql:essential-0
instead.
Implementing your default plan
You have the option of using an existing plan or creating a new one for short-lived apps.
We encourage you to think about different considerations when choosing and/or creating a default plan for short-lived apps. Instances that can be spun up and down quickly will save you and customers money. For add-ons which have backup functionality, you may want to turn this off, along with any features that do not make sense for short-lived apps.
You may also consider different usage patterns especially with CI apps for your add-on, and tune performance in that direction.
For some Partners, it may make sense to detect the owner of the CI or Review app and return an attachment to an existing installation. For example, a metrics add-on might wish to keep the same installation for all CI and Review apps and merely have different views or tags for each app. Partners may lookup additional information on pipelines using the Platform API, as well as retrieve App and Team information during the provisioning process.
Setting your defaults
At the launch of Heroku CI, your Common Runtime & Private Space defaults for short-lived apps were backfilled, typically to the cheapest plan. You can check your defaults by going to the Plans
tab in your add-on’s section of the Partner Portal. Your defaults can be modified by creating a support ticket.
A distinct default may be set for Private Spaces if needed. If the customer has chosen to have their Review and CI apps run in a Private Space, then we will chose this plan for them.
We may flag a very limited number of customers to skip defaulting behavior, where their ephemeral usage requires non-defaults.
To opt out of supporting CI or Review apps, open a support ticket.
Summary
Default add-on plans for ephemeral apps help reduce operational burden for partners and improve experience for users.