Documentation
¶
Index ¶
- Constants
- func LoadRandomUser(db *gorm.DB, userIDPool []string) (utils.User, error)
- func LoadUser(userData UserData) (utils.User, error)
- type ALBProxy
- type Certificate
- type OperationStatus
- type Route
- type RouteManager
- func (m *RouteManager) Create(instanceId string, domains []string) (*Route, error)
- func (m *RouteManager) DeleteOrphanedCerts()
- func (m *RouteManager) Destroy(guid string) error
- func (m *RouteManager) Get(guid string) (*Route, error)
- func (m *RouteManager) GetDNSInstructions(route *Route) (string, error)
- func (m *RouteManager) Poll(r *Route) error
- func (m *RouteManager) Populate() error
- func (m *RouteManager) Renew(r *Route) error
- func (m *RouteManager) RenewAll()
- func (m *RouteManager) Update(instanceId string, domain []string) error
- type RouteManagerIface
- type State
- type UserData
Constants ¶
View Source
const ( Provisioning State = "provisioning" Provisioned = "provisioned" Deprovisioned = "deprovisioned" )
Variables ¶
This section is empty.
Functions ¶
func LoadRandomUser ¶
* LoadRandomUser The Let's Encrypt v1 acme API has shut down user creation to force users to adopt v2. * In an attempt to contiune using v1 while we develop a v2 compliant broker, we are replacing * calls to create a new user for each new domain registration with a method that fetches an existing user * from a pool of ids. The random selection of users from a pool aims to minimize the impact of the following rate limits: * - 300 Pending Authorizations per account * - Failed Validation limit of 5 failures per account, per hostname, per hour.
Types ¶
type Certificate ¶
type OperationStatus ¶
type OperationStatus int
const (
InProgress OperationStatus = iota + 1 // EnumIndex = 1
)
func (OperationStatus) String ¶
func (o OperationStatus) String() string
type Route ¶
type Route struct {
GUID string `gorm:"primary_key"`
State State `gorm:"not null;index"`
Domains pq.StringArray `gorm:"type:text[]"`
ChallengeJSON []byte
UserData UserData
UserDataID int
ALBProxy ALBProxy
ALBProxyARN string
Certificate Certificate
}
type RouteManager ¶
type RouteManager struct {
// contains filtered or unexported fields
}
func NewManager ¶
func NewManager( logger lager.Logger, iam utils.IamUtilsIface, elbSvc elbv2iface.ELBV2API, settings config.Settings, db *gorm.DB, ) RouteManager
func (*RouteManager) Create ¶
func (m *RouteManager) Create(instanceId string, domains []string) (*Route, error)
func (*RouteManager) DeleteOrphanedCerts ¶
func (m *RouteManager) DeleteOrphanedCerts()
func (*RouteManager) Destroy ¶
func (m *RouteManager) Destroy(guid string) error
func (*RouteManager) GetDNSInstructions ¶
func (m *RouteManager) GetDNSInstructions(route *Route) (string, error)
func (*RouteManager) Poll ¶
func (m *RouteManager) Poll(r *Route) error
func (*RouteManager) Populate ¶
func (m *RouteManager) Populate() error
func (*RouteManager) Renew ¶
func (m *RouteManager) Renew(r *Route) error
func (*RouteManager) RenewAll ¶
func (m *RouteManager) RenewAll()
type RouteManagerIface ¶
type RouteManagerIface interface {
Create(instanceId string, domains []string) (*Route, error)
Update(instanceId string, domains []string) error
Destroy(instanceId string) error
Get(instanceId string) (*Route, error)
Poll(route *Route) error
Renew(route *Route) error
RenewAll()
DeleteOrphanedCerts()
GetDNSInstructions(route *Route) (string, error)
Populate() error
}
Click to show internal directories.
Click to hide internal directories.