Bootstrapping Prodvana

In this guide, you will set up Prodvana for your organization for the first time. You will be connecting a Kubernetes (k8s) runtime and creating your first application.

Target Audience

An engineer with "root" access to production.

Actions performed in this guide require access and ownership of the underlying infrastructure in your organization. After this guide has been followed, other engineers in your organization will be able to deploy services independently and with one click.

Prerequisites

  • A Prodvana instance for your organization. Talk to us if you do not have one.
  • pvnctl installed and linked to your instance. See pvnctl docs.
  • A k8s cluster you have permission to run kubectl on. You can link an existing cluster or create a new one in your cloud provider of choice. Prodvana will create dedicated namespaces it manages, leaving the rest of your namespaces alone.
  • A docker container registry + relevant credentials. Currently, Github, AWS, GCP, and Docker Hub are supported.

Bootstrapping Prodvana

1. Linking Your Kubernetes Runtime

  • Visit https://.prodvana.io/runtimes and click on "Link Runtime" -> "Kubernetes Runtime".
  • Follow prompts on the page to link a new runtime - you will be asked to execute a bash script from a machine with kubectl set up and with permissions to access your cluster.

2. Adding Your Docker Registry Integration

Amazon ECR

  • Visit https://.prodvana.io/integrations
  • Click on "Add Registry" -> "Amazon ECR".
  • Follow on-screen instructions.

GCP Artifacts Registry

34003400
  • Visit https://.prodvana.io/integrations
  • Click on "Add Registry" -> "Other Registries".
  • The username is _json_key.
  • The password is the content of your json key file (see above GCP documentation for how to get it).
  • The domain is https://-docker.pkg.dev. Do not include any other subpaths like your GCP project name.
  • Click save.

All other Registries

  • Visit https://.prodvana.io/integrations
  • Click on "Add Registry" -> "Other Registries".
  • Put in the username, password, and domain for your registry.

3. Creating Your First Application

Applications represent a logical unit in production. When you are first starting off on Prodvana, one application will suffice. Applications have release channels, i.e. environments. A common pattern is to have a staging release channel for internal traffic and a production release channel for external.

To create your first application, run:

pvnctl applications create

Fill out the config in the text editor that popped open, or use the config below if you want a simple application with a staging and production release channel.

name: default
release_channels:
- name: staging
  runtimes:
  - runtime: <runtime name from previous step>
- name: prod
  runtimes:
  order: 1  # this tells our deployment engine to push prod after staging
  - runtime: <runtime name from previous step>

You can now go to https://.prodvana.io and see your just-created application.


What’s Next

Prodvana is ready for the rest of your organization to use! Go ahead to the next guide to deploy your first service.