secrets

package
v0.0.0-...-57dcc05 Latest Latest
Warning

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

Go to latest
Published: Feb 28, 2025 License: AGPL-3.0 Imports: 19 Imported by: 1

Documentation

Overview

Package secrets provides the backend implementation for the secrets facade.

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func Register

func Register(registry facade.FacadeRegistry)

Register is called to expose a package of facades onto a given registry.

Types

type SecretBackendService

type SecretBackendService interface {
	GetSecretBackendConfigForAdmin(ctx context.Context, modelUUID coremodel.UUID) (*provider.ModelBackendConfigInfo, error)
}

SecretBackendService provides access to the secret backend service,

type SecretService

type SecretService interface {
	CreateUserSecret(context.Context, *secrets.URI, secretservice.CreateUserSecretParams) error
	UpdateUserSecret(context.Context, *secrets.URI, secretservice.UpdateUserSecretParams) error

	GetUserSecretURIByLabel(ctx context.Context, label string) (*secrets.URI, error)
	GetSecretContentFromBackend(ctx context.Context, uri *secrets.URI, rev int) (secrets.SecretValue, error)
	ListSecrets(ctx context.Context, uri *secrets.URI,
		revision *int,
		labels domainsecret.Labels,
	) ([]*secrets.SecretMetadata, [][]*secrets.SecretRevisionMetadata, error)
	ListCharmSecrets(ctx context.Context, owners ...secretservice.CharmSecretOwner) ([]*secrets.SecretMetadata, [][]*secrets.SecretRevisionMetadata, error)

	DeleteSecret(ctx context.Context, uri *secrets.URI, params secretservice.DeleteSecretParams) error

	GetSecretGrants(ctx context.Context, uri *secrets.URI, role secrets.SecretRole) ([]secretservice.SecretAccess, error)
	GrantSecretAccess(ctx context.Context, uri *secrets.URI, p secretservice.SecretAccessParams) error
	RevokeSecretAccess(ctx context.Context, uri *secrets.URI, p secretservice.SecretAccessParams) error
}

SecretService instances provide secret apis.

type SecretsAPI

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

SecretsAPI is the backend for the Secrets facade.

func (*SecretsAPI) CreateSecrets

func (s *SecretsAPI) CreateSecrets(ctx context.Context, args params.CreateSecretArgs) (params.StringResults, error)

CreateSecrets creates new secrets.

func (*SecretsAPI) GrantSecret

GrantSecret grants access to a user secret.

func (*SecretsAPI) ListSecrets

ListSecrets lists available secrets. If args specifies secret owners, then only charm secrets are queried because user secret don't have owners as such. If no owners are specified, we use the more generic list method when returns all types of secret.

func (*SecretsAPI) RemoveSecrets

func (s *SecretsAPI) RemoveSecrets(ctx context.Context, args params.DeleteSecretArgs) (params.ErrorResults, error)

RemoveSecrets remove user secret.

func (*SecretsAPI) RevokeSecret

RevokeSecret revokes access to a user secret.

func (*SecretsAPI) UpdateSecrets

UpdateSecrets updates user secrets.

type SecretsAPIV1

type SecretsAPIV1 struct {
	*SecretsAPI
}

SecretsAPIV1 is the backend for the Secrets facade v1.

func (*SecretsAPIV1) CreateSecrets

func (s *SecretsAPIV1) CreateSecrets(_ context.Context, _ struct{})

CreateSecrets isn't on the v1 API.

func (*SecretsAPIV1) GrantSecret

func (s *SecretsAPIV1) GrantSecret(ctx context.Context, _ struct{})

GrantSecret isn't on the v1 API.

func (*SecretsAPIV1) RemoveSecrets

func (s *SecretsAPIV1) RemoveSecrets(ctx context.Context, _ struct{})

RemoveSecrets isn't on the v1 API.

func (*SecretsAPIV1) RevokeSecret

func (s *SecretsAPIV1) RevokeSecret(ctx context.Context, _ struct{})

RevokeSecret isn't on the v1 API.

func (*SecretsAPIV1) UpdateSecrets

func (s *SecretsAPIV1) UpdateSecrets(ctx context.Context, _ struct{})

UpdateSecrets isn't on the v1 API.

Directories

Path Synopsis
Package mocks is a generated GoMock package.
Package mocks is a generated GoMock package.

Jump to

Keyboard shortcuts

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