A GitHub Action that deploys your OrbitKit app site — privacy policies, support pages, data deletion pages, app site association files, and more — straight from your CI/CD pipeline.
- uses: OrbitKit-io/OrbitKit-Deploy@v1with:
api-key: ${{ secrets.ORBITKIT_API_KEY }}app-id: ${{ vars.ORBITKIT_APP_ID }}- Get your API key from the OrbitKit Dashboard under Settings → API Keys
- Add it as a GitHub secret in your repo: Settings → Secrets → Actions →
ORBITKIT_API_KEY - Add your app ID as a variable: Settings → Variables → Actions →
ORBITKIT_APP_ID
| Input | Required | Description |
|---|---|---|
api-key | Yes | OrbitKit API key (ok_xxxx). Store as a GitHub secret. |
app-id | Yes | Your OrbitKit app ID |
api-endpoint | No | API base URL (default: https://api.orbitkit.io) |
| Output | Description |
|---|---|
site-url | The deployed site URL |
deployed-at | Deploy timestamp |
name: Deploy Privacy Policyon:
push:
branches: [main]jobs:
deploy:
runs-on: ubuntu-lateststeps:
- uses: OrbitKit-io/OrbitKit-Deploy@v1with:
api-key: ${{ secrets.ORBITKIT_API_KEY }}app-id: ${{ vars.ORBITKIT_APP_ID }}name: Deploy on Policy Updateon:
push:
branches: [main]paths:
- 'privacy-policy.json'
- 'support-page.json'jobs:
deploy:
runs-on: ubuntu-lateststeps:
- uses: OrbitKit-io/OrbitKit-Deploy@v1id: deploywith:
api-key: ${{ secrets.ORBITKIT_API_KEY }}app-id: ${{ vars.ORBITKIT_APP_ID }}
- name: Print site URLrun: echo "Deployed to ${{ steps.deploy.outputs.site-url }}"If you need to update policy data before deploying, use the OrbitKit CLI in an earlier step:
jobs:
deploy:
runs-on: ubuntu-latestenv:
ORBITKIT_API_KEY: ${{ secrets.ORBITKIT_API_KEY }}ORBITKIT_APP_ID: ${{ vars.ORBITKIT_APP_ID }}steps:
- uses: actions/checkout@v4
- uses: actions/setup-node@v4with:
node-version: 22
- name: Update privacy policyrun: npx orbitkit policy set privacy-policy.json
- name: Deployuses: OrbitKit-io/OrbitKit-Deploy@v1with:
api-key: ${{ secrets.ORBITKIT_API_KEY }}app-id: ${{ vars.ORBITKIT_APP_ID }}- API key as secret: Always store your API key as a GitHub secret, never hardcode it in workflows
- Secret scanning: OrbitKit API keys use the
ok_prefix, which is auto-detected by GitHub secret scanning if accidentally committed - No script injection: All inputs are passed as environment variables, not interpolated in shell commands
Apache License 2.0 © OrbitKit, Inc.