config

package
v1.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 24, 2024 License: Apache-2.0 Imports: 13 Imported by: 4

Documentation

Overview

Package config provides the ability to load and save config.json and signingkeys.json.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func LoadExecSaveSigningKeys

func LoadExecSaveSigningKeys(fn func(keys *SigningKeys) error) error

LoadExecSaveSigningKeys loads signing key, executes given function and then saves the signing key

Types

type Config

type Config struct {
	InsecureRegistries []string          `json:"insecureRegistries"`
	CredentialsStore   string            `json:"credsStore,omitempty"`
	CredentialHelpers  map[string]string `json:"credHelpers,omitempty"`
	// SignatureFormat defines the signature envelope type for signing
	SignatureFormat string `json:"signatureFormat,omitempty"`
}

Config reflects the config.json file. Specification: https://github.com/notaryproject/notation/pull/76

func LoadConfig

func LoadConfig() (*Config, error)

LoadConfig reads the config from file or return a default config if not found.

func NewConfig

func NewConfig() *Config

NewConfig creates a new config file

func (*Config) Save

func (c *Config) Save() error

Save stores the config to file

type ExternalKey

type ExternalKey struct {
	ID           string            `json:"id,omitempty"`
	PluginName   string            `json:"pluginName,omitempty"`
	PluginConfig map[string]string `json:"pluginConfig,omitempty"`
}

ExternalKey contains the necessary information to delegate the signing operation to the named plugin.

type KeySuite

type KeySuite struct {
	Name string `json:"name"`

	*X509KeyPair
	*ExternalKey
}

KeySuite is a named key suite.

func (KeySuite) Is

func (k KeySuite) Is(name string) bool

Is checks whether the given name is equal with the Name variable

type SigningKeys

type SigningKeys struct {
	Default *string    `json:"default,omitempty"`
	Keys    []KeySuite `json:"keys"`
}

SigningKeys reflects the signingkeys.json file.

func LoadSigningKeys

func LoadSigningKeys() (*SigningKeys, error)

LoadSigningKeys reads the signingkeys.json file or return a default config if not found.

func NewSigningKeys

func NewSigningKeys() *SigningKeys

NewSigningKeys creates a new signingkeys config file

func (*SigningKeys) Add

func (s *SigningKeys) Add(name, keyPath, certPath string, markDefault bool) error

Add adds new signing key

func (*SigningKeys) AddPlugin

func (s *SigningKeys) AddPlugin(ctx context.Context, keyName, id, pluginName string, pluginConfig map[string]string, markDefault bool) error

AddPlugin adds new plugin based signing key

func (*SigningKeys) Get

func (s *SigningKeys) Get(keyName string) (KeySuite, error)

Get returns signing key for the given name

func (*SigningKeys) GetDefault

func (s *SigningKeys) GetDefault() (KeySuite, error)

GetDefault returns default signing key

func (*SigningKeys) Remove

func (s *SigningKeys) Remove(keyName ...string) ([]string, error)

Remove deletes given signing keys and returns a slice of deleted key names

func (*SigningKeys) Save

func (s *SigningKeys) Save() error

Save SigningKeys to signingkeys.json file

func (*SigningKeys) UpdateDefault

func (s *SigningKeys) UpdateDefault(keyName string) error

UpdateDefault updates default signing key

type X509KeyPair

type X509KeyPair struct {
	KeyPath         string `json:"keyPath,omitempty"`
	CertificatePath string `json:"certPath,omitempty"`
}

X509KeyPair contains the paths of a public/private key pair files.

Jump to

Keyboard shortcuts

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