secrets

package
v0.0.0-...-20ea1d9 Latest Latest
Warning

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

Go to latest
Published: Oct 6, 2023 License: GPL-3.0 Imports: 8 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

This section is empty.

Types

type Argo2HashConfiguration

type Argo2HashConfiguration struct {
	Iterations  uint32
	Length      uint32
	Memory      uint32
	Parallelism uint8
}

type GenericSecretsManager

type GenericSecretsManager interface {
	// Return a list of all secret names.
	// It returns a slice of strings representing the names of the secrets and an error if any occurs.
	List() ([]string, error)

	// Creates a new secret with the given name and value.
	// It takes two parameters: secretName (name of the secret) and secretValue (value of the secret).
	// It returns an error if the creation process fails.
	Create(secretName string, secretValue string) error

	// Updates an existing secret with the given name and new value.
	// It takes two parameters: secretName (name of the secret) and secretValue (new value of the secret).
	// It returns an error if the update operation fails.
	Update(secretName string, secretValue string) error

	// Deletes an existing secret based on its name.
	// It takes one parameter: secretName (name of the secret).
	// It returns an error if the deletion process fails.
	Delete(secretName string) error
}

type MaskedSecret

type MaskedSecret struct {
	Name SecretName
}

A secret where the value is unknown (as received from the API)

func (MaskedSecret) HashedNamePrefix

func (secret MaskedSecret) HashedNamePrefix() string

Gets the prefix of the name of the corresponding "hash" secret. The full name is only known when the value is known.

type OrganisationClient

type OrganisationClient interface {
	// OrgSecretList returns a list of all repository secrets.
	OrgSecretList(namespace string) ([]*drone.Secret, error)

	// OrgSecretCreate creates a registry.
	OrgSecretCreate(namespace string, secret *drone.Secret) (*drone.Secret, error)

	// OrgSecretUpdate updates a registry.
	OrgSecretUpdate(namespace string, secret *drone.Secret) (*drone.Secret, error)

	// OrgSecretDelete deletes a secret.
	OrgSecretDelete(namespace, name string) error
}

Create interface that is a subset of `drone.Client` to make testing simpler

type OrganisationSecretsManager

type OrganisationSecretsManager struct {
	Client    OrganisationClient
	Namespace string
}

Secret manager for a Drone CI repository. Implemented against `GenericSecretsManager` interface.

func (OrganisationSecretsManager) Create

func (manager OrganisationSecretsManager) Create(secretName string, secretValue string) error

func (OrganisationSecretsManager) Delete

func (manager OrganisationSecretsManager) Delete(secretName string) error

func (OrganisationSecretsManager) List

func (manager OrganisationSecretsManager) List() ([]string, error)

func (OrganisationSecretsManager) Update

func (manager OrganisationSecretsManager) Update(secretName string, secretValue string) error

type RepositoryClient

type RepositoryClient interface {
	// SecretList returns a list of all repository secrets.
	SecretList(owner, name string) ([]*drone.Secret, error)

	// SecretCreate creates a registry.
	SecretCreate(owner, name string, secret *drone.Secret) (*drone.Secret, error)

	// SecretUpdate updates a registry.
	SecretUpdate(owner, name string, secret *drone.Secret) (*drone.Secret, error)

	// SecretDelete deletes a secret.
	SecretDelete(owner, name, secret string) error
}

Create interface that is a subset of `drone.Client` to make testing simpler

type RepositorySecretsManager

type RepositorySecretsManager struct {
	Client    RepositoryClient
	Namespace string
	Name      string
}

Secret manager for a Drone CI repository. Implemented against `GenericSecretsManager` interface.

func (RepositorySecretsManager) Create

func (manager RepositorySecretsManager) Create(secretName string, secretValue string) error

func (RepositorySecretsManager) Delete

func (manager RepositorySecretsManager) Delete(secretName string) error

func (RepositorySecretsManager) List

func (manager RepositorySecretsManager) List() ([]string, error)

func (RepositorySecretsManager) Repository

func (manager RepositorySecretsManager) Repository() string

func (RepositorySecretsManager) Update

func (manager RepositorySecretsManager) Update(secretName string, secretValue string) error

type Secret

type Secret struct {
	MaskedSecret
	Value                  string
	CachedHashedName       string
	Argo2HashConfiguration Argo2HashConfiguration
}

A secret where the value is known

func NewSecret

func NewSecret(name SecretName, value string, hashConfiguration Argo2HashConfiguration) Secret

func (*Secret) HashedName

func (secret *Secret) HashedName() string

Gets the name of the corresponding "hash" secret

type SecretName

type SecretName = string

type SyncedSecretManager

type SyncedSecretManager struct {
	GenericSecretManager GenericSecretsManager
}

func (SyncedSecretManager) ListSecrets

func (manager SyncedSecretManager) ListSecrets() ([]MaskedSecret, error)

func (SyncedSecretManager) ListSyncedSecrets

func (manager SyncedSecretManager) ListSyncedSecrets() ([]MaskedSecret, error)

func (SyncedSecretManager) SyncSecret

func (manager SyncedSecretManager) SyncSecret(secret Secret, dryRun bool) (updated bool, err error)

func (SyncedSecretManager) SyncSecrets

func (manager SyncedSecretManager) SyncSecrets(secrets []Secret, dryRun bool) (updated []SecretName, err error)

Jump to

Keyboard shortcuts

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