Skip to main content

Provision with Pulumi

This page explains how to provision infrastructure using Pulumi with FluentCI.

Pulumi is an infrastructure-as-code (IaC) tool that lets you provision and manage cloud infrastructure. Pulumi provides plugins called providers that let you interact with cloud providers and other APIs.

Before you begin

The instructions on this page assume that you are familiar with Pulumi. In addition:

  • Have your Pulumi project ready.
  • If you don't already have a project to provision with Pulumi, you can create a default project by installing and initializing Pulumi.
  • Make sure you have a Pulumi.yaml file in your project root directory.
  • Make sure you have a Pulumi.dev.yaml file in your project root directory.

Using the Pulumi Plugin

You can use FluentCI to provision infrastructure using Pulumi with the pulumi plugin without installing Pulumi CLI on your machine. FluentCI will handle everything for you.

The following commands can be used to provision infrastructure using Pulumi:

fluentci run --wasm pulumi preview --stack dev
fluentci run --wasm pulumi up --stack dev

CI/CD pipeline integrations

The following examples show how to integrate FluentCI with popular CI providers to provision infrastructure using Pulumi:

ci.yml
name: ci
on:
push:
branches:
- main
jobs:
tasks:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v2
- name: Setup Fluent CI
uses: fluentci-io/setup-fluentci@v5
- name: preview
run: fluentci run --wasm pulumi preview --stack dev
env:
GOOGLE_APPLICATION_CREDENTIALS: ./service-account.json
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}
- name: up
run: fluentci run --wasm pulumi up --stack dev
env:
GOOGLE_APPLICATION_CREDENTIALS: ./service-account.json
PULUMI_ACCESS_TOKEN: ${{ secrets.PULUMI_ACCESS_TOKEN }}