Skip to main content
Glama

github_secrets_guide

Learn how to use GitHub Secrets to securely store and manage sensitive data in your CI/CD workflows. This guide explains common patterns for implementing secrets in GitHub Actions.

Instructions

Explain GitHub Secrets and common patterns

Input Schema

TableJSON Schema
NameRequiredDescriptionDefault

No arguments

Implementation Reference

  • src/index.js:1998-2091 (registration)
    Registration of the 'github_secrets_guide' tool via server.tool() call. Includes empty parameter schema {} and inline handler function.
    "github_secrets_guide", "Explain GitHub Secrets and common patterns", {}, async () => { return { content: [{ type: "text", text: `GITHUB SECRETS GUIDE ==================== WHAT ARE SECRETS? ----------------- Encrypted environment variables for your GitHub Actions workflows. They're never exposed in logs or to forked repositories. TYPES OF SECRETS: ----------------- 1. Repository Secrets - Available to all workflows in the repo - Set via: gh secret set NAME 2. Environment Secrets - Tied to deployment environments (staging, production) - Can require approval before use - Set via: gh secret set NAME --env production 3. Organization Secrets - Shared across multiple repos - Set in org settings BUILT-IN SECRETS (no setup needed): ----------------------------------- - GITHUB_TOKEN: Auto-generated, used for GitHub API calls Permissions: read repo, write packages, etc. COMMON SECRETS TO SET UP: ------------------------- Docker Hub: gh secret set DOCKER_USERNAME gh secret set DOCKER_PASSWORD AWS: gh secret set AWS_ACCESS_KEY_ID gh secret set AWS_SECRET_ACCESS_KEY gh secret set AWS_REGION Database: gh secret set DATABASE_URL API Keys: gh secret set API_KEY gh secret set SONAR_TOKEN SSH Deploy: gh secret set SSH_PRIVATE_KEY USING SECRETS IN WORKFLOWS: --------------------------- \`\`\`yaml jobs: deploy: runs-on: ubuntu-latest steps: - name: Login to Docker Hub uses: docker/login-action@v3 with: username: \${{ secrets.DOCKER_USERNAME }} password: \${{ secrets.DOCKER_PASSWORD }} - name: Deploy run: ./deploy.sh env: DATABASE_URL: \${{ secrets.DATABASE_URL }} API_KEY: \${{ secrets.API_KEY }} \`\`\` SECURITY BEST PRACTICES: ------------------------ 1. Never commit secrets to code (use .env.example instead) 2. Rotate secrets regularly 3. Use environment secrets for production 4. Limit secret access with environments + required reviewers 5. Use OIDC for cloud providers when possible (no long-lived secrets) QUICK COMMANDS: --------------- List secrets: gh secret list Set secret: gh secret set SECRET_NAME Delete secret: gh secret delete SECRET_NAME Set for env: gh secret set SECRET_NAME --env production` }] }; } );
  • Handler implementation: Returns a static markdown-formatted guide explaining GitHub Secrets, their types, usage, best practices, and common commands.
    return { content: [{ type: "text", text: `GITHUB SECRETS GUIDE ==================== WHAT ARE SECRETS? ----------------- Encrypted environment variables for your GitHub Actions workflows. They're never exposed in logs or to forked repositories. TYPES OF SECRETS: ----------------- 1. Repository Secrets - Available to all workflows in the repo - Set via: gh secret set NAME 2. Environment Secrets - Tied to deployment environments (staging, production) - Can require approval before use - Set via: gh secret set NAME --env production 3. Organization Secrets - Shared across multiple repos - Set in org settings BUILT-IN SECRETS (no setup needed): ----------------------------------- - GITHUB_TOKEN: Auto-generated, used for GitHub API calls Permissions: read repo, write packages, etc. COMMON SECRETS TO SET UP: ------------------------- Docker Hub: gh secret set DOCKER_USERNAME gh secret set DOCKER_PASSWORD AWS: gh secret set AWS_ACCESS_KEY_ID gh secret set AWS_SECRET_ACCESS_KEY gh secret set AWS_REGION Database: gh secret set DATABASE_URL API Keys: gh secret set API_KEY gh secret set SONAR_TOKEN SSH Deploy: gh secret set SSH_PRIVATE_KEY USING SECRETS IN WORKFLOWS: --------------------------- \`\`\`yaml jobs: deploy: runs-on: ubuntu-latest steps: - name: Login to Docker Hub uses: docker/login-action@v3 with: username: \${{ secrets.DOCKER_USERNAME }} password: \${{ secrets.DOCKER_PASSWORD }} - name: Deploy run: ./deploy.sh env: DATABASE_URL: \${{ secrets.DATABASE_URL }} API_KEY: \${{ secrets.API_KEY }} \`\`\` SECURITY BEST PRACTICES: ------------------------ 1. Never commit secrets to code (use .env.example instead) 2. Rotate secrets regularly 3. Use environment secrets for production 4. Limit secret access with environments + required reviewers 5. Use OIDC for cloud providers when possible (no long-lived secrets) QUICK COMMANDS: --------------- List secrets: gh secret list Set secret: gh secret set SECRET_NAME Delete secret: gh secret delete SECRET_NAME Set for env: gh secret set SECRET_NAME --env production` }] };

Latest Blog Posts

MCP directory API

We provide all the information about MCP servers via our MCP API.

curl -X GET 'https://glama.ai/api/mcp/v1/servers/rideRTD/RTD-DevOps'

If you have feedback or need assistance with the MCP directory API, please join our Discord server