intern-app-db-access

Automate MySQL database provisioning and scoped access for intern apps.

Updated May 15, 2026
One-click install
npx skills add https://github.com/Pear-Commerce/pear-ai-skills --skill intern-app-db-access
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: intern-app-db-access
Source: https://github.com/Pear-Commerce/pear-ai-skills/tree/main/skills/intern-app-db-access
Command: npx skills add https://github.com/Pear-Commerce/pear-ai-skills --skill intern-app-db-access

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes references (resource) components.

What problem does it solve?

Manually provisioning isolated databases, access controls, and connection logic for each intern app is time-consuming, error-prone, and risks misconfiguration that could expose data or incur unexpected costs. This Skill automates the entire end-to-end workflow to give every Pear intern app its own secure, isolated MySQL database on a shared managed RDS instance.

Core Features & Use Cases

  • One-time shared RDS setup: Provisions a single shared MySQL 8 RDS instance with proper security groups for Cloudflare Worker and Lightsail app access, idempotently so it only runs once per account.
  • Per-app isolated database provisioning: Automatically creates a unique database, scoped DB user with access limited only to that app's database, and an AWS Secrets Manager secret in the exact format the Pear dashboard API uses, for every intern app.
  • Multi-runtime connection bootstrap: Provides pre-built, production-grade connection helpers for Node.js, Python, and Java apps that fetch credentials from Secrets Manager and expose a managed connection pool, so developers don't have to write custom DB connection code.
  • Use case: For example, if a Pear intern builds an event registration app hosted on Cloudflare Workers, this Skill automatically provisions its own isolated MySQL database, creates a scoped user with no access to other apps' data, stores credentials in a Secrets Manager secret, and drops a ready-to-use Node.js connection helper into the app so the intern can start building features immediately.

Quick Start

Use the intern-app-db-access skill to provision an isolated MySQL database for your Pear intern app after completing its hosting setup with the intern-app-hosting skill.

Frequently Asked Questions about intern-app-db-access

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I provision isolated MySQL databases for multiple apps on a shared AWS RDS instance?▼

This Skill automates MySQL database provisioning for intern apps by creating a unique database per app on a shared managed AWS RDS instance, generating scoped database users with limited access, and storing credentials in AWS Secrets Manager to ensure strict data isolation.

Can I use AWS Secrets Manager to bootstrap database connections for Node.js, Python, and Java apps?▼

Yes, you can use AWS Secrets Manager to bootstrap database connections for Node.js, Python, and Java apps. The Skill provides pre-built connection helpers that fetch credentials from Secrets Manager and expose a managed connection pool, eliminating the need to write custom DB connection code.

Does this database provisioning approach work with Cloudflare Workers and Lightsail hosting?▼

Yes, this database provisioning approach works with Cloudflare Workers and Lightsail hosting. The shared MySQL 8 RDS instance is provisioned with proper security groups specifically configured to allow access from Cloudflare Worker and Lightsail applications.

What's the best way to enforce least-privilege IAM policies for database credential access?▼

The best way to enforce least-privilege IAM policies for database credential access is to automate scoped IAM policy creation alongside per-app database user provisioning. This ensures each app only has IAM permissions to retrieve its own specific credentials from AWS Secrets Manager.

Why do I need a scoped database user for each intern app instead of sharing one RDS user?▼

You need a scoped database user for each intern app instead of sharing one RDS user to maintain strict data isolation on the shared RDS instance. Scoped users ensure each app can only access its own database, preventing accidental or unauthorized access to other apps' data.

When should I not use a shared managed RDS instance for intern app database isolation?▼

You should not use a shared managed RDS instance for intern app database isolation if your applications require dedicated database engines, cross-database queries, or infrastructure-level compliance guarantees that cannot be satisfied by logical isolation on a shared MySQL 8 instance.