 Documentation
      ¶
      Documentation
      ¶
    
    
  
    
  
    Index ¶
Constants ¶
const ( ProtocolHTTP = "http" ProtocolHTTPS = "https" ProtocolTLS = "tls" )
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Certificate ¶
Certificate represents a pub/private key pair. It is identified by ID which will become the file name. A CA certificate will not have a PrivateKey set.
type ServiceAliasConfig ¶
type ServiceAliasConfig struct {
	// Host is a required host name ie. www.example.com
	Host string
	// Path is an optional path ie. www.example.com/myservice where "myservice" is the path
	Path string
	// TLSTermination is the termination policy for this backend and drives the mapping files and router configuration
	TLSTermination routeapi.TLSTerminationType
	// Certificates used for securing this backend.  Keyed by the cert id
	Certificates map[string]Certificate
	// Indicates the status of configuration that needs to be persisted.  Right now this only
	// includes the certificates and is not an indicator of being written to the underlying
	// router implementation
	Status ServiceAliasConfigStatus
}
    ServiceAliasConfig is a route for a service. Uniquely identified by host + path.
type ServiceAliasConfigStatus ¶
type ServiceAliasConfigStatus string
const ( // ServiceAliasConfigStatusSaved indicates that the necessary files for this config have // been persisted to disk. ServiceAliasConfigStatusSaved ServiceAliasConfigStatus = "saved" )
type ServiceUnit ¶
type ServiceUnit struct {
	// Name corresponds to a service name & namespace.  Uniquely identifies the ServiceUnit
	Name string
	// EndpointTable are endpoints that back the service, this translates into a final backend
	// implementation for routers.
	EndpointTable []Endpoint
	// ServiceAliasConfigs is a collection of unique routes that support this service, keyed by host + path
	ServiceAliasConfigs map[string]ServiceAliasConfig
}
    ServiceUnit is an encapsulation of a service, the endpoints that back that service, and the routes that point to the service. This is the data that drives the creation of the router configuration files
func (ServiceUnit) TemplateSafeName ¶
func (s ServiceUnit) TemplateSafeName() string
TemplateSafeName provides a name that can be used in the template that does not contain restricted characters like / which is used to concat namespace and name in the service unit key
type TemplatePlugin ¶
type TemplatePlugin struct {
	Router router
}
    TemplatePlugin implements the router.Plugin interface to provide a template based, backend-agnostic router.
func NewTemplatePlugin ¶
func NewTemplatePlugin(cfg TemplatePluginConfig) (*TemplatePlugin, error)
NewTemplatePlugin creates a new TemplatePlugin.
func (*TemplatePlugin) HandleEndpoints ¶
func (p *TemplatePlugin) HandleEndpoints(eventType watch.EventType, endpoints *kapi.Endpoints) error
HandleEndpoints processes watch events on the Endpoints resource.
func (*TemplatePlugin) HandleRoute ¶
HandleRoute processes watch events on the Route resource.