From bb36c70498f88b86e88dc5a10fdc754b8280492b Mon Sep 17 00:00:00 2001 From: Sergey Yakubov <sergey.yakubov@desy.de> Date: Fri, 6 Jul 2018 10:27:41 +0200 Subject: [PATCH] dockerimages for go services --- asapo_tools/CMakeLists.txt | 3 ++- authorizer/CMakeLists.txt | 2 ++ authorizer/docker/Dockerfile | 3 +++ authorizer/src/asapo_authorizer/main/authorizer.go | 2 ++ broker/CMakeLists.txt | 2 ++ broker/docker/Dockerfile | 3 +++ broker/src/asapo_broker/main/broker.go | 1 + broker/src/asapo_broker/server/get_next_test.go | 11 +++++++++-- common/go/src/asapo_common/logger/logger.go | 5 +++++ common/go/src/asapo_common/logger/logrus_logger.go | 7 ++++++- common/go/src/asapo_common/logger/mock_logger.go | 5 +++++ discovery/CMakeLists.txt | 2 ++ discovery/docker/Dockerfile | 3 +++ discovery/src/asapo_discovery/main/discovery.go | 1 + 14 files changed, 46 insertions(+), 4 deletions(-) create mode 100644 authorizer/docker/Dockerfile create mode 100644 broker/docker/Dockerfile create mode 100644 discovery/docker/Dockerfile diff --git a/asapo_tools/CMakeLists.txt b/asapo_tools/CMakeLists.txt index 2a517df18..de647a4f8 100644 --- a/asapo_tools/CMakeLists.txt +++ b/asapo_tools/CMakeLists.txt @@ -16,13 +16,14 @@ IF(WIN32) ELSE() set (gopath ${GOPATH}:${CMAKE_CURRENT_SOURCE_DIR}:${CMAKE_SOURCE_DIR}/common/go) set (exe_name "${TARGET_NAME}") +# set (GO_OPTS "GOOS=linux;CGO_ENABLED=0") ENDIF() include(testing_go) add_custom_target(asapo ALL COMMAND ${CMAKE_COMMAND} -E env GOPATH=${gopath} - go build ${GO_OPTS} -o ${exe_name} asapo_tools/main + ${GO_OPTS} go build -o ${exe_name} asapo_tools/main VERBATIM) define_property(TARGET PROPERTY EXENAME BRIEF_DOCS <executable name> diff --git a/authorizer/CMakeLists.txt b/authorizer/CMakeLists.txt index 1b4b8165a..a6cd2b3c7 100644 --- a/authorizer/CMakeLists.txt +++ b/authorizer/CMakeLists.txt @@ -20,6 +20,8 @@ ENDIF() include(testing_go) +configure_file(docker/Dockerfile . COPYONLY) + add_custom_target(asapo-authorizer ALL COMMAND ${CMAKE_COMMAND} -E env GOPATH=${gopath} go build ${GO_OPTS} -o ${exe_name} asapo_authorizer/main diff --git a/authorizer/docker/Dockerfile b/authorizer/docker/Dockerfile new file mode 100644 index 000000000..6b182a102 --- /dev/null +++ b/authorizer/docker/Dockerfile @@ -0,0 +1,3 @@ +FROM busybox:glibc +ADD asapo-authorizer / +CMD ["/asapo-authorizer","-config","/var/lib/authorizer/config.json"] diff --git a/authorizer/src/asapo_authorizer/main/authorizer.go b/authorizer/src/asapo_authorizer/main/authorizer.go index 1a0f39f42..0916ddbed 100644 --- a/authorizer/src/asapo_authorizer/main/authorizer.go +++ b/authorizer/src/asapo_authorizer/main/authorizer.go @@ -16,6 +16,8 @@ func PrintUsage() { func main() { var fname = flag.String("config", "", "config file path") + log.SetSoucre("authorizer") + flag.Parse() if *fname == "" { PrintUsage() diff --git a/broker/CMakeLists.txt b/broker/CMakeLists.txt index 49014ff5d..c010ae09f 100644 --- a/broker/CMakeLists.txt +++ b/broker/CMakeLists.txt @@ -20,6 +20,8 @@ ENDIF() include(testing_go) +configure_file(docker/Dockerfile . COPYONLY) + add_custom_target(asapo-broker ALL COMMAND ${CMAKE_COMMAND} -E env GOPATH=${gopath} go build ${GO_OPTS} -o ${exe_name} asapo_broker/main diff --git a/broker/docker/Dockerfile b/broker/docker/Dockerfile new file mode 100644 index 000000000..9efde1c77 --- /dev/null +++ b/broker/docker/Dockerfile @@ -0,0 +1,3 @@ +FROM busybox:glibc +ADD asapo-broker / +CMD ["/asapo-broker","-config","/var/lib/broker/config.json"] diff --git a/broker/src/asapo_broker/main/broker.go b/broker/src/asapo_broker/main/broker.go index 30a017728..e4b9c6e74 100644 --- a/broker/src/asapo_broker/main/broker.go +++ b/broker/src/asapo_broker/main/broker.go @@ -21,6 +21,7 @@ func PrintUsage() { func main() { var fname = flag.String("config", "", "config file path") + log.SetSoucre("broker") flag.Parse() if *fname == "" { PrintUsage() diff --git a/broker/src/asapo_broker/server/get_next_test.go b/broker/src/asapo_broker/server/get_next_test.go index 268390973..72693797d 100644 --- a/broker/src/asapo_broker/server/get_next_test.go +++ b/broker/src/asapo_broker/server/get_next_test.go @@ -35,8 +35,15 @@ type request struct { message string } -func containsMatcher(substr string) func(str string) bool { - return func(str string) bool { return strings.Contains(str, substr) } +func containsMatcher(substrings ...string) func(str string) bool { + return func(str string) bool { + for _, substr := range substrings { + if !strings.Contains(str, substr) { + return false + } + } + return true + } } func doRequest(path string) *httptest.ResponseRecorder { diff --git a/common/go/src/asapo_common/logger/logger.go b/common/go/src/asapo_common/logger/logger.go index e198cd23d..0f026aa18 100644 --- a/common/go/src/asapo_common/logger/logger.go +++ b/common/go/src/asapo_common/logger/logger.go @@ -23,6 +23,7 @@ type Logger interface { Warning(args ...interface{}) Error(args ...interface{}) SetLevel(level Level) + SetSource(source string) } var my_logger Logger = &logRusLogger{} @@ -51,6 +52,10 @@ func SetLevel(level Level) { my_logger.SetLevel(level) } +func SetSoucre(source string ){ + my_logger.SetSource(source) +} + func LevelFromString(str string) (Level, error) { switch strings.ToLower(str) { case "debug": diff --git a/common/go/src/asapo_common/logger/logrus_logger.go b/common/go/src/asapo_common/logger/logrus_logger.go index 750c37e9c..4625f2749 100644 --- a/common/go/src/asapo_common/logger/logrus_logger.go +++ b/common/go/src/asapo_common/logger/logrus_logger.go @@ -6,6 +6,11 @@ import ( type logRusLogger struct { logger_entry *log.Entry + source string +} + +func (l *logRusLogger) SetSource(source string) { + l.source = source } func (l *logRusLogger) entry() *log.Entry { @@ -23,7 +28,7 @@ func (l *logRusLogger) entry() *log.Entry { log.SetFormatter(formatter) l.logger_entry = log.WithFields(log.Fields{ - "source": "discovery", + "source": l.source, }) return l.logger_entry diff --git a/common/go/src/asapo_common/logger/mock_logger.go b/common/go/src/asapo_common/logger/mock_logger.go index 0e597978b..484b86cb0 100644 --- a/common/go/src/asapo_common/logger/mock_logger.go +++ b/common/go/src/asapo_common/logger/mock_logger.go @@ -20,6 +20,11 @@ func UnsetMockLog() { my_logger = &logRusLogger{} } +func (l *MockLogger) SetSource(source string) { + l.Called(source) + return +} + func (l *MockLogger) Info(args ...interface{}) { l.Called(args...) return diff --git a/discovery/CMakeLists.txt b/discovery/CMakeLists.txt index 871e6e93f..2c8635979 100644 --- a/discovery/CMakeLists.txt +++ b/discovery/CMakeLists.txt @@ -20,6 +20,8 @@ ENDIF() include(testing_go) +configure_file(docker/Dockerfile . COPYONLY) + add_custom_target(${TARGET_NAME} ALL COMMAND ${CMAKE_COMMAND} -E env GOPATH=${gopath} go build ${GO_OPTS} -o ${exe_name} asapo_discovery/main diff --git a/discovery/docker/Dockerfile b/discovery/docker/Dockerfile new file mode 100644 index 000000000..e2e745708 --- /dev/null +++ b/discovery/docker/Dockerfile @@ -0,0 +1,3 @@ +FROM busybox:glibc +ADD asapo-discovery / +CMD ["/asapo-discovery","-config","/var/lib/discovery/config.json"] diff --git a/discovery/src/asapo_discovery/main/discovery.go b/discovery/src/asapo_discovery/main/discovery.go index 683b80472..d78d64898 100644 --- a/discovery/src/asapo_discovery/main/discovery.go +++ b/discovery/src/asapo_discovery/main/discovery.go @@ -29,6 +29,7 @@ func PrintUsage() { func main() { var fname = flag.String("config", "", "config file path") + log.SetSoucre("discovery") flag.Parse() if *fname == "" { PrintUsage() -- GitLab