manageserver

package
v0.8.1 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 27, 2017 License: Apache-2.0 Imports: 34 Imported by: 0

Documentation

Index

Constants

This section is empty.

Variables

This section is empty.

Functions

func StartServer

func StartServer(platform string, cluster string, azs []string, manageDNSName string, managePort int,
	containersvcIns containersvc.ContainerSvc, dbIns db.DB, dnsIns dns.DNS, logIns cloudlog.CloudLog,
	serverInfo server.Info, serverIns server.Server, tlsEnabled bool, caFile, certFile, keyFile string) error

StartServer creates the manage http server and listen for requests.

Types

type ManageHTTPServer

type ManageHTTPServer struct {
	// contains filtered or unexported fields
}

The ManageHTTPServer is the management http server for the service management. It will run in a container, publish a well-known DNS name, which could be accessed publicly or privately depend on the customer.

The service creation needs to talk to DB (the controldb, dynamodb, etc), which is accessable inside the cloud platform (aws, etc). For example, the controldb running as the container in AWS ECS, and accessable via the private DNS name. The ManageHTTPServer will accept the calls from the admin, and talk with DB. This also enhance the security. The ManageHTTPServer REST APIs are the only exposed access to the cluster.

AWS VPC is the region wide concept. One VPC could cross all AZs of the region. The Route53 HostedZone is global concept, one VPC could associate with multiple VPCs.

For the stateful application across multiple Regions, we will have the federation mode. Each Region has its own container cluster. Each cluster has its own DB service and hosted zone. One federation HostedZone is created for all clusters. Note: the federation HostedZone could include multiple VPCs at multiple Regions.

func NewManageHTTPServer

func NewManageHTTPServer(platform string, cluster string, azs []string, managedns string,
	dbIns db.DB, dnsIns dns.DNS, logIns cloudlog.CloudLog, serverIns server.Server,
	serverInfo server.Info, containersvcIns containersvc.ContainerSvc) *ManageHTTPServer

NewManageHTTPServer creates a ManageHTTPServer instance

func (*ManageHTTPServer) ServeHTTP

func (s *ManageHTTPServer) ServeHTTP(w http.ResponseWriter, r *http.Request)

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL