Documentation ¶
Overview ¶
Package discovery contains an experimental implementation of the Image Discovery section of the appc specification.
Index ¶
- Variables
- func DiscoverEndpoints(app App, hostHeaders map[string]http.Header, insecure InsecureOption) (out *Endpoints, attempts []FailedAttempt, err error)
- func DiscoverPublicKeys(app App, hostHeaders map[string]http.Header, insecure InsecureOption) (out *Endpoints, attempts []FailedAttempt, err error)
- func DiscoverWalk(app App, hostHeaders map[string]http.Header, insecure InsecureOption, ...) (err error)
- type ACIEndpoint
- type App
- type DiscoverWalkFunc
- type Endpoints
- type FailedAttempt
- type InsecureOption
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 DiscoverEndpoints ¶
func DiscoverEndpoints(app App, hostHeaders map[string]http.Header, insecure InsecureOption) (out *Endpoints, attempts []FailedAttempt, err error)
DiscoverEndpoints 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 ¶ added in v0.3.1
func DiscoverPublicKeys(app App, hostHeaders map[string]http.Header, insecure InsecureOption) (out *Endpoints, attempts []FailedAttempt, err 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 ¶ added in v0.3.1
func DiscoverWalk(app App, hostHeaders map[string]http.Header, insecure InsecureOption, discoverFn DiscoverWalkFunc) (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 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 ¶ added in v0.3.1
DiscoverWalkFunc can stop a DiscoverWalk by returning non-nil error.
type Endpoints ¶
type Endpoints struct { ACIEndpoints []ACIEndpoint Keys []string }
type FailedAttempt ¶ added in v0.3.1
FailedAttempt represents a failed discovery attempt. This is for debugging and user feedback.
type InsecureOption ¶ added in v0.14.0
type InsecureOption int
const ( InsecureNone InsecureOption = 0 InsecureTls InsecureOption = 1 << iota InsecureHttp )