secrets

package
v0.6.0 Latest Latest
Warning

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

Go to latest
Published: Apr 15, 2026 License: Apache-2.0 Imports: 14 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

View Source
var (
	ErrUnavailable        = errors.New("secret service unavailable")
	ErrInvalidInput       = errors.New("invalid secret input")
	ErrSecretNotFound     = errors.New("secret not found")
	ErrSecretNameConflict = errors.New("secret name already exists at this scope")
	ErrBindingNotFound    = errors.New("secret binding not found")
	ErrBindingConflict    = errors.New("secret binding already exists at this scope")
	ErrBindingTarget      = errors.New("secret binding target not found in project")
)

Functions

func BuildRuntimeEnvironment

func BuildRuntimeEnvironment(resolved []domain.ResolvedSecret) ([]string, error)

Types

type CreateBindingInput

type CreateBindingInput struct {
	ProjectID       uuid.UUID
	SecretID        uuid.UUID
	Scope           string
	ScopeResourceID uuid.UUID
	BindingKey      string
}

type CreateOrganizationSecretInput

type CreateOrganizationSecretInput struct {
	OrganizationID uuid.UUID
	Name           string
	Kind           string
	Description    string
	Value          string
}

type CreateSecretInput

type CreateSecretInput struct {
	ProjectID   uuid.UUID
	Scope       string
	Name        string
	Kind        string
	Description string
	Value       string
}

type DeleteBindingInput

type DeleteBindingInput struct {
	ProjectID uuid.UUID
	BindingID uuid.UUID
}

type DeleteOrganizationSecretInput

type DeleteOrganizationSecretInput struct {
	OrganizationID uuid.UUID
	SecretID       uuid.UUID
}

type DeleteSecretInput

type DeleteSecretInput struct {
	ProjectID uuid.UUID
	SecretID  uuid.UUID
}

type DisableOrganizationSecretInput

type DisableOrganizationSecretInput struct {
	OrganizationID uuid.UUID
	SecretID       uuid.UUID
}

type DisableSecretInput

type DisableSecretInput struct {
	ProjectID uuid.UUID
	SecretID  uuid.UUID
}

type Manager

type Manager interface {
	ListProjectSecretInventory(ctx context.Context, projectID uuid.UUID) ([]domain.InventorySecret, error)
	ListOrganizationSecretInventory(ctx context.Context, organizationID uuid.UUID) ([]domain.InventorySecret, error)
	ListProjectBindings(ctx context.Context, projectID uuid.UUID) ([]domain.BindingRecord, error)
	CreateSecret(ctx context.Context, input CreateSecretInput) (domain.Secret, error)
	CreateBinding(ctx context.Context, input CreateBindingInput) (domain.BindingRecord, error)
	CreateOrganizationSecret(ctx context.Context, input CreateOrganizationSecretInput) (domain.Secret, error)
	UpdateSecretMetadata(ctx context.Context, input UpdateSecretMetadataInput) (domain.Secret, error)
	RotateSecret(ctx context.Context, input RotateSecretInput) (domain.Secret, error)
	RotateOrganizationSecret(ctx context.Context, input RotateOrganizationSecretInput) (domain.Secret, error)
	DisableSecret(ctx context.Context, input DisableSecretInput) (domain.Secret, error)
	DeleteBinding(ctx context.Context, input DeleteBindingInput) error
	DisableOrganizationSecret(ctx context.Context, input DisableOrganizationSecretInput) (domain.Secret, error)
	DeleteSecret(ctx context.Context, input DeleteSecretInput) error
	DeleteOrganizationSecret(ctx context.Context, input DeleteOrganizationSecretInput) error
	ResolveForRuntime(ctx context.Context, input ResolveRuntimeInput) ([]domain.ResolvedSecret, []string, error)
	ResolveBoundForRuntime(ctx context.Context, input ResolveBoundRuntimeInput) ([]domain.ResolvedSecret, error)
}

type ResolveBoundRuntimeInput

type ResolveBoundRuntimeInput struct {
	ProjectID  uuid.UUID
	TicketID   *uuid.UUID
	WorkflowID *uuid.UUID
	AgentID    *uuid.UUID
}

type ResolveRuntimeInput

type ResolveRuntimeInput struct {
	ProjectID   uuid.UUID
	BindingKeys []string
	TicketID    *uuid.UUID
	WorkflowID  *uuid.UUID
	AgentID     *uuid.UUID
}

type RotateOrganizationSecretInput

type RotateOrganizationSecretInput struct {
	OrganizationID uuid.UUID
	SecretID       uuid.UUID
	Value          string
}

type RotateSecretInput

type RotateSecretInput struct {
	ProjectID uuid.UUID
	SecretID  uuid.UUID
	Value     string
}

type Service

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

func New

func New(repository repo.Repository, cipherSeed string) (*Service, error)

func (*Service) CreateBinding

func (s *Service) CreateBinding(ctx context.Context, input CreateBindingInput) (domain.BindingRecord, error)

func (*Service) CreateOrganizationSecret

func (s *Service) CreateOrganizationSecret(ctx context.Context, input CreateOrganizationSecretInput) (domain.Secret, error)

func (*Service) CreateSecret

func (s *Service) CreateSecret(ctx context.Context, input CreateSecretInput) (domain.Secret, error)

func (*Service) DeleteBinding

func (s *Service) DeleteBinding(ctx context.Context, input DeleteBindingInput) error

func (*Service) DeleteOrganizationSecret

func (s *Service) DeleteOrganizationSecret(ctx context.Context, input DeleteOrganizationSecretInput) error

func (*Service) DeleteSecret

func (s *Service) DeleteSecret(ctx context.Context, input DeleteSecretInput) error

func (*Service) DisableOrganizationSecret

func (s *Service) DisableOrganizationSecret(ctx context.Context, input DisableOrganizationSecretInput) (domain.Secret, error)

func (*Service) DisableSecret

func (s *Service) DisableSecret(ctx context.Context, input DisableSecretInput) (domain.Secret, error)

func (*Service) ListOrganizationSecretInventory

func (s *Service) ListOrganizationSecretInventory(ctx context.Context, organizationID uuid.UUID) ([]domain.InventorySecret, error)

func (*Service) ListProjectBindings

func (s *Service) ListProjectBindings(ctx context.Context, projectID uuid.UUID) ([]domain.BindingRecord, error)

func (*Service) ListProjectSecretInventory

func (s *Service) ListProjectSecretInventory(ctx context.Context, projectID uuid.UUID) ([]domain.InventorySecret, error)

func (*Service) ResolveBoundForRuntime

func (s *Service) ResolveBoundForRuntime(ctx context.Context, input ResolveBoundRuntimeInput) ([]domain.ResolvedSecret, error)

func (*Service) ResolveForRuntime

func (s *Service) ResolveForRuntime(ctx context.Context, input ResolveRuntimeInput) ([]domain.ResolvedSecret, []string, error)

func (*Service) RotateOrganizationSecret

func (s *Service) RotateOrganizationSecret(ctx context.Context, input RotateOrganizationSecretInput) (domain.Secret, error)

func (*Service) RotateSecret

func (s *Service) RotateSecret(ctx context.Context, input RotateSecretInput) (domain.Secret, error)

func (*Service) UpdateSecretMetadata

func (s *Service) UpdateSecretMetadata(ctx context.Context, input UpdateSecretMetadataInput) (domain.Secret, error)

type UpdateSecretMetadataInput

type UpdateSecretMetadataInput struct {
	ProjectID   uuid.UUID
	SecretID    uuid.UUID
	Name        *string
	Description *string
}

Jump to

Keyboard shortcuts

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