Add-On Management

Add-On Management

Overview

Add-ons are infrastructure components that extend your Tapitalee application with databases, storage, networking, and compute resources. This page covers the generic commands that apply to all add-on types, allowing you to list, show details, restart, and delete any add-on regardless of its specific type.

Generic Add-On Commands

These commands work with all add-on types: RDS, ElastiCache, S3, EFS, EC2, and SecureProxy.

List All Add-Ons

tapit  list addons

Shows all add-ons associated with your application, including their type, name, status, and basic configuration.

Show Add-On Details

tapit  show addon name=addon_name

Displays detailed information about a specific add-on, including configuration, connection details, performance metrics, and status.

Restart Add-On

tapit  restart addon name=addon_name

Restarts the specified add-on service. This can resolve connectivity issues, apply configuration changes, or recover from errors. Currently only supported for the EC2 type.

Wait for Add-Ons to Stabilize

tapit list addons --wait [app=<app_name>]

Waits until all add-ons for the specified app (or the current app) reach a stable state — either fully ready, or fully deleted (in the case of a deletion in progress).

Exits with a non-zero shell error code if any add-on is in a failed state.

This is useful in deployment scripts and CI/CD pipelines to ensure all infrastructure is ready before proceeding.

Delete Add-On

tapit delete addon name=addon_name

Permanently deletes the specified add-on and all associated data. This action cannot be undone.

Add-On Lifecycle

Creation States

  1. Provisioning
  2. Modifying
  3. Active
  4. Deleting

Environment Variable Integration

Automatic Injection

When you create add-ons, Tapitalee automatically injects relevant environment variables into your application containers. These variables provide connection details, credentials, and configuration needed to use the add-on.

Variable Naming Convention

# Pattern: [SERVICE]_[PROPERTY]_[ADDON_NAME] or [SERVICE]_[ADDON_NAME]_[PROPERTY]
DATABASE_URL              # Primary connection string
S3_BUCKET_USER_FILES      # S3 bucket name
EC2_INSTANCE_WEB_IP       # EC2 public IP
REDIS_URL                 # Redis connection string
EFS_MOUNT_POINT           # EFS mount path

Variable Security

  • Sensitive Data: Passwords and keys are securely stored
  • Encryption: All sensitive environment variables encrypted
  • Access Control: Only your application containers can access variables

Snapshot Management - for EC2 & RDS

Create Snapshots

tapit  create snapshot addon=name [name=snapshot_name]

Creates manual snapshots of add-on data for backup or migration.

Parameters

  • addon: Name of the add-on to snapshot
  • name: Optional custom name for the snapshot (auto-generated if not provided)

Examples

# Create snapshot with auto-generated name
tapit create snapshot addon=maindb

# Create snapshot with custom name
tapit create snapshot addon=maindb name=pre-migration-backup

# Create snapshot for cache cluster
tapit create snapshot addon=redis-cache name=weekly-backup

List Snapshots

tapit  list snapshots addon=name

Shows available snapshots for a specific add-on, including creation timestamps, sizes, and retention information.

Snapshot automation

Tapitalee automatically sets up daily snapshots for RDS & EC2, storing 3 days worth by default.

Add-On Sharing

Add-ons can be shared between apps in the same VPC region. This is useful for preview apps or microservices that need to share a database or other resource without duplicating it.

Share an Add-On

tapit  create addon:share name=addon_name share_to_app=app_name [secret_name=SECRET_NAME]

Shares an add-on from the current app with another app in the same VPC.

Required Parameters

  • name: Name of the add-on to share
  • share_to_app: Name of the app to share the add-on with (must be in the same VPC/region)

Optional Parameters

  • secret_name: Custom environment variable name to inject into the target app (defaults to the add-on’s own variable name)

Examples

# Share a database with a preview app
tapit create addon:share name=maindb share_to_app=pr-123-myapp

# Share with a custom variable name
tapit create addon:share name=maindb share_to_app=worker-app secret_name=WORKER_DATABASE_URL

List Add-On Shares

tapit  list addon:shares name=addon_name

Shows all apps that a specific add-on is shared with.

Remove an Add-On Share

tapit  delete addon:share name=addon_name share_to_app=app_name

Removes a sharing relationship, revoking access to the add-on from the specified app.

Examples

# Remove share after preview app is deleted
tapit delete addon:share name=maindb share_to_app=pr-123-myapp