Documentation ¶
Index ¶
- Constants
- type CreateNetworkContainerRequest
- type CreateNetworkContainerResponse
- type CreateNetworkRequest
- type DeleteNetworkContainerRequest
- type DeleteNetworkContainerResponse
- type DeleteNetworkRequest
- type GetIPAddressesResponse
- type GetInterfaceForContainerRequest
- type GetInterfaceForContainerResponse
- type GetNetworkContainerRequest
- type GetNetworkContainerResponse
- type GetNetworkContainerStatusRequest
- type GetNetworkContainerStatusResponse
- type HostLocalIPAddressResponse
- type IPAddressesUtilizationResponse
- type IPConfiguration
- type IPSubnet
- type KubernetesPodInfo
- type MultiTenancyInfo
- type NetworkInterface
- type NodeConfiguration
- type OptionMap
- type OverlayConfiguration
- type ReleaseIPAddressRequest
- type ReserveIPAddressRequest
- type ReserveIPAddressResponse
- type Response
- type Route
- type Service
- type SetEnvironmentRequest
- type SetOrchestratorTypeRequest
- type Subnet
Constants ¶
const ( SetOrchestratorType = "/network/setorchestratortype" CreateOrUpdateNetworkContainer = "/network/createorupdatenetworkcontainer" DeleteNetworkContainer = "/network/deletenetworkcontainer" GetNetworkContainerStatus = "/network/getnetworkcontainerstatus" GetInterfaceForContainer = "/network/getinterfaceforcontainer" GetNetworkContainerByOrchestratorContext = "/network/getnetworkcontainerbyorchestratorcontext" )
Container Network Service DNC Contract
const ( AzureContainerInstance = "AzureContainerInstance" WebApps = "WebApps" ClearContainer = "ClearContainer" )
NetworkContainer Types
const ( Kubernetes = "Kubernetes" ServiceFabric = "ServiceFabric" )
Orchestrator Types
const ( Vlan = "Vlan" Vxlan = "Vxlan" )
Encap Types
const ( SetEnvironmentPath = "/network/environment" CreateNetworkPath = "/network/create" DeleteNetworkPath = "/network/delete" ReserveIPAddressPath = "/network/ip/reserve" ReleaseIPAddressPath = "/network/ip/release" GetHostLocalIPPath = "/network/ip/hostlocal" GetIPAddressUtilizationPath = "/network/ip/utilization" GetUnhealthyIPAddressesPath = "/network/ipaddresses/unhealthy" GetHealthReportPath = "/network/health" V1Prefix = "/v0.1" V2Prefix = "/v0.2" )
Container Network Service remote API Contract
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type CreateNetworkContainerRequest ¶
type CreateNetworkContainerRequest struct { Version string NetworkContainerType string NetworkContainerid string // Mandatory input. PrimaryInterfaceIdentifier string // Primary CA. AuthorizationToken string LocalIPConfiguration IPConfiguration OrchestratorContext json.RawMessage IPConfiguration IPConfiguration MultiTenancyInfo MultiTenancyInfo CnetAddressSpace []IPSubnet // To setup SNAT (should include service endpoint vips). Routes []Route }
CreateNetworkContainerRequest specifies request to create a network container or network isolation boundary.
type CreateNetworkContainerResponse ¶
type CreateNetworkContainerResponse struct {
Response Response
}
CreateNetworkContainerResponse specifies response of creating a network container.
type CreateNetworkRequest ¶
type CreateNetworkRequest struct { NetworkName string OverlayConfiguration OverlayConfiguration Options map[string]interface{} }
CreateNetworkRequest describes request to create the network.
type DeleteNetworkContainerRequest ¶
type DeleteNetworkContainerRequest struct {
NetworkContainerid string
}
DeleteNetworkContainerRequest specifies the details about the request to delete a specifc network container.
type DeleteNetworkContainerResponse ¶
type DeleteNetworkContainerResponse struct {
Response Response
}
DeleteNetworkContainerResponse describes the response to delete a specifc network container.
type DeleteNetworkRequest ¶
type DeleteNetworkRequest struct {
NetworkName string
}
DeleteNetworkRequest describes request to delete the network.
type GetIPAddressesResponse ¶
GetIPAddressesResponse describes response containing requested ip addresses.
type GetInterfaceForContainerRequest ¶
type GetInterfaceForContainerRequest struct {
NetworkContainerID string
}
GetInterfaceForContainerRequest specifies the container ID for which interface needs to be identified.
type GetInterfaceForContainerResponse ¶
type GetInterfaceForContainerResponse struct { NetworkContainerVersion string NetworkInterface NetworkInterface CnetAddressSpace []IPSubnet DNSServers []string Response Response }
GetInterfaceForContainerResponse specifies the interface for a given container ID.
type GetNetworkContainerRequest ¶
type GetNetworkContainerRequest struct { NetworkContainerid string OrchestratorContext json.RawMessage }
GetNetworkContainerRequest specifies the details about the request to retrieve a specifc network container.
type GetNetworkContainerResponse ¶
type GetNetworkContainerResponse struct { IPConfiguration IPConfiguration Routes []Route CnetAddressSpace []IPSubnet MultiTenancyInfo MultiTenancyInfo PrimaryInterfaceIdentifier string LocalIPConfiguration IPConfiguration Response Response }
GetNetworkContainerResponse describes the response to retrieve a specifc network container.
type GetNetworkContainerStatusRequest ¶
type GetNetworkContainerStatusRequest struct {
NetworkContainerid string
}
GetNetworkContainerStatusRequest specifies the details about the request to retrieve status of a specifc network container.
type GetNetworkContainerStatusResponse ¶
type GetNetworkContainerStatusResponse struct { NetworkContainerid string Version string AzureHostVersion string Response Response }
GetNetworkContainerStatusResponse specifies response of retriving a network container status.
type HostLocalIPAddressResponse ¶
HostLocalIPAddressResponse describes reponse that returns the host local IP Address.
type IPAddressesUtilizationResponse ¶
type IPAddressesUtilizationResponse struct { Response Response Available int Reserved int Unhealthy int }
IPAddressesUtilizationResponse describes response for ip address utilization.
type IPConfiguration ¶
IPConfiguration contains details about ip config to provision in the VM.
type KubernetesPodInfo ¶
KubernetesPodInfo is an OrchestratorContext that holds PodName and PodNamespace.
type MultiTenancyInfo ¶
type MultiTenancyInfo struct { EncapType string ID int // This can be vlanid, vxlanid, gre-key etc. (depends on EnacapType). }
MultiTenancyInfo contains encap type and id.
type NetworkInterface ¶
NetworkInterface specifies the information that can be used to unquely identify an interface.
type NodeConfiguration ¶
NodeConfiguration describes confguration for a node in overlay network.
type OptionMap ¶
type OptionMap map[string]interface{}
OptionMap describes generic options that can be passed to CNS.
type OverlayConfiguration ¶
type OverlayConfiguration struct { NodeCount int LocalNodeIP string OverlaySubent Subnet NodeConfig []NodeConfiguration }
OverlayConfiguration describes configuration for all the nodes that are part of overlay.
type ReleaseIPAddressRequest ¶
type ReleaseIPAddressRequest struct {
ReservationID string
}
ReleaseIPAddressRequest describes request to release an IP Address.
type ReserveIPAddressRequest ¶
type ReserveIPAddressRequest struct {
ReservationID string
}
ReserveIPAddressRequest describes request to reserve an IP Address
type ReserveIPAddressResponse ¶
ReserveIPAddressResponse describes response to reserve an IP address.
type Service ¶
Service defines Container Networking Service.
func NewService ¶
func NewService(name, version string, store store.KeyValueStore) (*Service, error)
NewService creates a new Service object.
func (*Service) Initialize ¶
func (service *Service) Initialize(config *common.ServiceConfig) error
Initialize initializes the service and starts the listener.
func (*Service) ParseOptions ¶
ParseOptions returns generic options from a libnetwork request.
func (*Service) SendErrorResponse ¶
func (service *Service) SendErrorResponse(w http.ResponseWriter, errMsg error)
SendErrorResponse sends and logs an error response.
func (*Service) Uninitialize ¶
func (service *Service) Uninitialize()
Uninitialize cleans up the plugin.
type SetEnvironmentRequest ¶
SetEnvironmentRequest describes the Request to set the environment in CNS.
type SetOrchestratorTypeRequest ¶
type SetOrchestratorTypeRequest struct {
OrchestratorType string
}
SetOrchestratorTypeRequest specifies the orchestrator type for the node.