create-tee-project
v1.0.3
Published
Scaffold a TEE (Trusted Execution Environment) project with current support to AWS Nitro Enclaves, will be updated to support other cloud platforms in the future
Maintainers
Readme
create-tee-project
Scaffold a complete TEE (Trusted Execution Environment) project with infrastructure and deployment scripts. Currently supports AWS Nitro Enclaves, with support for other cloud platforms coming soon.
Quick Start
npx create-tee-project my-project
# or
yarn create tee-project my-project
# or
bunx create-tee-project my-project
# or
pnpx create-tee-project my-projectThis will create a new directory my-project with a complete TEE project structure.
What Gets Created
The scaffolded project includes:
- Example Applications (for reference):
apps/enclave-service/(Go): Example secure wallet generation and transaction signing service running in AWS Nitro Enclavesapps/secure-signer/(Bun/TypeScript): Example HTTP API for wallet management and transaction building
- Infrastructure (Pulumi): Complete AWS infrastructure setup including:
- VPC and networking resources
- EC2 instance with Nitro Enclaves support
- Security groups and IAM roles
- Deployment scripts
- Docker Compose: Local development setup
- Makefile: Deployment automation
Note: The applications in
apps/enclave-service/andapps/secure-signer/are example projects provided for reference. You can modify or replace them with your own implementations.
Prerequisites
Before using the scaffolded project, ensure you have:
- Bun installed (for the signer service)
- Go 1.21+ installed (for the enclave service)
- Pulumi CLI installed (for infrastructure)
- AWS credentials configured
- An AWS key pair created for EC2 access
Next Steps After Scaffolding
Install dependencies:
cd my-project cd apps/secure-signer && bun install cd ../../infra && bun installConfigure AWS settings:
- Update
infra/config.tswith your AWS key pair name - Update
Makefilewith your SSH key path
- Update
Set up infrastructure:
make install # Install Pulumi dependencies make preview # Preview infrastructure changes make up # Deploy infrastructureFor local development, see
LOCAL_TESTING.mdin the scaffolded project.
Project Structure
my-project/
├── apps/
│ ├── enclave-service/ # Example Go service for secure operations (reference implementation)
│ └── secure-signer/ # Example Bun/TypeScript HTTP API (reference implementation)
├── infra/ # Pulumi infrastructure code (AWS Nitro Enclaves)
├── docker-compose.yml # Local development setup
├── Makefile # Deployment automation (WIP)
└── LOCAL_TESTING.md # Local development guideFeatures
- Cloud Platform Support: Currently supports AWS Nitro Enclaves. Support for other cloud platforms (Azure, GCP, etc.) coming soon.
- Example Applications: Reference implementations for secure wallet management and transaction signing
- Infrastructure as Code: Complete AWS infrastructure defined with Pulumi
- Deployment Automation: Makefile-based deployment scripts (WIP - use at your own risk)
- Local Development: Test locally with Docker Compose
License
MIT
