🗄️ Stage Tools DB Management

Manage database credentials and developer access for CI/CD pipelines

Project Databases

Loading databases...

Create Database Credentials

Developer Users

Loading developers...

Create Developer Account

Grant Database Access

API Endpoints

Use these endpoints in your CI/CD pipelines:

🔨 Create/Get Credentials

POST /api/credentials/{project}
{
  "environment": "stage",
  "db_type": "mariadb"
}

CI Example:

curl -X POST -H "Content-Type: application/json" \
     -d '{"environment":"stage","db_type":"mariadb"}' \
     http://db-api:3000/api/credentials/$CI_PROJECT_NAME

📖 Get Existing Credentials

GET /api/credentials/{project}?environment=stage&db_type=mariadb

📋 List All Credentials

GET /api/credentials

GitLab CI Integration

Replace your database setup stages with:

setup_database:
  stage: database
  script:
    - |
      RESPONSE=$(curl -s -X POST -H "Content-Type: application/json" \
        -d '{"environment":"stage","db_type":"mariadb"}' \
        http://db-api:3000/api/credentials/$CI_PROJECT_NAME)
      
      echo "DB_HOST=$(echo $RESPONSE | jq -r '.db_host')" > database_credentials.env
      echo "DB_PORT=$(echo $RESPONSE | jq -r '.db_port')" >> database_credentials.env  
      echo "DB_NAME=$(echo $RESPONSE | jq -r '.db_name')" >> database_credentials.env
      echo "DB_USER=$(echo $RESPONSE | jq -r '.db_user')" >> database_credentials.env
      echo "DB_PASS=$(echo $RESPONSE | jq -r '.db_password')" >> database_credentials.env
  artifacts:
    reports:
      dotenv: database_credentials.env