Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func NewCmdRouter ¶
func NewCmdRouter(f *clientcmd.Factory, parentName, name string, out, errout io.Writer) *cobra.Command
NewCmdRouter implements the OpenShift CLI router command.
func RunCmdRouter ¶
func RunCmdRouter(f *clientcmd.Factory, cmd *cobra.Command, out, errout io.Writer, cfg *RouterConfig, args []string) error
RunCmdRouter contains all the necessary functionality for the OpenShift CLI router command.
Types ¶
type RouterConfig ¶
type RouterConfig struct {
Action configcmd.BulkAction
// Name is the router name, set as an argument
Name string
// RouterCanonicalHostname is the (optional) external host name of the router
RouterCanonicalHostname string
// Type is the router type, which determines which plugin to use (f5
// or template).
Type string
// Subdomain is the subdomain served by this router. This may not be
// accepted by all routers.
Subdomain string
// ForceSubdomain overrides the user's requested spec.host value on a
// route and replaces it with this template. May not be used with Subdomain.
ForceSubdomain string
// ImageTemplate specifies the image from which the router will be created.
ImageTemplate variable.ImageTemplate
// Ports specifies the container ports for the router.
Ports string
// Replicas specifies the initial replica count for the router.
Replicas int32
// Labels specifies the label or labels that will be assigned to the router
// pod.
Labels string
// DryRun specifies that the router command should not launch a router but
// should instead exit with code 1 to indicate if a router is already running
// or code 0 otherwise.
DryRun bool
// SecretsAsEnv sets the credentials as env vars, instead of secrets.
SecretsAsEnv bool
// DefaultCertificate holds the certificate that will be used if no more
// specific certificate is found. This is typically a wildcard certificate.
DefaultCertificate string
// Selector specifies a label or set of labels that determines the nodes on
// which the router pod can be scheduled.
Selector string
// StatsPort specifies a port at which the router can provide statistics.
StatsPort int
// StatsPassword specifies a password required to authenticate connections to
// the statistics port.
StatsPassword string
// StatsUsername specifies a username required to authenticate connections to
// the statistics port.
StatsUsername string
// HostNetwork specifies whether to configure the router pod to use the host's
// network namespace or the container's.
HostNetwork bool
// HostPorts will expose host ports for each router port if host networking is
// not set.
HostPorts bool
// ServiceAccount specifies the service account under which the router will
// run.
ServiceAccount string
// ExternalHost specifies the hostname or IP address of an external host for
// router plugins that integrate with an external load balancer (such as f5).
ExternalHost string
// ExternalHostUsername specifies the username for authenticating with the
// external host.
ExternalHostUsername string
// ExternalHostPassword specifies the password for authenticating with the
// external host.
ExternalHostPassword string
// ExternalHostHttpVserver specifies the virtual server for HTTP connections.
ExternalHostHttpVserver string
// ExternalHostHttpsVserver specifies the virtual server for HTTPS connections.
ExternalHostHttpsVserver string
// ExternalHostPrivateKey specifies an SSH private key for authenticating with
// the external host.
ExternalHostPrivateKey string
// ExternalHostInternalIP specifies the IP address of the internal interface that is
// used by the external host to connect to the pod network
ExternalHostInternalIP string
// ExternalHostVxLANGateway specifies the gateway IP and mask (cidr) of the IP
// address to be used to connect to the pod network from the external host
ExternalHostVxLANGateway string
// ExternalHostInsecure specifies that the router should skip strict
// certificate verification when connecting to the external host.
ExternalHostInsecure bool
// ExternalHostPartitionPath specifies the partition path to use.
// This is used by some routers to create access access control
// boundaries for users and applications.
ExternalHostPartitionPath string
// DisableNamespaceOwnershipCheck overrides the same namespace check
// for different paths to a route host or for overlapping host names
// in case of wildcard routes.
// E.g. Setting this flag to false allows www.example.org/path1 and
// www.example.org/path2 to be claimed by namespaces nsone and
// nstwo respectively. And for wildcard routes, this allows
// overlapping host names (*.example.test vs foo.example.test)
// to be claimed by different namespaces.
//
// Warning: Please be aware that if namespace ownership checks are
// disabled, routes in a different namespace can use this
// mechanism to "steal" sub-paths for existing domains.
// This is only safe if route creation privileges are
// restricted, or if all the users can be trusted.
DisableNamespaceOwnershipCheck bool
// MaxConnections specifies the maximum number of concurrent
// connections.
MaxConnections string
// ExposeMetrics is a hint on whether to expose metrics.
ExposeMetrics bool
// MetricsImage is the image to run a sidecar container with in the router
// pod.
MetricsImage string
}
RouterConfig contains the configuration parameters necessary to launch a router, including general parameters, type of router, and type-specific parameters.
Click to show internal directories.
Click to hide internal directories.