@kuckit/infra-gcp
v1.0.1
Published
Kuckit GCP infrastructure provider - deploys to Cloud Run with Cloud SQL, Redis, and Artifact Registry
Maintainers
Readme
@kuckit/infra-gcp
GCP infrastructure provider for Kuckit applications. Deploys to Google Cloud Platform with:
- Cloud Run - Containerized application hosting
- Cloud SQL (PostgreSQL) - Managed database
- Memorystore (Redis) - Caching and sessions
- Artifact Registry - Container image storage
- VPC with Direct VPC Egress - Private networking
Prerequisites
- Pulumi CLI
- Google Cloud SDK (gcloud)
- GCP project with billing enabled
- Authenticated via
gcloud auth loginandgcloud auth application-default login
Installation
bun add @kuckit/infra-gcp
# or
npm install @kuckit/infra-gcpUsage
This package is used by the Kuckit CLI. After installation:
# Initialize infrastructure (creates VPC, DB, Redis, Registry)
kuckit infra init --provider gcp --project YOUR_GCP_PROJECT
# Deploy application (builds and deploys to Cloud Run)
kuckit infra deploy
# View status
kuckit infra status
# Destroy infrastructure
kuckit infra destroyHow It Works
kuckit infra init- Creates base infrastructure without deploying the app:- VPC with private subnets
- Cloud SQL PostgreSQL instance
- Memorystore Redis instance
- Artifact Registry repository
- Service accounts with minimal permissions
kuckit infra deploy- Builds and deploys your application:- Builds Docker image using Cloud Build
- Pushes to Artifact Registry
- Deploys Cloud Run service with VPC connector
- Configures secrets and environment variables
Configuration
Infrastructure configuration is stored in .kuckit/infra.json:
{
"provider": "gcp",
"providerPackage": "@kuckit/infra-gcp",
"region": "us-central1",
"env": "dev",
"providerConfig": {
"gcpProject": "your-gcp-project"
}
}Ejecting for Customization
If you need to customize the infrastructure beyond what the provider offers:
kuckit infra ejectThis copies the Pulumi code to your project's packages/infra directory for full customization.
Environment Defaults
| Setting | Dev | Prod | | ---------------- | ----------- | ----------- | | Cloud Run CPU | 1 | 2 | | Cloud Run Memory | 512Mi | 1Gi | | Min Instances | 0 | 1 | | Max Instances | 2 | 10 | | Cloud SQL Tier | db-f1-micro | db-g1-small |
API Reference
This package exports:
import { provider, gcpProvider } from '@kuckit/infra-gcp'
import type { GcpInfraConfig, GcpOutputs } from '@kuckit/infra-gcp'The provider implements the KuckitInfraProvider interface from @kuckit/cli.
License
MIT
