Directories
¶
| Path | Synopsis |
|---|---|
|
cmd
|
|
|
gen-jsonschema
command
|
|
|
ghtkn
command
|
|
|
Package schema embeds the JSON Schema of the configuration file so that 'ghtkn json-schema' can output it.
|
Package schema embeds the JSON Schema of the configuration file so that 'ghtkn json-schema' can output it. |
|
pkg
|
|
|
agent/crypt
Package crypt provides the agent's low-level at-rest primitives: AES-256-GCM encryption (Seal/Open) and an atomic file write.
|
Package crypt provides the agent's low-level at-rest primitives: AES-256-GCM encryption (Seal/Open) and an atomic file write. |
|
agent/harden
Package harden hardens a process that holds ghtkn secrets in memory: the agent, which keeps the data key and decrypts tokens for as long as it runs, and the commands that read the agent passphrase from the terminal.
|
Package harden hardens a process that holds ghtkn secrets in memory: the agent, which keeps the data key and decrypts tokens for as long as it runs, and the commands that read the agent passphrase from the terminal. |
|
agent/keyfile
Package keyfile manages the agent's data key on disk: a 32-byte AES-256 data key wrapped with a passphrase-derived (Argon2id) key-encryption key and stored as a key file.
|
Package keyfile manages the agent's data key on disk: a 32-byte AES-256 data key wrapped with a passphrase-derived (Argon2id) key-encryption key and stored as a key file. |
|
agent/refreshtoken
Package refreshtoken holds the policy constraints of the ghtkn agent's refresh-token feature that are shared between the agent server and the CLI's up-front validation.
|
Package refreshtoken holds the policy constraints of the ghtkn agent's refresh-token feature that are shared between the agent server and the CLI's up-front validation. |
|
agent/server
Package server provides the controller for the 'ghtkn agent' command.
|
Package server provides the controller for the 'ghtkn agent' command. |
|
agent/tokenstore
Package tokenstore caches GitHub App access tokens for the agent, encrypted at rest with AES-256-GCM (via the crypt package) under the data key produced by the keyfile package.
|
Package tokenstore caches GitHub App access tokens for the agent, encrypted at rest with AES-256-GCM (via the crypt package) under the data key produced by the keyfile package. |
|
agent/tty
Package tty provides terminal helpers shared by the agent subcommands: reading a passphrase without echo and asking a yes/no confirmation.
|
Package tty provides terminal helpers shared by the agent subcommands: reading a passphrase without echo and asking a yes/no confirmation. |
|
cli
Package cli provides the command-line interface layer for ghtkn.
|
Package cli provides the command-line interface layer for ghtkn. |
|
cli/agent
Package agent implements the 'ghtkn agent' command and its subcommands.
|
Package agent implements the 'ghtkn agent' command and its subcommands. |
|
cli/auth
Package auth implements the 'ghtkn auth' command.
|
Package auth implements the 'ghtkn auth' command. |
|
cli/completion
Package completion implements shell completion of the app name arguments that 'ghtkn get', 'ghtkn auth', and 'ghtkn revoke' take.
|
Package completion implements shell completion of the app name arguments that 'ghtkn get', 'ghtkn auth', and 'ghtkn revoke' take. |
|
cli/exec
Package exec implements the 'ghtkn exec' command.
|
Package exec implements the 'ghtkn exec' command. |
|
cli/flag
Package flag provides common command-line flags for ghtkn CLI.
|
Package flag provides common command-line flags for ghtkn CLI. |
|
cli/get
Package get implements both the 'ghtkn get' command and 'ghtkn git-credential' command.
|
Package get implements both the 'ghtkn get' command and 'ghtkn git-credential' command. |
|
cli/info
Package info implements the 'ghtkn info' command.
|
Package info implements the 'ghtkn info' command. |
|
cli/initcmd
Package initcmd implements the 'ghtkn init' command.
|
Package initcmd implements the 'ghtkn init' command. |
|
cli/jsonschema
Package jsonschema implements the 'ghtkn json-schema' command.
|
Package jsonschema implements the 'ghtkn json-schema' command. |
|
cli/revoke
Package revoke implements the 'ghtkn revoke' command.
|
Package revoke implements the 'ghtkn revoke' command. |
|
clipboard
Package clipboard copies the device flow one-time code to the system clipboard.
|
Package clipboard copies the device flow one-time code to the system clipboard. |
|
cobrautil
Package cobrautil provides the pieces every CLI of ours needs on top of spf13/cobra: the process entry point, a version command, a command dumping the help of the whole tree, and environment variable sources for flags.
|
Package cobrautil provides the pieces every CLI of ours needs on top of spf13/cobra: the process entry point, a version command, a command dumping the help of the whole tree, and environment variable sources for flags. |
|
config
Package config provides helpers for resolving ghtkn's configuration file path.
|
Package config provides helpers for resolving ghtkn's configuration file path. |
|
controller/agent/lock
Package lock implements the 'ghtkn agent lock' command: it connects to a running agent over its Unix domain socket and asks it to discard its in-memory data key, returning to the locked state without stopping the process.
|
Package lock implements the 'ghtkn agent lock' command: it connects to a running agent over its Unix domain socket and asks it to discard its in-memory data key, returning to the locked state without stopping the process. |
|
controller/agent/reset
Package reset implements the 'ghtkn agent reset' command: it recovers from a forgotten passphrase by stopping the agent, deleting the key file and cached tokens, and recreating the key from a freshly entered passphrase.
|
Package reset implements the 'ghtkn agent reset' command: it recovers from a forgotten passphrase by stopping the agent, deleting the key file and cached tokens, and recreating the key from a freshly entered passphrase. |
|
controller/agent/status
Package status implements the 'ghtkn agent status' command: it connects to the agent over its Unix domain socket and reports whether the agent is running, whether it is locked, and how many tokens it caches.
|
Package status implements the 'ghtkn agent status' command: it connects to the agent over its Unix domain socket and reports whether the agent is running, whether it is locked, and how many tokens it caches. |
|
controller/agent/stop
Package stop implements the 'ghtkn agent stop' command: it connects to a running agent over its Unix domain socket and asks it to shut down.
|
Package stop implements the 'ghtkn agent stop' command: it connects to a running agent over its Unix domain socket and asks it to shut down. |
|
controller/agent/unlock
Package unlock implements the 'ghtkn agent unlock' command: the client half of the locked-start workflow.
|
Package unlock implements the 'ghtkn agent unlock' command: the client half of the locked-start workflow. |
|
controller/auth
Package auth provides functionality to authenticate to GitHub and cache a GitHub App User Access Token.
|
Package auth provides functionality to authenticate to GitHub and cache a GitHub App User Access Token. |
|
controller/exec
Package exec implements the 'ghtkn exec' command, which runs an external command with GitHub App User Access Tokens in its environment.
|
Package exec implements the 'ghtkn exec' command, which runs an external command with GitHub App User Access Tokens in its environment. |
|
controller/get
Package get provides functionality to retrieve GitHub App access tokens.
|
Package get provides functionality to retrieve GitHub App access tokens. |
|
controller/info
Package info implements the controller for the 'ghtkn info' command, which renders environment information useful for troubleshooting as JSON.
|
Package info implements the controller for the 'ghtkn info' command, which renders environment information useful for troubleshooting as JSON. |
|
controller/initcmd
Package initcmd implements the business logic for the 'ghtkn init' command.
|
Package initcmd implements the business logic for the 'ghtkn init' command. |
|
controller/revoke
Package revoke provides functionality to revoke GitHub App User Access Tokens.
|
Package revoke provides functionality to revoke GitHub App User Access Tokens. |
|
proc
Package proc runs an external command on ghtkn's behalf.
|
Package proc runs an external command on ghtkn's behalf. |
Click to show internal directories.
Click to hide internal directories.