Create Your First Project

Let’s bootstrap our new project.

In Kowabunga, a project is a virtual environment where all your resources are going to be created.

Projects can:

  • be spawned over multiple regions. For each selected region, a dedicated virtual network and subnet will be automatically spawned (one from those created/reserved at admin provisioning stage). This ensures complete project’s resources isolation.
  • be administrated by multiple teams (e.g. the infrastructure admin one and the project application one).
  • use quotas (maximum instances, vCPUs, memory, storage) to limit global HCI resources usage and starvation. A value of 0 means unlimited quota.
  • use a private set of bootstrap keys (instead of global infrastructure one), so each newly created resource can be bootstraped with a specific keypair, until fully provisionned.
  • The project default admin/root password, set at cloud-init instance bootstrap phase. Will be randomly auto-generated at each instance creation if unspecified.

As a superAdmin user, one can create a the acme project, for admin team members, limited to eu-west region, with unlimited resources quota, and requesting a /25 subnet (at least), the following way:

data "kowabunga_region" "eu-west" {
  name = "eu-west"
}

data "kowabunga_team" "admin" {
  name = "admin"
}

resource "kowabunga_project" "acme" {
  name          = "acme"
  desc          = "ACME project"
  regions       = [data.kowabunga_region.eu-west.id]
  teams         = [data.kowabunga_team.admin.id]
  domain        = "acme.local"
  tags          = ["acme", "production"]
  metadata      = {
    "owner": "Kowabunga Admin",
  }
  max_instances = 0
  max_memory    = 0
  max_vcpus     = 0
  max_storage   = 0
  subnet_size   = 25
}
- name: Create ACME project
  kowabunga.cloud.project:
    name: acme
    description: "ACME project"
    regions:
      - eu-west
    teams:
      - admin
    domain: "acme.local"
    subnet_size: 25
    state: present

Your project is now live and does virtually nothing. Let’s move further by creating our first resource, the Kawaii Internet Gateway.