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)