diff --git a/docker-compose.yml b/docker-compose.yml index 35d834f..98cd0e8 100644 --- a/docker-compose.yml +++ b/docker-compose.yml @@ -8,6 +8,11 @@ services: ports: - 8091:8080 container_name: oc-shared + labels: + - "traefik.enable=true" + - "traefik.http.middlewares.shared.forwardauth.address=http://oc-auth:8080/oc/forward" + - "traefik.http.middlewares.shared.forwardauth.authResponseHeaders=X-Forwarded-User" + - "traefik.http.services.shared.loadbalancer.server.port=8080" networks: - catalog diff --git a/docker_shared.json b/docker_shared.json index 5bf4004..853922f 100644 --- a/docker_shared.json +++ b/docker_shared.json @@ -1,4 +1,5 @@ { "MONGO_URL":"mongodb://mongo:27017/", + "NATS_URL":"nats://nats:4222", "MONGO_DATABASE":"DC_myDC" } \ No newline at end of file diff --git a/go.mod b/go.mod index a1d1c19..7ca9ab2 100644 --- a/go.mod +++ b/go.mod @@ -5,7 +5,7 @@ go 1.22.0 toolchain go1.22.4 require ( - cloud.o-forge.io/core/oc-lib v0.0.0-20241015083538-9f5e6d60185a + cloud.o-forge.io/core/oc-lib v0.0.0-20241030091613-1a5521237800 github.com/beego/beego/v2 v2.3.1 ) @@ -33,9 +33,9 @@ require ( github.com/nats-io/nkeys v0.4.7 // indirect github.com/nats-io/nuid v1.0.1 // indirect github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 // indirect - github.com/prometheus/client_golang v1.20.2 // indirect + github.com/prometheus/client_golang v1.20.5 // indirect github.com/prometheus/client_model v0.6.1 // indirect - github.com/prometheus/common v0.58.0 // indirect + github.com/prometheus/common v0.60.1 // indirect github.com/prometheus/procfs v0.15.1 // indirect github.com/robfig/cron/v3 v3.0.1 // indirect github.com/rogpeppe/go-internal v1.11.0 // indirect diff --git a/go.sum b/go.sum index 6e52720..06b799e 100644 --- a/go.sum +++ b/go.sum @@ -10,6 +10,12 @@ cloud.o-forge.io/core/oc-lib v0.0.0-20241002120813-a09a04e1a71e h1:77QHk5JSf0q13 cloud.o-forge.io/core/oc-lib v0.0.0-20241002120813-a09a04e1a71e/go.mod h1:t+zpCTVKVdHH/BImwtMYY2QIWLMXKgY4n/JhFm3Vpu8= cloud.o-forge.io/core/oc-lib v0.0.0-20241015083538-9f5e6d60185a h1:2mBMc36WKh1/Dpomktx9dVXGxK0agFr7RdgvHTtyn2w= cloud.o-forge.io/core/oc-lib v0.0.0-20241015083538-9f5e6d60185a/go.mod h1:t+zpCTVKVdHH/BImwtMYY2QIWLMXKgY4n/JhFm3Vpu8= +cloud.o-forge.io/core/oc-lib v0.0.0-20241018065112-59a1b52242b3 h1:IH0kY/aDvaxQAYDHuxpG82vf40P4QygIxf7mAxm7epU= +cloud.o-forge.io/core/oc-lib v0.0.0-20241018065112-59a1b52242b3/go.mod h1:t+zpCTVKVdHH/BImwtMYY2QIWLMXKgY4n/JhFm3Vpu8= +cloud.o-forge.io/core/oc-lib v0.0.0-20241021074805-8e82b87fb396 h1:43xWXPcQJqxeMeStuQMwu81wGrMbmcjVBLBby6F5MiQ= +cloud.o-forge.io/core/oc-lib v0.0.0-20241021074805-8e82b87fb396/go.mod h1:t+zpCTVKVdHH/BImwtMYY2QIWLMXKgY4n/JhFm3Vpu8= +cloud.o-forge.io/core/oc-lib v0.0.0-20241030091613-1a5521237800 h1:uZ4Qrxk/KEpOfDq8QHjZankW7aZGLlDYLoM3CZowlR8= +cloud.o-forge.io/core/oc-lib v0.0.0-20241030091613-1a5521237800/go.mod h1:t+zpCTVKVdHH/BImwtMYY2QIWLMXKgY4n/JhFm3Vpu8= github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU= github.com/beego/beego/v2 v2.3.0 h1:iECVwzm6egw6iw6tkWrEDqXG4NQtKLQ6QBSYqlM6T/I= github.com/beego/beego/v2 v2.3.0/go.mod h1:Ob/5BJ9fIKZLd4s9ZV3o9J6odkkIyL83et+p98gyYXo= @@ -109,10 +115,16 @@ github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2 h1:Jamvg5psRI github.com/pmezard/go-difflib v1.0.1-0.20181226105442-5d4384ee4fb2/go.mod h1:iKH77koFhYxTK1pcRnkKkqfTogsbg7gZNVY4sRDYZ/4= github.com/prometheus/client_golang v1.20.2 h1:5ctymQzZlyOON1666svgwn3s6IKWgfbjsejTMiXIyjg= github.com/prometheus/client_golang v1.20.2/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= +github.com/prometheus/client_golang v1.20.5 h1:cxppBPuYhUnsO6yo/aoRol4L7q7UFfdm+bR9r+8l63Y= +github.com/prometheus/client_golang v1.20.5/go.mod h1:PIEt8X02hGcP8JWbeHyeZ53Y/jReSnHgO035n//V5WE= github.com/prometheus/client_model v0.6.1 h1:ZKSh/rekM+n3CeS952MLRAdFwIKqeY8b62p8ais2e9E= github.com/prometheus/client_model v0.6.1/go.mod h1:OrxVMOVHjw3lKMa8+x6HeMGkHMQyHDk9E3jmP2AmGiY= github.com/prometheus/common v0.58.0 h1:N+N8vY4/23r6iYfD3UQZUoJPnUYAo7v6LG5XZxjZTXo= github.com/prometheus/common v0.58.0/go.mod h1:GpWM7dewqmVYcd7SmRaiWVe9SSqjf0UrwnYnpEZNuT0= +github.com/prometheus/common v0.60.0 h1:+V9PAREWNvJMAuJ1x1BaWl9dewMW4YrHZQbx0sJNllA= +github.com/prometheus/common v0.60.0/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= +github.com/prometheus/common v0.60.1 h1:FUas6GcOw66yB/73KC+BOZoFJmbo/1pojoILArPAaSc= +github.com/prometheus/common v0.60.1/go.mod h1:h0LYf1R1deLSKtD4Vdg8gy4RuOvENW2J/h19V5NADQw= github.com/prometheus/procfs v0.15.1 h1:YagwOFzUgYfKKHX6Dr+sHT7km/hxC76UB0learggepc= github.com/prometheus/procfs v0.15.1/go.mod h1:fB45yRUv8NstnjriLhBQLuOUt+WW4BsoGhij/e3PBqk= github.com/robfig/cron/v3 v3.0.1 h1:WdRxkvbJztn8LMz/QEvLN5sBU+xKpSqwwUO1Pjr4qDs= diff --git a/main.go b/main.go index f2ae23b..69fda5d 100644 --- a/main.go +++ b/main.go @@ -10,31 +10,7 @@ import ( const appname = "oc-shared" func main() { - // Init the oc-lib oclib.Init(appname) - - // Load the right config file - o := oclib.GetConfLoader() - - // feed the library with the loaded config - oclib.SetConfig( - o.GetStringDefault("MONGO_URL", "mongodb://127.0.0.1:27017"), - o.GetStringDefault("MONGO_DATABASE", "DC_myDC"), - "", - o.GetStringDefault("LOKI_URL", ""), - o.GetStringDefault("LOG_LEVEL", "info"), - ) - - /* PATHS ARE REFERENCE FOR INNER SERVICE OF DISTANT OC - * PATHS ARE USED TO CALL OTHER OC SERVICES - * NAMES ARE CANONICAL NAMES OF THE SERVICES - */ - // Beego init - beego.BConfig.AppName = appname - beego.BConfig.Listen.HTTPPort = o.GetIntDefault("port", 8080) - beego.BConfig.WebConfig.DirectoryIndex = true - beego.BConfig.WebConfig.StaticDir["/swagger"] = "swagger" - beego.Run() } diff --git a/oc-shared b/oc-shared index 3ec6cf4..895827b 100755 Binary files a/oc-shared and b/oc-shared differ diff --git a/routers/router.go b/routers/router.go index fe6f7a8..90983de 100644 --- a/routers/router.go +++ b/routers/router.go @@ -14,7 +14,7 @@ import ( ) func init() { - ns := beego.NewNamespace("/oc", + ns := beego.NewNamespace("/oc/", beego.NSNamespace("/collaborative_area", beego.NSInclude( &controllers.CollaborativeAreaController{}, @@ -31,5 +31,6 @@ func init() { ), ), ) + beego.AddNamespace(ns) } diff --git a/swagger/swagger.json b/swagger/swagger.json index 9a7f83c..d3379b5 100644 --- a/swagger/swagger.json +++ b/swagger/swagger.json @@ -9,11 +9,11 @@ "email": "admin@o-cloud.io" }, "license": { - "name": "MIT", - "url": "https://opensource.org/license/mit" + "name": "AGPL", + "url": "https://www.gnu.org/licenses/agpl-3.0.html" } }, - "basePath": "/oc", + "basePath": "/oc/", "paths": { "/collaborative_area/": { "get": { diff --git a/swagger/swagger.yml b/swagger/swagger.yml index d7a7a67..22bb2e7 100644 --- a/swagger/swagger.yml +++ b/swagger/swagger.yml @@ -8,9 +8,9 @@ info: contact: email: admin@o-cloud.io license: - name: MIT - url: https://opensource.org/license/mit -basePath: /oc + name: AGPL + url: https://www.gnu.org/licenses/agpl-3.0.html +basePath: /oc/ paths: /collaborative_area/: get: