Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.skyhook.io/llms.txt

Use this file to discover all available pages before exploring further.

Skyhook generates GitHub Actions workflows that build your images and deploy to your clusters. Those workflows need two things from you:
  1. A way to authenticate to your cloud provider — so they can push to your container registry and talk to your cluster’s Kubernetes API
  2. A way to write back to your Git repos — semver bumps on release, GitOps overlay updates, commits against a separate deployment repo
This page covers both. For what the workflows do and which actions they call, see CI/CD Configuration. For the secret/variable names as a cheat-sheet, see Secrets and variables reference.

Three GitHub integrations, three purposes

If you run through full onboarding you’ll set up as many as three separate GitHub integrations. They do different things — don’t install one and assume it covers the others:
IntegrationWhat it doesWhen you need itSet up with
GitHub Actions OIDCLets your CI/CD workflows authenticate to AWS, GCP, or Azure without long-lived keys.Every project that uses the generated workflows with a cloud provider.skyhook github setup
Deployment GitHub AppLets workflows push commits to a separate deployment repo (GitOps overlays, image-tag bumps). Issues short-lived App tokens, not user creds.Only if your Kubernetes manifests live in a different repo from your code.skyhook onboard deploy-auth
ArgoCD GitHub AppLets ArgoCD read your GitOps repo from inside the cluster. Completely separate from the one above.Only if you’re using GitOps with ArgoCD.skyhook onboard argocd configure-access — covered in GitOps with ArgoCD
Most teams using GitOps end up with all three. Most teams doing direct kubectl deploys from a single repo only need the first.

Cloud authentication

The recommended path for AWS and GCP is OIDC — GitHub Actions authenticates to your cloud provider with a short-lived token, no long-lived keys to rotate. The Skyhook CLI can set this up end-to-end.

Writing back to your repos

The workflows push commits back to Git for a few reasons: bumping a service’s VERSION file on release, writing new image tags into GitOps overlays, and (for services with a separate deployment repository) updating manifests in a repo other than the source repo. Each of those needs something more privileged than the default GITHUB_TOKEN.

Separate deployment repositories

If your Kubernetes manifests live in a different repo from your code, workflows need cross-repo access. Skyhook’s Deployment GitHub App is the recommended way — fine-grained permissions, auto-rotating tokens, and attribution under a bot identity instead of a user.

Protected branches

If your default branch is protected with required reviews, the workflow can’t push VERSION bumps or GitOps overlay updates with the built-in GITHUB_TOKEN — GitHub doesn’t grant it bypass permissions. The simplest fix is to use the GH_APP_ID/GH_APP_PK secrets from the Deployment GitHub App (recommended above) and allow that app to bypass branch protection under Repository settings → Branches → Branch protection rules → Allow specified actors to bypass required pull requests. As a fallback, you can use a PAT from a user with bypass permissions (organization admin, repository admin, or an explicit bypass actor):
  1. Create a PAT at https://github.com/settings/tokens with full repo access.
  2. Add it as an org or repo secret named GHA_PAT.
  3. Reference it in the checkout step of release.yml and (for GitOps) deploy.yml:
    - uses: actions/checkout@v6
      with:
        token: ${{ secrets.GHA_PAT }}
    
The generated workflows reference GHA_PAT automatically when it’s set, so step 3 isn’t needed if you’re on the current template.

Verify the setup

Once credentials are in place, trigger a run to confirm. From the service directory, use skyhook deploy to build and deploy to a safe environment:
skyhook deploy --env dev --build -y
Or push a commit to your default branch and watch the Release workflow run in GitHub Actions. If it fails on authentication, the CI/CD troubleshooting guide maps the common error messages back to the specific secret or variable that’s missing or misconfigured.