gh-app-token-generator

command module
v1.1.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 7, 2023 License: MIT Imports: 1 Imported by: 0

README

Github App Token Generator

A simple standalone app written in go to generate a temporal github token using github app credentials.

Most of the logic for this app is borrowed from mlioo/go-github-app-token-gen github action

Usage

GitHub App token generator tool

Usage:
  gh-app-token-generator [flags]

Flags:
  -a, --gh-app-id string                 GitHub App id value.
                                         Alternatively, you can set this parameter using GH_APP_ID environment variable.

  -i, --gh-app-installation-id string    GitHub App installation id value.
                                         Alternatively, you can set this parameter using GH_APP_INSTALLATION_ID environment variable.
                                         Use gh-app-installation-id to enforce the gh app installation id value.

  -p, --gh-app-private-key string        GitHub App private key value in base64 format.
                                         Alternatively, you can set this parameter using GH_APP_PRIVATE_KEY environment variable.

  -f, --gh-app-private-key-path string   GitHub App private key file path (gh-app-private-key flag takes precedence).
                                         Alternatively, you can set this parameter using GH_APP_PRIVATE_KEY_PATH environment variable.

  -r, --gh-repo string                   GitHub Repo used to discover gh installation id.
                                         Alternatively, you can set this parameter using GITHUB_REPOSITORY environment variable.
                                         Use gh-repo to discover the gh app installation id (gh-app-installation-id takes precedence)

  -h, --help                             help for gh-app-token-generator

  -o, --output string                    Output Format [json|txt].
                                         json -> Returns a json struct : {"token":"ghtoken","status":"failed|success","info":""}
                                         txt -> Returns the github token when cmd is successful. Otherwise returns error info.
                                          (default "json")
  -v, --version                          version for gh-app-token-generator

Example

Using gh-app-private-key in base64 format:

# gh-app-token-generator --gh-app-id 123456 --gh-app-installation-id 12345678 --gh-app-private-key LSxxxxx

{"token":"ghs_xxxxxxxxxxxxxxxxx","status":"success","info":"token retrieved successfully"}

Using gh-app-private-key in base64 format and using gh-repo to autodiscover ghApp installation id:

# gh-app-token-generator --gh-app-id 123456 --gh-repo marcportabellaclotet-mt/terraform-banking --gh-app-private-key LSxxxxx

{"token":"ghs_xxxxxxxxxxxxxxxxx","status":"success","info":"token retrieved successfully"}

Using gh-app-private-key-path parameter to read github app key from file:

# gh-app-token-generator --gh-app-id 123456 --gh-app-installation-id 12345678 --gh-app-private-key-path /tmp/key.pem

{"token":"ghs_xxxxxxxxxxxxxxxxx","status":"success","info":"token retrieved successfully"}

Using export output to generate export GH_TOKEN command:

# gh-app-token-generator --gh-app-id 123456 --gh-app-installation-id 12345678 --gh-app-private-key-path /tmp/key.em -o export

export GH_TOKEN="ghs_xxxxxxxxxxxxxxxxx"

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
pkg
cmd

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL