Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 3 additions & 1 deletion cmd/proxy/main.go
Original file line number Diff line number Diff line change
Expand Up @@ -24,6 +24,7 @@ var (
router = initRouter()
sioServer *socketio.Server

configPath string
port uint16
tls bool
network string
Expand Down Expand Up @@ -121,7 +122,7 @@ func initLauncherWs() {

func initServiceManager() {
logger.Debug("Creating service manager")
manager, err := service.NewManager(network)
manager, err := service.NewManager(network, configPath)
if err != nil {
logger.Fatalf("Failed to create service manager: %s", err)
}
Expand Down Expand Up @@ -178,6 +179,7 @@ func main() {
Use: "proxy",
Short: "The API gateway of opendexd-docker",
}
cmd.PersistentFlags().StringVarP(&configPath, "config", "c", "/root/network/data/config.json", "Configuration file")
cmd.PersistentFlags().Uint16VarP(&port, "port", "p", 8080, "The port to listen")
cmd.PersistentFlags().BoolVar(&tls, "tls", false, "Enable TLS support")
err = cmd.Execute()
Expand Down
20 changes: 11 additions & 9 deletions service/manager.go
Original file line number Diff line number Diff line change
Expand Up @@ -39,11 +39,12 @@ var (
)

type Manager struct {
network string
services []core.Service
factory core.DockerClientFactory
logger *logrus.Entry
listeners map[string]core.DockerEventListener
configPath string
network string
services []core.Service
factory core.DockerClientFactory
logger *logrus.Entry
listeners map[string]core.DockerEventListener

*LauncherAgent
}
Expand All @@ -52,9 +53,9 @@ func containerName(network string, service string) string {
return fmt.Sprintf("%s_%s_1", network, service)
}

func initServices(network string, dockerClient *docker.Client, listeners map[string]core.DockerEventListener) []core.Service {
func initServices(configPath string, network string, dockerClient *docker.Client, listeners map[string]core.DockerEventListener) []core.Service {

f, err := ioutil.ReadFile("/root/network/data/config.json")
f, err := ioutil.ReadFile(configPath)
if err != nil {
panic(err)
}
Expand Down Expand Up @@ -128,7 +129,7 @@ func initServices(network string, dockerClient *docker.Client, listeners map[str
return result
}

func NewManager(network string) (*Manager, error) {
func NewManager(network string, configPath string) (*Manager, error) {
factory, err := core.NewClientFactory()
if err != nil {
return nil, err
Expand All @@ -140,7 +141,8 @@ func NewManager(network string) (*Manager, error) {

manager := Manager{
network: network,
services: initServices(network, factory.GetSharedInstance(), listeners),
configPath: configPath,
services: initServices(network, configPath, factory.GetSharedInstance(), listeners),
factory: factory,
logger: logger,
listeners: listeners,
Expand Down