Documentation ¶
Overview ¶
Package discovery contains an experimental implementation of the Image Discovery section of the appc specification.
Index ¶
- Variables
- func DiscoverACIEndpoints(app App, hostHeaders map[string]http.Header, insecure InsecureOption) (ACIEndpoints, []FailedAttempt, error)
- func DiscoverPublicKeys(app App, hostHeaders map[string]http.Header, insecure InsecureOption) (PublicKeys, []FailedAttempt, error)
- func DiscoverWalk(app App, hostHeaders map[string]http.Header, insecure InsecureOption, ...) (dd *discoveryData, err error)
- type ACIEndpoint
- type ACIEndpoints
- type App
- type DiscoverWalkFunc
- type FailedAttempt
- type InsecureOption
- type PublicKeys
Constants ¶
This section is empty.
Variables ¶
var ( // Client is the default http.Client used for discovery requests. Client *http.Client ClientInsecureTLS *http.Client )
Functions ¶
func DiscoverACIEndpoints ¶
func DiscoverACIEndpoints(app App, hostHeaders map[string]http.Header, insecure InsecureOption) (ACIEndpoints, []FailedAttempt, error)
DiscoverACIEndpoints will make HTTPS requests to find the ac-discovery meta tags and optionally will use HTTP if insecure is set. hostHeaders specifies the header to apply depending on the host (e.g. authentication). It will not give up until it has exhausted the path or found an image discovery.
func DiscoverPublicKeys ¶
func DiscoverPublicKeys(app App, hostHeaders map[string]http.Header, insecure InsecureOption) (PublicKeys, []FailedAttempt, error)
DiscoverPublicKey will make HTTPS requests to find the ac-public-keys meta tags and optionally will use HTTP if insecure is set. hostHeaders specifies the header to apply depending on the host (e.g. authentication). It will not give up until it has exhausted the path or found an public key.
func DiscoverWalk ¶
func DiscoverWalk(app App, hostHeaders map[string]http.Header, insecure InsecureOption, discoverFn DiscoverWalkFunc) (dd *discoveryData, err error)
DiscoverWalk will make HTTPS requests to find discovery meta tags and optionally will use HTTP if insecure is set. hostHeaders specifies the header to apply depending on the host (e.g. authentication). Based on the response of the discoverFn it will continue to recurse up the tree.
Types ¶
type ACIEndpoint ¶
type ACIEndpoints ¶
type ACIEndpoints []ACIEndpoint
type App ¶
type App struct { Name types.ACIdentifier Labels map[types.ACIdentifier]string }
func NewAppFromString ¶
NewAppFromString takes a command line app parameter and returns a map of labels.
Example app parameters:
example.com/reduce-worker:1.0.0 example.com/reduce-worker,channel=alpha,label=value example.com/reduce-worker:1.0.0,label=value
As can be seen in above examples - colon, comma and equal sign have special meaning. If any of them has to be a part of a label's value then consider writing your own string to App parser.
type DiscoverWalkFunc ¶
DiscoverWalkFunc can stop a DiscoverWalk by returning non-nil error.
type FailedAttempt ¶
FailedAttempt represents a failed discovery attempt. This is for debugging and user feedback.
type InsecureOption ¶
type InsecureOption int
const ( InsecureNone InsecureOption = 0 InsecureTLS InsecureOption = 1 << iota InsecureHTTP )
type PublicKeys ¶
type PublicKeys []string