package keyring

import "github.com/oslokommune/okctl/pkg/keyring"

Package keyring handles secrets stored on client machine using okctl

Index

Constants

const KeyTypeGithubToken = "githubToken"

KeyTypeGithubToken github token for session

Functions

func DefaultKeyringForOS

func DefaultKeyringForOS() (krPkg.Keyring, error)

DefaultKeyringForOS is the default keyring to store client secrets

Types

type InMemoryKeyring

type InMemoryKeyring struct {
	krPkg.Keyring
	// contains filtered or unexported fields
}

InMemoryKeyring : store and fetch secrets in memory for tests

func NewInMemoryKeyring

func NewInMemoryKeyring() *InMemoryKeyring

NewInMemoryKeyring : Constructor for in memory keyring

func (*InMemoryKeyring) Get

func (i *InMemoryKeyring) Get(_ string) (krPkg.Item, error)

Get : get a value from the in memory keyring

func (*InMemoryKeyring) Set

func (i *InMemoryKeyring) Set(item krPkg.Item) error

Set : set a value in the in memory keyring

type KeyType

type KeyType string

KeyType : the type of key we are storing or fetching from keyring

type Keyring

type Keyring struct {
	// contains filtered or unexported fields
}

Keyring : wrapper for keyring package

func New

func New(keyring krPkg.Keyring, debug bool) (*Keyring, error)

New creates a new keyring

func (*Keyring) Fetch

func (k *Keyring) Fetch(key KeyType) (string, error)

Fetch a value with given keytype from keyring

func (*Keyring) Store

func (k *Keyring) Store(key KeyType, val string) error

Store a value with given keytype and value in keyring

type Keyringer

type Keyringer interface {
	Store(key KeyType, val string) error
	Fetch(key KeyType) (string, error)
}

Keyringer exposes functions needed from keyring

Source Files

keyring.go

Version
v0.0.106 (latest)
Published
Oct 21, 2022
Platform
linux/amd64
Imports
4 packages
Last checked
1 day ago

Tools for package owners.