github

package
v1.3.0 Latest Latest
Warning

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

Go to latest
Published: Dec 14, 2021 License: Apache-2.0 Imports: 24 Imported by: 0

Documentation

Overview

Package github manages the configuration and execution of the Vault Secrets Plugin for GitHub.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Factory

func Factory(ctx context.Context, conf *logical.BackendConfig) (logical.Backend, error)

Factory creates a configured logical.Backend for the GitHub plugin.

Types

type Client

type Client struct {
	*Config
	// contains filtered or unexported fields
}

Client encapsulates an HTTP client for talking to the configured GitHub App.

func NewClient

func NewClient(config *Config) (c *Client, err error)

NewClient returns a newly constructed client from the provided config. It will error if it fails to validate necessary configuration formats like URIs and PEM encoded private keys.

func (*Client) RevokeToken added in v1.1.0

func (c *Client) RevokeToken(ctx context.Context, token string) (*logical.Response, error)

RevokeToken takes a valid access token and performs a revocation against GitHub's APIs. If there are any failures on the wire or parsing request and response object, an error is returned.

func (*Client) Token

func (c *Client) Token(ctx context.Context, opts *tokenOptions) (*logical.Response, error)

Token returns a valid access token. If there are any failures on the wire or parsing request and response object, an error is returned.

type Config

type Config struct {
	// AppID is the application identifier of the GitHub App.
	AppID int `json:"app_id"`

	// InsID is the installation identifier of the GitHub App.
	InsID int `json:"ins_id"`

	// OrgName is the organization name for the GitHub App.
	OrgName string `json:"org_name"`

	// PrvKey is the private for signing GitHub access token requests (JWTs).
	// NOTE: Should be in a PEM PKCS#1 RSAPrivateKey format.
	PrvKey string `json:"prv_key"`

	// BaseURL is the base URL for API requests.
	// Defaults to GitHub's public API.
	BaseURL string `json:"base_url"`
}

Config holds all configuration for the backend.

func NewConfig

func NewConfig() *Config

NewConfig returns a pre-configured Config struct.

func (*Config) Update

func (c *Config) Update(d *framework.FieldData) (bool, error)

Update updates the configuration from the given field data only when the data is different.

type PermissionSet added in v1.1.0

type PermissionSet struct {
	Name         string
	TokenOptions *tokenOptions
}

Jump to

Keyboard shortcuts

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