Documentation
¶
Overview ¶
Package v1alpha1 is the v1alpha1 version of the API. +groupName=webhook.acme.cert-manager.io
Index ¶
Constants ¶
This section is empty.
Variables ¶
var ( SchemeBuilder runtime.SchemeBuilder AddToScheme = localSchemeBuilder.AddToScheme )
var SchemeGroupVersion = schema.GroupVersion{Group: acme.GroupName, Version: "v1alpha1"}
SchemeGroupVersion is group version used to register these objects
Functions ¶
func Resource ¶
func Resource(resource string) schema.GroupResource
Resource takes an unqualified resource and returns a Group qualified GroupResource
Types ¶
type ChallengeAction ¶
type ChallengeAction string
const ( ChallengeActionPresent ChallengeAction = "Present" ChallengeActionCleanUp ChallengeAction = "CleanUp" )
type ChallengePayload ¶
type ChallengePayload struct {
metav1.TypeMeta `json:",inline"`
// Request describes the attributes for the ACME solver request
// +optional
Request *ChallengeRequest `json:"request,omitempty"`
// Response describes the attributes for the ACME solver response
// +optional
Response *ChallengeResponse `json:"response,omitempty"`
}
ChallengePayload describes a request/response for presenting or cleaning up an ACME challenge resource
func (*ChallengePayload) DeepCopy ¶
func (in *ChallengePayload) DeepCopy() *ChallengePayload
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChallengePayload.
func (*ChallengePayload) DeepCopyInto ¶
func (in *ChallengePayload) DeepCopyInto(out *ChallengePayload)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
func (*ChallengePayload) DeepCopyObject ¶
func (in *ChallengePayload) DeepCopyObject() runtime.Object
DeepCopyObject is an autogenerated deepcopy function, copying the receiver, creating a new runtime.Object.
type ChallengeRequest ¶
type ChallengeRequest struct {
// UID is an identifier for the individual request/response. It allows us to distinguish instances of requests which are
// otherwise identical (parallel requests, requests when earlier requests did not modify etc)
// The UID is meant to track the round trip (request/response) between the KAS and the WebHook, not the user request.
// It is suitable for correlating log entries between the webhook and apiserver, for either auditing or debugging.
UID types.UID `json:"uid"`
// Action is one of 'present' or 'cleanup'.
// If the action is 'present', the record will be presented with the
// solving service.
// If the action is 'cleanup', the record will be cleaned up with the
// solving service.
Action ChallengeAction `json:"action"`
// Type is the type of ACME challenge.
// Only dns-01 is currently supported.
Type string `json:"type"`
// DNSName is the name of the domain that is actually being validated, as
// requested by the user on the Certificate resource.
// This will be of the form 'example.com' from normal hostnames, and
// '*.example.com' for wildcards.
DNSName string `json:"dnsName"`
// Key is the key that should be presented.
// This key will already be signed by the account that owns the challenge.
// For DNS01, this is the key that should be set for the TXT record for
// ResolveFQDN.
Key string `json:"key"`
// ResourceNamespace is the namespace containing resources that are
// referenced in the providers config.
// If this request is solving for an Issuer resource, this will be the
// namespace of the Issuer.
// If this request is solving for a ClusterIssuer resource, this will be
// the configured 'cluster resource namespace'
ResourceNamespace string `json:"resourceNamespace"`
// ResolvedFQDN is the fully-qualified domain name that should be
// updated/presented after resolving all CNAMEs.
// This should be honoured when using the DNS01 solver type.
// This will be of the form '_acme-challenge.example.com.'.
// +optional
ResolvedFQDN string `json:"resolvedFQDN,omitempty"`
// ResolvedZone is the zone encompassing the ResolvedFQDN.
// This is included as part of the ChallengeRequest so that webhook
// implementers do not need to implement their own SOA recursion logic.
// This indicates the zone that the provided FQDN is encompassed within,
// determined by performing SOA record queries for each part of the FQDN
// until an authoritative zone is found.
// This will be of the form 'example.com.'.
ResolvedZone string `json:"resolvedZone,omitempty"`
// AllowAmbientCredentials advises webhook implementations that they can
// use 'ambient credentials' for authenticating with their respective
// DNS provider services.
// This field SHOULD be honoured by all DNS webhook implementations, but
// in certain instances where it does not make sense to honour this option,
// an implementation may ignore it.
AllowAmbientCredentials bool `json:"allowAmbientCredentials"`
// Config contains unstructured JSON configuration data that the webhook
// implementation can unmarshal in order to fetch secrets or configure
// connection details etc.
// Secret values should not be passed in this field, in favour of
// references to Kubernetes Secret resources that the webhook can fetch.
// +optional
Config *apiext.JSON `json:"config,omitempty"`
}
ChallengeRequest is a payload that can be sent to external ACME webhook solvers in order to 'Present' or 'CleanUp' a challenge with an ACME server.
func (*ChallengeRequest) DeepCopy ¶
func (in *ChallengeRequest) DeepCopy() *ChallengeRequest
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChallengeRequest.
func (*ChallengeRequest) DeepCopyInto ¶
func (in *ChallengeRequest) DeepCopyInto(out *ChallengeRequest)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.
type ChallengeResponse ¶
type ChallengeResponse struct {
// UID is an identifier for the individual request/response.
// This should be copied over from the corresponding ChallengeRequest.
UID types.UID `json:"uid"`
// Success will be set to true if the request action (i.e. presenting or
// cleaning up) was successful.
Success bool `json:"success"`
// Result contains extra details into why a challenge request failed.
// This field will be completely ignored if 'success' is true.
// +optional
Result *metav1.Status `json:"status,omitempty"`
}
func (*ChallengeResponse) DeepCopy ¶
func (in *ChallengeResponse) DeepCopy() *ChallengeResponse
DeepCopy is an autogenerated deepcopy function, copying the receiver, creating a new ChallengeResponse.
func (*ChallengeResponse) DeepCopyInto ¶
func (in *ChallengeResponse) DeepCopyInto(out *ChallengeResponse)
DeepCopyInto is an autogenerated deepcopy function, copying the receiver, writing into out. in must be non-nil.