Documentation
¶
Index ¶
- Variables
- func ConcatString(k string, sep string, v string) string
- func GetAuxID() string
- func GetContainerFilterArgs(name string) filters.Args
- func GetEnvByKey(k string) string
- func GetIP() string
- func GetPortMap(ip string, ports []nat.Port) nat.PortMap
- func GetPortSet(ports [][]string) nat.PortSet
- func GetPorts(in [][]string) []nat.Port
- func GetTagFromEnv() string
- func KillAux(ctx context.Context, dockerClient *client.Client, id string) error
- func KillNet(netid string) error
- func StartAux(ctx context.Context, dockerClient *client.Client) (container.ContainerCreateCreatedBody, error)
Constants ¶
This section is empty.
Variables ¶
var AuxContainerConfig = container.Config{ Hostname: AuxContainerName, Env: []string{ GetEnvByKey("STAGE"), GetEnvByKey("LOGLEVEL"), }, ExposedPorts: GetPortSet(DefaultPorts), Image: ConcatString( "ramrodpcp/auxiliary-services", ":", GetTagFromEnv(), ), }
AuxContainerConfig ...
var AuxContainerName = "aux-services"
AuxContainerName ...
var AuxHostConfig = container.HostConfig{ NetworkMode: "default", PortBindings: GetPortMap( GetIP(), GetPorts([][]string{ []string{"tcp", "20"}, []string{"tcp", "21"}, []string{"tcp", "80"}, []string{"udp", "53"}, []string{"tcp", "10090"}, []string{"tcp", "10091"}, []string{"tcp", "10092"}, []string{"tcp", "10093"}, []string{"tcp", "10094"}, []string{"tcp", "10095"}, []string{"tcp", "10096"}, []string{"tcp", "10097"}, []string{"tcp", "10098"}, []string{"tcp", "10099"}, []string{"tcp", "10100"}, }), ), AutoRemove: true, CapAdd: strslice.StrSlice{"SYS_ADMIN"}, SecurityOpt: []string{"apparmor:unconfined"}, Resources: container.Resources{ Devices: []container.DeviceMapping{ container.DeviceMapping{ PathOnHost: "/dev/fuse", PathInContainer: "/dev/fuse", CgroupPermissions: "mrw", }, }, }, }
AuxHostConfig ...
var AuxNetConfig = network.NetworkingConfig{ EndpointsConfig: map[string]*network.EndpointSettings{ "pcp": &network.EndpointSettings{ Aliases: []string{"auxiliary-services"}, NetworkID: Net.ID, }, }, }
AuxNetConfig ...
var AuxServiceSpec = swarm.ServiceSpec{ Annotations: swarm.Annotations{ Name: "AuxiliaryServices", }, TaskTemplate: swarm.TaskSpec{ ContainerSpec: swarm.ContainerSpec{ DNSConfig: &swarm.DNSConfig{}, Image: getImage("ramrodpcp/auxiliary-wrapper"), Mounts: []mount.Mount{ mount.Mount{ Type: mount.TypeBind, Source: "/var/run/docker.sock", Target: "/var/run/docker.sock", }, }, Env: []string{ getEnvStage(), GetEnvByKey("TAG"), }, }, Networks: []swarm.NetworkAttachmentConfig{ swarm.NetworkAttachmentConfig{ Target: "pcp", }, }, RestartPolicy: &swarm.RestartPolicy{ Condition: "on-failure", }, }, EndpointSpec: &swarm.EndpointSpec{ Mode: swarm.ResolutionModeVIP, }, }
AuxServiceSpec is a spec used for testing the aux service
var DefaultPorts = [][]string{ []string{"tcp", "20"}, []string{"tcp", "21"}, []string{"tcp", "80"}, []string{"udp", "53"}, []string{"tcp", "10090"}, []string{"tcp", "10091"}, []string{"tcp", "10092"}, []string{"tcp", "10093"}, []string{"tcp", "10094"}, []string{"tcp", "10095"}, []string{"tcp", "10096"}, []string{"tcp", "10097"}, []string{"tcp", "10098"}, []string{"tcp", "10099"}, []string{"tcp", "10100"}, }
DefaultPorts is the set of default ports the aux services container uses.
var Net = func() types.NetworkResource { ctx, cancel := context.WithCancel(context.Background()) dockerClient, err := client.NewEnvClient() if err != nil { panic(err) } defer cancel() netFilter := filters.NewArgs() netFilter.Add("name", "pcp") nets, err := dockerClient.NetworkList(ctx, types.NetworkListOptions{ Filters: netFilter, }) if err != nil { panic(err) } if len(nets) == 1 { return nets[0] } return types.NetworkResource{} }()
Net ...
Functions ¶
func ConcatString ¶
ConcatString returns a new string from two strings and a separator.
func GetContainerFilterArgs ¶
GetContainerFilterArgs gets a filters.GetContainerFilterArgs object that filters for a specific container by name.
func GetEnvByKey ¶
GetEnvByKey gets environment variables by key and returns them in the form KEY=VALUE. It tries to pull from the default envs if there is nothing set.
func GetPortMap ¶
GetPortMap gets a nat.PortMap from an IP address and a slice of nat.Ports.
func GetPortSet ¶
GetPortSet creates the default port set for the auxiliary services container
func GetPorts ¶
GetPorts returns a []nat.Port from a slice of string slices in the format ["proto", "port"].
func GetTagFromEnv ¶
func GetTagFromEnv() string
GetTagFromEnv gets the Docker tag (dev, qa, latest) from the environment variable TAG.
Types ¶
This section is empty.