Deploy APIM configuration using apiops-cli on self-hosted GitHub Actions runners with no internet access at runtime. There are two supported approaches — pick the one that matches your environment and follow that walkthrough end-to-end.
| Approach | Best For | Walkthrough |
|---|---|---|
| Local npm Registry (recommended) | You run GitHub Enterprise Server with GitHub Packages, or any other internal npm registry reachable from the runner (Verdaccio, Artifactory, Nexus). Packages flow through the registry; only the registry needs controlled connectivity to refresh. | Local npm Registry walkthrough |
| Offline Tarball | No internal npm registry is available. The CLI ships as a .tgz in your repo and the npm cache is transferred manually to the runner. Requires re-staging on every dependency change. |
Offline Tarball walkthrough |
GitHub.com SaaS is not an air-gapped registry.
npm.pkg.github.comis an internet service. The Local npm Registry approach assumes GitHub Enterprise Server running inside your network (or another self-hosted npm registry).
- Air-gapped setup: Azure DevOps
- GitHub Actions integration — standard (connected) setup
- apiops init reference
- Authentication guide