awscertstore

package
v0.0.0-...-e2c53ed Latest Latest
Warning

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

Go to latest
Published: Mar 26, 2024 License: Apache-2.0 Imports: 13 Imported by: 1

README

Package cloudeng.io/aws/awscertstore

import cloudeng.io/aws/awscertstore

Package awscertstore provides an implementation of a autocert.DirCache and cloudeng.io/webapp.CertStore for use when managing TLS certificates on AWS. In particular, it uses the AWS secrets manager to store TLS certificates.

Variables

ErrUnsupportedOperation, ErrCacheMiss
// ErrUnsupportedOperation is returned for any unsupported operations.
ErrUnsupportedOperation = errors.New("unsupported operation")
// ErrCacheMiss is the same as autocert.ErrCacheMiss
ErrCacheMiss = autocert.ErrCacheMiss

AutoCertStore
// AutoCertStore creates instances of webapp.CertStore using
// NewHybridCache.
AutoCertStore = CertStoreFactory{awsCacheName}

Functions

Func NewAWSCache
func NewAWSCache(opts ...AWSCacheOption) autocert.Cache

NewAWSCache returns an instance of autocert.Cache that uses the AWS secretsmanager. It assumes that a secret has already been created for storing a given certificate and that the name of the certificate is the same as the name of the secret.

Func NewHybridCache
func NewHybridCache(dir string, opts ...AWSCacheOption) autocert.Cache

NewHybridCache returns an instance of autocert.Cache that will store certificates in 'backing' store, but use the local file system for temporary/private data such as the ACME client's private key. This allows for certificates to be shared across multiple hosts by using a distributed 'backing' store such as AWS' secretsmanager.

Types

Type AWSCacheOption
type AWSCacheOption func(a *awscache)

AWSCacheOption represents an option to NewAWSCache.

Functions
func WithAWSConfig(cfg aws.Config) AWSCacheOption

WithAWSConfig specifies the aws.Config to use, it must be used to specify the aws.Config to use for operations on the underlying secrets manager.

Type CertStoreFactory
type CertStoreFactory struct {
	// contains filtered or unexported fields
}

CertStoreFactory represents the webapp.CertStore's that can be created by this package.

Methods
func (f CertStoreFactory) Describe() string

Describe implements webapp.CertStoreFactory.

func (f CertStoreFactory) New(_ context.Context, _ string, opts ...interface{}) (webapp.CertStore, error)

New implements webapp.CertStoreFactory.

func (f CertStoreFactory) Type() string

Type implements webapp.CertStoreFactory.

Documentation

Overview

Package awscertstore provides an implementation of a autocert.DirCache and cloudeng.io/webapp.CertStore for use when managing TLS certificates on AWS. In particular, it uses the AWS secrets manager to store TLS certificates.

Index

Constants

This section is empty.

Variables

View Source
var (
	// ErrUnsupportedOperation is returned for any unsupported operations.
	ErrUnsupportedOperation = errors.New("unsupported operation")
	// ErrCacheMiss is the same as autocert.ErrCacheMiss
	ErrCacheMiss = autocert.ErrCacheMiss
)
View Source
var (
	// AutoCertStore creates instances of webapp.CertStore using
	// NewHybridCache.
	AutoCertStore = CertStoreFactory{awsCacheName}
)

Functions

func NewAWSCache

func NewAWSCache(opts ...AWSCacheOption) autocert.Cache

NewAWSCache returns an instance of autocert.Cache that uses the AWS secretsmanager. It assumes that a secret has already been created for storing a given certificate and that the name of the certificate is the same as the name of the secret.

func NewHybridCache

func NewHybridCache(dir string, opts ...AWSCacheOption) autocert.Cache

NewHybridCache returns an instance of autocert.Cache that will store certificates in 'backing' store, but use the local file system for temporary/private data such as the ACME client's private key. This allows for certificates to be shared across multiple hosts by using a distributed 'backing' store such as AWS' secretsmanager.

Types

type AWSCacheOption

type AWSCacheOption func(a *awscache)

AWSCacheOption represents an option to NewAWSCache.

func WithAWSConfig

func WithAWSConfig(cfg aws.Config) AWSCacheOption

WithAWSConfig specifies the aws.Config to use, it must be used to specify the aws.Config to use for operations on the underlying secrets manager.

type CertStoreFactory

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

CertStoreFactory represents the webapp.CertStore's that can be created by this package.

func (CertStoreFactory) Describe

func (f CertStoreFactory) Describe() string

Describe implements webapp.CertStoreFactory.

func (CertStoreFactory) New

func (f CertStoreFactory) New(_ context.Context, _ string, opts ...interface{}) (webapp.CertStore, error)

New implements webapp.CertStoreFactory.

func (CertStoreFactory) Type

func (f CertStoreFactory) Type() string

Type implements webapp.CertStoreFactory.

Jump to

Keyboard shortcuts

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