A platform-agnostic CLI tool that simplifies cloud deployment for applications
- Quick and simple cloud deployment
- Uses serverless
- Platform-agnostic
- Multi-framework support
- Multi-runtime support
- Wraps your existing project
- Generates Terraform configs
Currently Supports
- Cloud Providers: AWS Lambda, GCP Cloud Run
- Frameworks: Flask, Express
- Runtimes: Python, Node.js
View the online documentation:
You can install the latest version of upify from GitHub by following these steps:
-
Ensure you have Go installed on your system (version 1.16 or later).
-
Run the following command to install upify:
go install github.com/codeupify/upify@latest
-
Verify the installation:
upify --help
- Download the latest release for your operating system from the GitHub releases page.
- Unpack the binary for your operating system.
- Move the binary to a directory included in your system's
PATH
:mv upify /usr/local/bin/
- Make the binary executable:
chmod +x /usr/local/bin/upify
- Verify the installation:
upify --help
- Download the latest release binary for your operating system from the GitHub releases page.
- Add the directory containing the binary to your system's
PATH
. - Verify the installation by opening a new Command Prompt and running
upify --help
.
Run the following command at the base of your project to initialize it:
upify init
This command will generate config and wrapper files. Depending on the options selected, you may need to adjust the generated code and config files. Follow the instructions provided in the command output.
Add environment variables to .upify/.env
To add cloud platform support, run:
upify platform add [platform]
To deploy your project, use the following command:
upify deploy [platform]
Note: You must have your cloud credentials set up before deploying. See the Authentication for more details.
Visit our examples directory for sample implementations
- Log into your AWS Console
- Go to IAM (Identity and Access Management)
- Create a new IAM user or select an existing one
- Attach permissions
- Under "Security credentials", create a new access key and save those credentials
First, install AWS CLI:
- macOS:
brew install awscli
- Windows: Download the official MSI installer
- Linux:
apt install awscli
oryum install awscli
Then configure:
aws configure
This will prompt you to enter:
- AWS Access Key ID
- AWS Secret Access Key
- Default region (e.g.,
us-east-1
) - Default output format (json)
mkdir ~/.aws
cat > ~/.aws/credentials << EOF
[default]
aws_access_key_id = YOUR_ACCESS_KEY
aws_secret_access_key = YOUR_SECRET_KEY
EOF
export AWS_ACCESS_KEY_ID="YOUR_ACCESS_KEY"
export AWS_SECRET_ACCESS_KEY="YOUR_SECRET_KEY"
export AWS_DEFAULT_REGION="us-east-1"
- Log into GCP Console
- Enable required APIs (Required APIs can be found here)
First, install Google Cloud SDK - https://cloud.google.com/sdk/docs/install
Then authenticate:
gcloud auth login
gcloud config set project YOUR_PROJECT_ID
- Create a service account in GCP Console:
- Go to IAM & Admin > Service Accounts
- Click "Create Service Account"
- Add required roles
- Download service account key (JSON format)
- Set the credentials:
export GOOGLE_APPLICATION_CREDENTIALS="/path/to/service-account-key.json"
- Cloud Functions API
- Cloud Run API
- Cloud Build API
- Artifact Registry API
- Cloud Resource Manager API
- Cloud Storage API