issuer

package
v0.7.2-rio.1 Latest Latest
Warning

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

Go to latest
Published: May 15, 2019 License: Apache-2.0 Imports: 7 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func RegisterIssuer

func RegisterIssuer(name string, c IssuerConstructor)

Register will register an issuer constructor so it can be used within the application. 'name' should be unique, and should be used to identify this issuer. TODO: move this method to be on Factory, and invent a way to obtain a SharedFactory. This will make testing easier.

Types

type Helper

type Helper interface {
	GetGenericIssuer(ref cmapi.ObjectReference, ns string) (cmapi.GenericIssuer, error)
}

func NewHelper

func NewHelper(issuerLister cmlisters.IssuerLister, clusterIssuerLister cmlisters.ClusterIssuerLister) Helper

NewHelper will construct a new instance of a Helper using values supplied on the provided controller context.

type Interface

type Interface interface {
	// Setup initialises the issuer. This may include registering accounts with
	// a service, creating a CA and storing it somewhere, or verifying
	// credentials and authorization with a remote server.
	Setup(ctx context.Context) error

	// Issue attempts to issue a certificate as described by the certificate
	// resource given
	Issue(context.Context, *v1alpha1.Certificate) (*IssueResponse, error)
}

type IssueResponse

type IssueResponse struct {
	// Certificate is the certificate resource that should be stored in the
	// target secret.
	// It will only be set if the corresponding private key is also set on the
	// IssuerResponse structure.
	Certificate []byte

	// PrivateKey is the private key that should be stored in the target secret.
	// If set, the certificate and CA field will also be overwritten with the
	// contents of the field.
	// If Certificate is not set, the existing Certificate will be overwritten.
	PrivateKey []byte

	// CA is the CA certificate that should be stored in the target secret.
	// This field should only be set if the private key field is set, similar
	// to the Certificate field.
	CA []byte
}

type IssuerConstructor

type IssuerConstructor func(*controller.Context, v1alpha1.GenericIssuer) (Interface, error)

issuerConstructor constructs an issuer given an Issuer resource and a Context. An error will be returned if the appropriate issuer is not registered.

type IssuerFactory

type IssuerFactory interface {
	IssuerFor(v1alpha1.GenericIssuer) (Interface, error)
}

IssuerFactory is an interface that can be used to obtain Issuer implementations. It determines which issuer implementation to use by introspecting the given Issuer resource.

func NewFakeFactory

func NewFakeFactory(ctx *controller.Context, constructor IssuerConstructor) IssuerFactory

func NewIssuerFactory

func NewIssuerFactory(ctx *controller.Context) IssuerFactory

NewIssuerFactory returns a new issuer factory with the given issuer context. The context will be injected into each Issuer upon creation.

Directories

Path Synopsis
dns
dns/acmedns
Package acmedns implements a DNS provider for solving DNS-01 challenges using Joohoi's acme-dns project.
Package acmedns implements a DNS provider for solving DNS-01 challenges using Joohoi's acme-dns project.
dns/akamai
Package akamai implements a DNS provider for solving the DNS-01 challenge using Akamai FastDNS.
Package akamai implements a DNS provider for solving the DNS-01 challenge using Akamai FastDNS.
dns/azuredns
Package azuredns implements a DNS provider for solving the DNS-01 challenge using Azure DNS.
Package azuredns implements a DNS provider for solving the DNS-01 challenge using Azure DNS.
dns/clouddns
Package clouddns implements a DNS provider for solving the DNS-01 challenge using Google Cloud DNS.
Package clouddns implements a DNS provider for solving the DNS-01 challenge using Google Cloud DNS.
dns/cloudflare
Package cloudflare implements a DNS provider for solving the DNS-01 challenge using cloudflare DNS.
Package cloudflare implements a DNS provider for solving the DNS-01 challenge using cloudflare DNS.
dns/digitalocean
Package digitalocean implements a DNS provider for solving the DNS-01 challenge using digitalocean DNS.
Package digitalocean implements a DNS provider for solving the DNS-01 challenge using digitalocean DNS.
dns/route53
Package route53 implements a DNS provider for solving the DNS-01 challenge using AWS Route 53 DNS.
Package route53 implements a DNS provider for solving the DNS-01 challenge using AWS Route 53 DNS.

Jump to

Keyboard shortcuts

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