Skip to main content
Version: 0.6 (Next)

Git Authentication

Legacy Authentication Method

This page documents Personal Access Token (PAT) authentication. For new installations, use GitHub App authentication instead — see GitHub App Setup. PATs are only needed for legacy installations that have not migrated to GitHub Apps.

Summary

Konstruct requires a Personal Access Token to authenticate with the Git provider API. The token is used to manage git repository configurations and teams. Refer to the details below to create a token for your preferred git provider.

GitHub Tokens

Log in to your GitHub account and issue a Personal Access token using the list of scopes below. With the manually generated token, provide it via environment variable using export GITHUB_TOKEN=ghp_xxxxxxxxxxxxxxxx.

tip

If you have never connected to GitHub using SSH be sure to add your token to the known host using the command ssh-keyscan github.com >> ~/.ssh/known_hosts. This step prevents ssh errors.

If you get either the ssh: handshake failed: knownhosts: key is unknown error or the known_hosts file does not exist error when running the previous command, it's because you are missing an ~/.ssh folder, run mkdir ~/.ssh and try the ssh-keyscan command again.

GitHub Token Scopes

GitHub Token Scopes

Konstruct needs the following scopes or scopes groups:

ScopeScope PermissionKonstruct Usage
repoFull access to public & private repositoriesCreating repositories on cluster creation and managing GitOps repositories
workflowAdd & update GitHub Actions workflow filesCreating workflows that help manage your cluster and repositories
write:packagesUpload & publish packages in GitHub PackagesCreating application packages (e.g., metaphor)
admin:orgFully manage the organizationManaging users and access with Infrastructure as Code
admin:public_keyFully manage public keysNeeded for the Konstruct admin kbot user to take action in the repositories created for you
admin:repo_hookFull access to repository hooksCreating hooks to subscribe to GitHub events (e.g., comments, pull requests)
userGrants read & write access to profile infoRetrieving the user profile to display in the console UI and validate the used token
delete_repoDelete repositoriesDeleting repositories managed by Infrastructure as Code

You can read more about the scopes in the GitHub documentation.

warning

These scopes and permissions are the minimum requirement for Konstruct to function properly.

If you have security concerns we recommend creating a new GitHub user or organization for testing Konstruct.