JobCloud Pulumi Components

Reusable, service-level Pulumi components for building JobCloud infrastructure with secure, opinionated defaults.

The library provides components for AWS, Aiven, Docker and GitHub. Each component encapsulates a service domain rather than wrapping a single provider resource, so common deployments require less provider-level orchestration.

Installation

The packages are distributed privately through GitHub Packages. Configure the @jobcloud scope with credentials that can read packages:

CODE
@jobcloud:registry=https://npm.pkg.github.com
//npm.pkg.github.com/:_authToken=${NODE_AUTH_TOKEN}

Install the consumer-facing umbrella package:

CODE
bun add @jobcloud/pulumi-components

Consumer helpers that do not create component resources are available separately:

CODE
bun add @jobcloud/pulumi-helpers

Example

CODE
import { AwsS3Bucket } from '@jobcloud/pulumi-components';

const assets = new AwsS3Bucket({
  bucketName: 'applicationAssets',
  enforceSecureTransport: true,
  serverSideEncryption: {
    sseAlgorithm: 'AES256',
  },
});

export const assetsBucketArn = assets.bucketArn;

Components derive their Pulumi and provider resource names from the active Pulumi project and stack together with explicit identity or purpose inputs. Consult each component's API reference for its capabilities, defaults, validation and naming behaviour.

Requirements

  • Node.js 24
  • A Pulumi TypeScript project
  • Credentials for the target provider and permission to read the private @jobcloud packages

Use the navigation and search controls to explore the umbrella component API and consumer helpers.