Installers help you provide a self-service UI your customers can use to deploy your app into their cloud environment. There are two steps to setting up an installer: configuring the isntaller metadata, and then setting up your desired UX.

Configuring an Installer

Configure an installer for your app by adding an installer block to one of your app configs. For example, if you had both an AWS EKS and Azure AKS versions of your app, your config would look something like this.

You can run nuon installers list to confirm the installer was created. Once your installer has been created, you can set up a UI using either our template or the API.

The [installer] block must be added to one of your app configs in order to synced to Nuon. But, it does not “belong” to that app, and you do not need to add it to the rest of your app configs. Doing that will create multiple installers.

Using the UI Template

We provide an open-source installer UI template at https://github.com/nuonco/installer. It uses Next.js and Tailwind, to facilitate easy customization and deployment.

Forking the Template

To get started with the template, fork the template repo and run it locally following the directions in the README. When you’re ready, it can be deployed to any platform that supports Next.js.

Deploying to Vercel

If you’re using Vercel, follow these steps to deploy your fork of the template.

  1. Contact Nuon support to get a static token for your org. You’ll need this so the installer can make API calls without using your personal API token.
  2. Fetch your current installer id, using nuon installers list.
  3. Follow the Next.js docs to create a project on Vercel.
  4. In the Vercel project settings, under Environment Variables, add the NUON_ORG_ID and NUON_API_TOKEN, NUON_INSTALLER_ID vars, using your org ID and the static token from step 1 and installer ID from step 3.
  5. Push to your repo, and Vercel should create a new deploy automatically.
  6. When you’re ready to start serving customers, update the project’s DNS settings to host the installer at your desired domain.

Integrating with the API

If you want to provide a fully-custom experience to your customers, you can build your own UI against our API. Refer to the installer API docs to learn how to fetch installer data.