Skip to main content

GitHub

Connect GitHub once for the organization, and applications deploy Helm charts and YAML from your repositories, private ones included. AstroPulse reads them through the AstroPulse GitHub App: you install it on a GitHub organization or personal account, choose on GitHub which repositories it may read, and link that account to your AstroPulse organization. An application never carries a GitHub credential.

Before you start​

  • You own the AstroPulse organization. GitHub is connected by the organization's owner; anyone else sees "GitHub integration is managed by the organization owner".
  • You administer the GitHub account you install the App on. If you don't, GitHub sends the account's owner a request to approve.
  • Pop-ups are allowed for the console: signing in and installing open GitHub in a window of their own.

In the console​

  1. Open Integrations > GitHub. With nothing connected it reads No GitHub account connected. Select Connect GitHub.
  2. Sign in to GitHub in the window that opens and authorize the AstroPulse GitHub App. This tells AstroPulse which GitHub accounts you can reach; it installs nothing.
  3. Under Choose a GitHub account to connect, each account that already has the App shows as a card marked Not linked. Select Link on the one to connect. The console says "Linked <account> to this organization." If no account you can reach has the App, the console says "The GitHub App is not installed on any account you can reach. Install it to continue.": select Install the GitHub App, install it on GitHub, and the account comes back with Link.
  4. To install the App on an account that is not listed, select Install on another account. On GitHub, pick the account, choose the repositories the App may read, and install it. Back in the console, the account appears with Link.
  5. Later, to connect another account, select Add account at the top of the page. The note under the title says which GitHub login the console is signed in as; to add an account of another GitHub user, sign out of GitHub first.

You should see​

Each linked account is a card with its name, Organization or Personal, and Active. The header counts the accounts, for example 1 account and 1 Active. Repositories on a card opens Repository Explorer: every repository the App may read, marked Private or Public, with its default branch.

Open zoom view

The GitHub page with a linked organization account, Active, with Repositories, Unlink and Manage on GitHub

The GitHub page with a linked organization account, Active, with Repositories, Unlink and Manage on GitHubThe GitHub page with a linked organization account, Active, with Repositories, Unlink and Manage on GitHub

On Deploy application, Repository and YAML manifests list the same repositories under Browse.

Which repositories AstroPulse reads​

You choose them on GitHub, not in AstroPulse. Manage on GitHub on a card opens that installation's settings on GitHub, where you add or remove repositories or uninstall the App. A repository outside the selection is not listed under Repositories or Browse, and a deploy from it cannot read it.

More than one account​

An organization can link several GitHub accounts, organizations and personal ones side by side. Filter them with the All, Active, Not linked, Suspended and Uninstalled chips, and by Organization or Personal; enterprise accounts count as organizations. One GitHub account can also be linked to more than one AstroPulse organization; its card then shows Also linked to another organization, without naming it.

Select Unlink on the card and confirm "Unlink <account> from this organization?". Nova and deployments in this organization stop using it. The App stays installed on GitHub; to remove it there too, use Manage on GitHub.

If the App is uninstalled on GitHub​

The card turns Uninstalled: "This GitHub installation has been uninstalled from GitHub.com and is no longer functional." Select Clean up now to unlink it, or Reconnect GitHub to install the App again.

Deploying from a repository​

Point the application at the repository's URL, as for a public one; AstroPulse uses the linked installation to read it. Nothing about GitHub goes in the manifest. See Git repository for a Helm chart and YAML for plain manifests.

Other ways in​

  • Nova: ask it, for example "which of our GitHub repositories can AstroPulse read?". You approve the App on GitHub yourself.
  • SDK and API: the same operations, in the API reference.

With astroctl​

Terminal
# open the browser to install the App; linking finishes in the console
astroctl integrations github install
# the GitHub accounts linked to this organization
astroctl integrations github list
# the repositories one linked account grants; --account only with several linked
astroctl integrations github repositories --account my-org
# check a repository, branch and chart path before deploying from it
astroctl integrations github validate-path --repo-url https://github.com/my-org/my-repo.git --branch main --path helm/my-chart
# re-create the repository credentials of every active account
astroctl integrations github refresh
# unlink an account
astroctl integrations github delete --account my-org

my-org, my-repo and helm/my-chart stand for your GitHub account, repository and chart folder. install prints the console page and waits up to 5 minutes for the link to appear. Run refresh when deployments stop reading private repositories; it links nothing new.

Every flag: astroctl integrations github.

If it's refused​

"GitHub integration is managed by the organization owner"
Cause
You are not the owner of the selected organization.
Fix
Switch to an organization you own in the top bar, or ask its owner to connect GitHub.
"The GitHub installation window couldn't be opened. Please disable your popup blocker and try again."
Cause
The browser blocked the GitHub window. Signing in reads "The GitHub authentication window couldn't be opened." in the same case.
Fix
Allow pop-ups for the console, then select the button again.
"This installation is not one your GitHub account can reach for this GitHub App, so it cannot be linked."
Cause
The GitHub login the console is signed in as cannot reach that installation.
Fix
Sign out of GitHub, sign in as an administrator of the account, then select Link again.
"GitHub integration required. Set up GitHub integration first."
Cause
The deploy wizard found no GitHub account linked to the organization.
Fix
Connect one as above, then pick the repository again.
"no GitHub App installation is linked to this organization"
Cause
astroctl found no linked GitHub account.
Fix
Run astroctl integrations github install, or connect one in the console.
"multiple GitHub installations found. Specify which one with --account"
Cause
More than one GitHub account is linked, and the command did not say which.
Fix
Pass --account with one of the accounts the message lists.

Next​