Skip to content

posit-dev/ptd

Repository files navigation

PTD (Posit Team Dedicated)

Posit Team Dedicated is a toolkit for deploying and managing Posit Team products (Workbench, Connect, Package Manager) on cloud infrastructure using Infrastructure-as-Code.

Overview

PTD provides:

  • CLI tool (ptd) for managing deployments
  • Pulumi IaC for provisioning AWS and Azure infrastructure
  • Example configurations for quick setup

Quick Start

Prerequisites

  • Go 1.21+
  • Python 3.12+
  • uv (Python package manager)
  • Pulumi
  • just (command runner)
  • AWS CLI or Azure CLI (depending on your cloud provider)

Installation

# Clone the repository
git clone https://github.com/posit-dev/ptd.git
cd ptd

# Install dependencies
just deps

# Build the CLI
just build-cmd

# The CLI is now available at .local/bin/ptd

Configuration

  1. Copy the example account configuration:

    cp accounts.env.example accounts.env
  2. Edit accounts.env with your AWS account IDs (optional - PTD auto-detects via STS)

  3. Set up your targets directory with control room and workload configurations. See examples/ for starter configurations.

Usage

# Deploy a workload
ptd ensure my-workload

# Open a proxy to a cluster
ptd proxy my-workload

# Check available commands
ptd --help

Documentation

Project Structure

ptd/
├── cmd/           # Go CLI implementation
├── lib/           # Shared Go libraries
├── python-pulumi/ # Pulumi IaC resources (Python)
├── examples/      # Example configurations
├── e2e/           # End-to-end tests
└── docs/          # Documentation

Development

# Run tests
just test

# Run specific test suites
just test-cmd        # CLI tests
just test-lib        # Library tests
just test-python-pulumi  # Python tests

# Format code
just format

# Build CLI
just build-cmd

Related Projects

Contributing

See CONTRIBUTING.md for contribution guidelines.

License

See LICENSE for license information.

About

posit team dedicated toolkit

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Contributors 5