Problem: error decrypting access key
Issue
HI Everyone, Today i upgraded my semaphore instance to version 2.10.22 my image is based on semaphoreui/semaphore:v2.10.22
When I try to run any task ( created on previous versions), i´m getting this error:
level=error msg="cannot decrypt access key, perhaps encryption key was changed" error="Cannot write new event to database".
I am able to edit the task, create a new one, create a new key, etc.
Am i missing something here?
I am sure my access_key is the same ive used before ( checked the previous versions on git).
it is specified in my config ( checked that the file is OK inside the container).
If the key where wrong i should not be able to read / write the other objects rigth?
Thank you
Impact
Database
Installation method
Docker
Database
BoltDB
Browser
Chrome, Microsoft Edge
Semaphore Version
v2.10.22-e44910d-1721658561
Ansible Version
Ansible [core 2.16.9]
Logs & errors
Starting semaphore server Loading config Validating config BoltDB /var/lib/semaphore/database.boltdb Tmp Path (projects home) /tmp/semaphore Semaphore v2.10.22-e44910d-1721658561 Interface Port 3000 Server is running
time="2024-08-05T20:01:41Z" level=error msg="websocket: close sent" fields.level=Error time="2024-08-05T20:01:41Z" level=error msg="close tcp 192.168.1.2:3000->xxx.xx.10.91:40030: use of closed network connection" fields.level=Error time="2024-08-05T20:01:46Z" level=error msg="cannot decrypt access key, perhaps encryption key was changed" goroutine 150 [running]: runtime/debug.Stack() /usr/local/go/src/runtime/debug/stack.go:24 +0x5e runtime/debug.PrintStack() /usr/local/go/src/runtime/debug/stack.go:16 +0x13 github.com/ansible-semaphore/semaphore/api/helpers.WriteError({0x19092b0, 0xc0004809a0}, {0x1903a20, 0xc000042460}) /go/src/semaphore/api/helpers/helpers.go:121 +0x21b github.com/ansible-semaphore/semaphore/api/projects.StopTask({0x19092b0, 0xc0004809a0}, 0xc000173c20) /go/src/semaphore/api/projects/tasks.go:184 +0x2a5 net/http.HandlerFunc.ServeHTTP(0x7faf9e65ea68?, {0x19092b0?, 0xc0004809a0?}, 0xc0000c2000?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.Route.GetMustCanMiddleware.func3.1({0x19092b0, 0xc0004809a0}, 0xc000173c20) /go/src/semaphore/api/projects/project.go:59 +0x127 net/http.HandlerFunc.ServeHTTP(0xc000173c20?, {0x19092b0?, 0xc0004809a0?}, 0xc60220?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api/projects.GetTaskMiddleware.func1({0x19092b0, 0xc0004809a0}, 0xc000173c20) /go/src/semaphore/api/projects/tasks.go:109 +0x4e4 net/http.HandlerFunc.ServeHTTP(0xc000173c20?, {0x19092b0?, 0xc0004809a0?}, 0xc348a0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api/projects.ProjectMiddleware.func1({0x19092b0, 0xc0004809a0}, 0xc000173c20) /go/src/semaphore/api/projects/project.go:43 +0x43d net/http.HandlerFunc.ServeHTTP(0x19092b0?, {0x19092b0?, 0xc0004809a0?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.authentication.func1({0x19092b0, 0xc0004809a0}, 0xc000173c20) /go/src/semaphore/api/auth.go:102 +0x57 net/http.HandlerFunc.ServeHTTP(0xc10e40?, {0x19092b0?, 0xc0004809a0?}, 0xc?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.JSONMiddleware.func1({0x19092b0, 0xc0004809a0}, 0xc000173c20) /go/src/semaphore/api/router.go:44 +0xf6 net/http.HandlerFunc.ServeHTTP(0x9?, {0x19092b0?, 0xc0004809a0?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.StoreMiddleware.func1.1() /go/src/semaphore/api/router.go:35 +0x28 github.com/ansible-semaphore/semaphore/db.StoreSession({0x1918ba0, 0xc0001c1f50}, {0xc0000138a0, 0xc}, 0xc00037d7d8) /go/src/semaphore/db/Store.go:449 +0x5f github.com/ansible-semaphore/semaphore/api.StoreMiddleware.func1({0x19092b0, 0xc0004809a0}, 0xc000173c20) /go/src/semaphore/api/router.go:34 +0x126 net/http.HandlerFunc.ServeHTTP(0xc000173c20?, {0x19092b0?, 0xc0004809a0?}, 0xc1b660?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/cli/cmd.runService.func1.1({0x19092b0, 0xc0004809a0}, 0xc000173c20) /go/src/semaphore/cli/cmd/root.go:74 +0xea net/http.HandlerFunc.ServeHTTP(0x0?, {0x19092b0?, 0xc0004809a0?}, 0x411d65?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.Route.CORSMethodMiddleware.func1.1({0x19092b0, 0xc0004809a0}, 0xc000173c20) /go/src/semaphore/vendor/github.com/gorilla/mux/middleware.go:51 +0x89 net/http.HandlerFunc.ServeHTTP(0xc000173b00?, {0x19092b0?, 0xc0004809a0?}, 0xc00037d9b8?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/gorilla/mux.(*Router).ServeHTTP(0xc00016c0c0, {0x19092b0, 0xc0004809a0}, 0xc000173560) /go/src/semaphore/vendor/github.com/gorilla/mux/mux.go:212 +0x1e2 github.com/ansible-semaphore/semaphore/cli/cmd.runService.ProxyHeaders.func2({0x19092b0, 0xc0004809a0}, 0xc000173560) /go/src/semaphore/vendor/github.com/gorilla/handlers/proxy_headers.go:59 +0x143 net/http.HandlerFunc.ServeHTTP(0xc000041945?, {0x19092b0?, 0xc0004809a0?}, 0x7faf57bd9278?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/cli/cmd.runService.cropTrailingSlashMiddleware.func3({0x19092b0, 0xc0004809a0}, 0xc000173560) /go/src/semaphore/cli/cmd/server.go:27 +0xbd net/http.HandlerFunc.ServeHTTP(0x411d65?, {0x19092b0?, 0xc0004809a0?}, 0xc000480901?) /usr/local/go/src/net/http/server.go:2166 +0x29 net/http.serverHandler.ServeHTTP({0x1906d50?}, {0x19092b0?, 0xc0004809a0?}, 0x6?) /usr/local/go/src/net/http/server.go:3137 +0x8e net/http.(*conn).serve(0xc00049a5a0, {0x190b068, 0xc00031e5a0}) /usr/local/go/src/net/http/server.go:2039 +0x5e8 created by net/http.(*Server).Serve in goroutine 1 /usr/local/go/src/net/http/server.go:3285 +0x4b4 time="2024-08-05T20:01:47Z" level=error msg="cannot decrypt access key, perhaps encryption key was changed" goroutine 163 [running]: runtime/debug.Stack() /usr/local/go/src/runtime/debug/stack.go:24 +0x5e runtime/debug.PrintStack() /usr/local/go/src/runtime/debug/stack.go:16 +0x13 github.com/ansible-semaphore/semaphore/api/helpers.WriteError({0x19092b0, 0xc0001e8000}, {0x1903a20, 0xc00012b630}) /go/src/semaphore/api/helpers/helpers.go:121 +0x21b github.com/ansible-semaphore/semaphore/api/projects.StopTask({0x19092b0, 0xc0001e8000}, 0xc000264a20) /go/src/semaphore/api/projects/tasks.go:184 +0x2a5 net/http.HandlerFunc.ServeHTTP(0x0?, {0x19092b0?, 0xc0001e8000?}, 0xc000264ea0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.Route.GetMustCanMiddleware.func3.1({0x19092b0, 0xc0001e8000}, 0xc000264a20) /go/src/semaphore/api/projects/project.go:59 +0x127 net/http.HandlerFunc.ServeHTTP(0xc000264a20?, {0x19092b0?, 0xc0001e8000?}, 0xc60220?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api/projects.GetTaskMiddleware.func1({0x19092b0, 0xc0001e8000}, 0xc000264a20) /go/src/semaphore/api/projects/tasks.go:109 +0x4e4 net/http.HandlerFunc.ServeHTTP(0xc000264a20?, {0x19092b0?, 0xc0001e8000?}, 0xc348a0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api/projects.ProjectMiddleware.func1({0x19092b0, 0xc0001e8000}, 0xc000264a20) /go/src/semaphore/api/projects/project.go:43 +0x43d net/http.HandlerFunc.ServeHTTP(0x19092b0?, {0x19092b0?, 0xc0001e8000?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.authentication.func1({0x19092b0, 0xc0001e8000}, 0xc000264a20) /go/src/semaphore/api/auth.go:102 +0x57 net/http.HandlerFunc.ServeHTTP(0xc10e40?, {0x19092b0?, 0xc0001e8000?}, 0xc?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.JSONMiddleware.func1({0x19092b0, 0xc0001e8000}, 0xc000264a20) /go/src/semaphore/api/router.go:44 +0xf6 net/http.HandlerFunc.ServeHTTP(0x9?, {0x19092b0?, 0xc0001e8000?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.StoreMiddleware.func1.1() /go/src/semaphore/api/router.go:35 +0x28 github.com/ansible-semaphore/semaphore/db.StoreSession({0x1918ba0, 0xc0001c1f50}, {0xc0001f6570, 0xc}, 0xc0000eb7d8) /go/src/semaphore/db/Store.go:449 +0x5f github.com/ansible-semaphore/semaphore/api.StoreMiddleware.func1({0x19092b0, 0xc0001e8000}, 0xc000264a20) /go/src/semaphore/api/router.go:34 +0x126 net/http.HandlerFunc.ServeHTTP(0xc000264a20?, {0x19092b0?, 0xc0001e8000?}, 0xc1b660?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/cli/cmd.runService.func1.1({0x19092b0, 0xc0001e8000}, 0xc000264a20) /go/src/semaphore/cli/cmd/root.go:74 +0xea net/http.HandlerFunc.ServeHTTP(0x0?, {0x19092b0?, 0xc0001e8000?}, 0x411d65?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.Route.CORSMethodMiddleware.func1.1({0x19092b0, 0xc0001e8000}, 0xc000264a20) /go/src/semaphore/vendor/github.com/gorilla/mux/middleware.go:51 +0x89 net/http.HandlerFunc.ServeHTTP(0xc0002647e0?, {0x19092b0?, 0xc0001e8000?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/gorilla/mux.(*Router).ServeHTTP(0xc00016c0c0, {0x19092b0, 0xc0001e8000}, 0xc000264000) /go/src/semaphore/vendor/github.com/gorilla/mux/mux.go:212 +0x1e2 github.com/ansible-semaphore/semaphore/cli/cmd.runService.ProxyHeaders.func2({0x19092b0, 0xc0001e8000}, 0xc000264000) /go/src/semaphore/vendor/github.com/gorilla/handlers/proxy_headers.go:59 +0x143 net/http.HandlerFunc.ServeHTTP(0xc0004ca545?, {0x19092b0?, 0xc0001e8000?}, 0x7faf57bce5e8?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/cli/cmd.runService.cropTrailingSlashMiddleware.func3({0x19092b0, 0xc0001e8000}, 0xc000264000) /go/src/semaphore/cli/cmd/server.go:27 +0xbd net/http.HandlerFunc.ServeHTTP(0x411d65?, {0x19092b0?, 0xc0001e8000?}, 0xc0001e8001?) /usr/local/go/src/net/http/server.go:2166 +0x29 net/http.serverHandler.ServeHTTP({0x1906d50?}, {0x19092b0?, 0xc0001e8000?}, 0x6?) /usr/local/go/src/net/http/server.go:3137 +0x8e net/http.(*conn).serve(0xc00038c120, {0x190b068, 0xc00031e5a0}) /usr/local/go/src/net/http/server.go:2039 +0x5e8 created by net/http.(*Server).Serve in goroutine 1 /usr/local/go/src/net/http/server.go:3285 +0x4b4 time="2024-08-05T20:01:48Z" level=error msg="cannot decrypt access key, perhaps encryption key was changed" goroutine 165 [running]: runtime/debug.Stack() /usr/local/go/src/runtime/debug/stack.go:24 +0x5e runtime/debug.PrintStack() /usr/local/go/src/runtime/debug/stack.go:16 +0x13 github.com/ansible-semaphore/semaphore/api/helpers.WriteError({0x19092b0, 0xc0000c60e0}, {0x1903a20, 0xc000306ff0}) /go/src/semaphore/api/helpers/helpers.go:121 +0x21b github.com/ansible-semaphore/semaphore/api/projects.StopTask({0x19092b0, 0xc0000c60e0}, 0xc000520b40) /go/src/semaphore/api/projects/tasks.go:184 +0x2a5 net/http.HandlerFunc.ServeHTTP(0x0?, {0x19092b0?, 0xc0000c60e0?}, 0xc000520d80?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.Route.GetMustCanMiddleware.func3.1({0x19092b0, 0xc0000c60e0}, 0xc000520b40) /go/src/semaphore/api/projects/project.go:59 +0x127 net/http.HandlerFunc.ServeHTTP(0xc000520b40?, {0x19092b0?, 0xc0000c60e0?}, 0xc60220?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api/projects.GetTaskMiddleware.func1({0x19092b0, 0xc0000c60e0}, 0xc000520b40) /go/src/semaphore/api/projects/tasks.go:109 +0x4e4 net/http.HandlerFunc.ServeHTTP(0xc000520b40?, {0x19092b0?, 0xc0000c60e0?}, 0xc348a0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api/projects.ProjectMiddleware.func1({0x19092b0, 0xc0000c60e0}, 0xc000520b40) /go/src/semaphore/api/projects/project.go:43 +0x43d net/http.HandlerFunc.ServeHTTP(0x19092b0?, {0x19092b0?, 0xc0000c60e0?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.authentication.func1({0x19092b0, 0xc0000c60e0}, 0xc000520b40) /go/src/semaphore/api/auth.go:102 +0x57 net/http.HandlerFunc.ServeHTTP(0xc10e40?, {0x19092b0?, 0xc0000c60e0?}, 0xc?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.JSONMiddleware.func1({0x19092b0, 0xc0000c60e0}, 0xc000520b40) /go/src/semaphore/api/router.go:44 +0xf6 net/http.HandlerFunc.ServeHTTP(0x9?, {0x19092b0?, 0xc0000c60e0?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.StoreMiddleware.func1.1() /go/src/semaphore/api/router.go:35 +0x28 github.com/ansible-semaphore/semaphore/db.StoreSession({0x1918ba0, 0xc0001c1f50}, {0xc0003ae330, 0xc}, 0xc0000ef7d8) /go/src/semaphore/db/Store.go:449 +0x5f github.com/ansible-semaphore/semaphore/api.StoreMiddleware.func1({0x19092b0, 0xc0000c60e0}, 0xc000520b40) /go/src/semaphore/api/router.go:34 +0x126 net/http.HandlerFunc.ServeHTTP(0xc000520b40?, {0x19092b0?, 0xc0000c60e0?}, 0xc1b660?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/cli/cmd.runService.func1.1({0x19092b0, 0xc0000c60e0}, 0xc000520b40) /go/src/semaphore/cli/cmd/root.go:74 +0xea net/http.HandlerFunc.ServeHTTP(0x0?, {0x19092b0?, 0xc0000c60e0?}, 0x411d65?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.Route.CORSMethodMiddleware.func1.1({0x19092b0, 0xc0000c60e0}, 0xc000520b40) /go/src/semaphore/vendor/github.com/gorilla/mux/middleware.go:51 +0x89 net/http.HandlerFunc.ServeHTTP(0xc0005207e0?, {0x19092b0?, 0xc0000c60e0?}, 0xc0000ef9b8?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/gorilla/mux.(*Router).ServeHTTP(0xc00016c0c0, {0x19092b0, 0xc0000c60e0}, 0xc000520480) /go/src/semaphore/vendor/github.com/gorilla/mux/mux.go:212 +0x1e2 github.com/ansible-semaphore/semaphore/cli/cmd.runService.ProxyHeaders.func2({0x19092b0, 0xc0000c60e0}, 0xc000520480) /go/src/semaphore/vendor/github.com/gorilla/handlers/proxy_headers.go:59 +0x143 net/http.HandlerFunc.ServeHTTP(0xc000040185?, {0x19092b0?, 0xc0000c60e0?}, 0x7faf57bd9278?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/cli/cmd.runService.cropTrailingSlashMiddleware.func3({0x19092b0, 0xc0000c60e0}, 0xc000520480) /go/src/semaphore/cli/cmd/server.go:27 +0xbd net/http.HandlerFunc.ServeHTTP(0x411d65?, {0x19092b0?, 0xc0000c60e0?}, 0xc0000c6001?) /usr/local/go/src/net/http/server.go:2166 +0x29 net/http.serverHandler.ServeHTTP({0x1906d50?}, {0x19092b0?, 0xc0000c60e0?}, 0x6?) /usr/local/go/src/net/http/server.go:3137 +0x8e net/http.(*conn).serve(0xc00038dcb0, {0x190b068, 0xc00031e5a0}) /usr/local/go/src/net/http/server.go:2039 +0x5e8 created by net/http.(*Server).Serve in goroutine 1 /usr/local/go/src/net/http/server.go:3285 +0x4b4 time="2024-08-05T20:01:48Z" level=error msg="cannot decrypt access key, perhaps encryption key was changed" goroutine 43 [running]: runtime/debug.Stack() /usr/local/go/src/runtime/debug/stack.go:24 +0x5e runtime/debug.PrintStack() /usr/local/go/src/runtime/debug/stack.go:16 +0x13 github.com/ansible-semaphore/semaphore/api/helpers.WriteError({0x19092b0, 0xc0001a2620}, {0x1903a20, 0xc000042aa0}) /go/src/semaphore/api/helpers/helpers.go:121 +0x21b github.com/ansible-semaphore/semaphore/api/projects.StopTask({0x19092b0, 0xc0001a2620}, 0xc0000cf0e0) /go/src/semaphore/api/projects/tasks.go:184 +0x2a5 net/http.HandlerFunc.ServeHTTP(0x7faf9e65ea68?, {0x19092b0?, 0xc0001a2620?}, 0xc0000cf440?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.Route.GetMustCanMiddleware.func3.1({0x19092b0, 0xc0001a2620}, 0xc0000cf0e0) /go/src/semaphore/api/projects/project.go:59 +0x127 net/http.HandlerFunc.ServeHTTP(0xc0000cf0e0?, {0x19092b0?, 0xc0001a2620?}, 0xc60220?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api/projects.GetTaskMiddleware.func1({0x19092b0, 0xc0001a2620}, 0xc0000cf0e0) /go/src/semaphore/api/projects/tasks.go:109 +0x4e4 net/http.HandlerFunc.ServeHTTP(0xc0000cf0e0?, {0x19092b0?, 0xc0001a2620?}, 0xc348a0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api/projects.ProjectMiddleware.func1({0x19092b0, 0xc0001a2620}, 0xc0000cf0e0) /go/src/semaphore/api/projects/project.go:43 +0x43d net/http.HandlerFunc.ServeHTTP(0x19092b0?, {0x19092b0?, 0xc0001a2620?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.authentication.func1({0x19092b0, 0xc0001a2620}, 0xc0000cf0e0) /go/src/semaphore/api/auth.go:102 +0x57 net/http.HandlerFunc.ServeHTTP(0xc10e40?, {0x19092b0?, 0xc0001a2620?}, 0xc?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.JSONMiddleware.func1({0x19092b0, 0xc0001a2620}, 0xc0000cf0e0) /go/src/semaphore/api/router.go:44 +0xf6 net/http.HandlerFunc.ServeHTTP(0x9?, {0x19092b0?, 0xc0001a2620?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.StoreMiddleware.func1.1() /go/src/semaphore/api/router.go:35 +0x28 github.com/ansible-semaphore/semaphore/db.StoreSession({0x1918ba0, 0xc0001c1f50}, {0xc00049ef50, 0xc}, 0xc0001b77d8) /go/src/semaphore/db/Store.go:449 +0x5f github.com/ansible-semaphore/semaphore/api.StoreMiddleware.func1({0x19092b0, 0xc0001a2620}, 0xc0000cf0e0) /go/src/semaphore/api/router.go:34 +0x126 net/http.HandlerFunc.ServeHTTP(0xc0000cf0e0?, {0x19092b0?, 0xc0001a2620?}, 0xc1b660?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/cli/cmd.runService.func1.1({0x19092b0, 0xc0001a2620}, 0xc0000cf0e0) /go/src/semaphore/cli/cmd/root.go:74 +0xea net/http.HandlerFunc.ServeHTTP(0x0?, {0x19092b0?, 0xc0001a2620?}, 0x411d65?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.Route.CORSMethodMiddleware.func1.1({0x19092b0, 0xc0001a2620}, 0xc0000cf0e0) /go/src/semaphore/vendor/github.com/gorilla/mux/middleware.go:51 +0x89 net/http.HandlerFunc.ServeHTTP(0xc0000cefc0?, {0x19092b0?, 0xc0001a2620?}, 0xc0001b79b8?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/gorilla/mux.(*Router).ServeHTTP(0xc00016c0c0, {0x19092b0, 0xc0001a2620}, 0xc0000cea20) /go/src/semaphore/vendor/github.com/gorilla/mux/mux.go:212 +0x1e2 github.com/ansible-semaphore/semaphore/cli/cmd.runService.ProxyHeaders.func2({0x19092b0, 0xc0001a2620}, 0xc0000cea20) /go/src/semaphore/vendor/github.com/gorilla/handlers/proxy_headers.go:59 +0x143 net/http.HandlerFunc.ServeHTTP(0xc0003254c5?, {0x19092b0?, 0xc0001a2620?}, 0x7faf9e6677e8?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/cli/cmd.runService.cropTrailingSlashMiddleware.func3({0x19092b0, 0xc0001a2620}, 0xc0000cea20) /go/src/semaphore/cli/cmd/server.go:27 +0xbd net/http.HandlerFunc.ServeHTTP(0x411d65?, {0x19092b0?, 0xc0001a2620?}, 0xc0001a2601?) /usr/local/go/src/net/http/server.go:2166 +0x29 net/http.serverHandler.ServeHTTP({0x1906d50?}, {0x19092b0?, 0xc0001a2620?}, 0x6?) /usr/local/go/src/net/http/server.go:3137 +0x8e net/http.(*conn).serve(0xc00052f9e0, {0x190b068, 0xc00031e5a0}) /usr/local/go/src/net/http/server.go:2039 +0x5e8 created by net/http.(*Server).Serve in goroutine 1 /usr/local/go/src/net/http/server.go:3285 +0x4b4 time="2024-08-05T20:01:48Z" level=error msg="cannot decrypt access key, perhaps encryption key was changed" goroutine 45 [running]: runtime/debug.Stack() /usr/local/go/src/runtime/debug/stack.go:24 +0x5e runtime/debug.PrintStack() /usr/local/go/src/runtime/debug/stack.go:16 +0x13 github.com/ansible-semaphore/semaphore/api/helpers.WriteError({0x19092b0, 0xc0003b8540}, {0x1903a20, 0xc0004d6000}) /go/src/semaphore/api/helpers/helpers.go:121 +0x21b github.com/ansible-semaphore/semaphore/api/projects.StopTask({0x19092b0, 0xc0003b8540}, 0xc00043c240) /go/src/semaphore/api/projects/tasks.go:184 +0x2a5 net/http.HandlerFunc.ServeHTTP(0x7faf9e65e5b8?, {0x19092b0?, 0xc0003b8540?}, 0xc00043c480?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.Route.GetMustCanMiddleware.func3.1({0x19092b0, 0xc0003b8540}, 0xc00043c240) /go/src/semaphore/api/projects/project.go:59 +0x127 net/http.HandlerFunc.ServeHTTP(0xc00043c240?, {0x19092b0?, 0xc0003b8540?}, 0xc60220?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api/projects.GetTaskMiddleware.func1({0x19092b0, 0xc0003b8540}, 0xc00043c240) /go/src/semaphore/api/projects/tasks.go:109 +0x4e4 net/http.HandlerFunc.ServeHTTP(0xc00043c240?, {0x19092b0?, 0xc0003b8540?}, 0xc348a0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api/projects.ProjectMiddleware.func1({0x19092b0, 0xc0003b8540}, 0xc00043c240) /go/src/semaphore/api/projects/project.go:43 +0x43d net/http.HandlerFunc.ServeHTTP(0x19092b0?, {0x19092b0?, 0xc0003b8540?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.authentication.func1({0x19092b0, 0xc0003b8540}, 0xc00043c240) /go/src/semaphore/api/auth.go:102 +0x57 net/http.HandlerFunc.ServeHTTP(0xc10e40?, {0x19092b0?, 0xc0003b8540?}, 0xc?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.JSONMiddleware.func1({0x19092b0, 0xc0003b8540}, 0xc00043c240) /go/src/semaphore/api/router.go:44 +0xf6 net/http.HandlerFunc.ServeHTTP(0x9?, {0x19092b0?, 0xc0003b8540?}, 0x0?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.StoreMiddleware.func1.1() /go/src/semaphore/api/router.go:35 +0x28 github.com/ansible-semaphore/semaphore/db.StoreSession({0x1918ba0, 0xc0001c1f50}, {0xc000259b50, 0xc}, 0xc0000eb7d8) /go/src/semaphore/db/Store.go:449 +0x5f github.com/ansible-semaphore/semaphore/api.StoreMiddleware.func1({0x19092b0, 0xc0003b8540}, 0xc00043c240) /go/src/semaphore/api/router.go:34 +0x126 net/http.HandlerFunc.ServeHTTP(0xc00043c240?, {0x19092b0?, 0xc0003b8540?}, 0xc1b660?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/cli/cmd.runService.func1.1({0x19092b0, 0xc0003b8540}, 0xc00043c240) /go/src/semaphore/cli/cmd/root.go:74 +0xea net/http.HandlerFunc.ServeHTTP(0x0?, {0x19092b0?, 0xc0003b8540?}, 0x411d65?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/api.Route.CORSMethodMiddleware.func1.1({0x19092b0, 0xc0003b8540}, 0xc00043c240) /go/src/semaphore/vendor/github.com/gorilla/mux/middleware.go:51 +0x89 net/http.HandlerFunc.ServeHTTP(0xc00043c120?, {0x19092b0?, 0xc0003b8540?}, 0xc0000eb9b8?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/gorilla/mux.(*Router).ServeHTTP(0xc00016c0c0, {0x19092b0, 0xc0003b8540}, 0xc000599e60) /go/src/semaphore/vendor/github.com/gorilla/mux/mux.go:212 +0x1e2 github.com/ansible-semaphore/semaphore/cli/cmd.runService.ProxyHeaders.func2({0x19092b0, 0xc0003b8540}, 0xc000599e60) /go/src/semaphore/vendor/github.com/gorilla/handlers/proxy_headers.go:59 +0x143 net/http.HandlerFunc.ServeHTTP(0xc0004cbe05?, {0x19092b0?, 0xc0003b8540?}, 0x7faf57bce5e8?) /usr/local/go/src/net/http/server.go:2166 +0x29 github.com/ansible-semaphore/semaphore/cli/cmd.runService.cropTrailingSlashMiddleware.func3({0x19092b0, 0xc0003b8540}, 0xc000599e60) /go/src/semaphore/cli/cmd/server.go:27 +0xbd net/http.HandlerFunc.ServeHTTP(0x411d65?, {0x19092b0?, 0xc0003b8540?}, 0xc0003b8501?) /usr/local/go/src/net/http/server.go:2166 +0x29 net/http.serverHandler.ServeHTTP({0x1906d50?}, {0x19092b0?, 0xc0003b8540?}, 0x6?) /usr/local/go/src/net/http/server.go:3137 +0x8e net/http.(*conn).serve(0xc00033db90, {0x190b068, 0xc00031e5a0}) /usr/local/go/src/net/http/server.go:2039 +0x5e8 created by net/http.(*Server).Serve in goroutine 1 /usr/local/go/src/net/http/server.go:3285 +0x4b4 time="2024-08-05T20:01:52Z" level=error msg="cannot decrypt access key, perhaps encryption key was changed" error="Cannot write new event to database" time="2024-08-05T20:05:40Z" level=error msg="cannot decrypt access key, perhaps encryption key was changed" error="Cannot write new event to database" time="2024-08-05T20:10:59Z" level=error msg="cannot decrypt access key, perhaps encryption key was changed" error="Cannot write new event to database"
time="2024-08-05T20:11:31Z" level=error msg="websocket: close sent" fields.level=Error time="2024-08-05T20:11:31Z" level=error msg="close tcp 192.168.1.2:3000->xxx.xx.10.91:54216: use of closed network connection" fields.level=Error
time="2024-08-05T20:12:46Z" level=error msg="websocket: close sent" fields.level=Error time="2024-08-05T20:12:46Z" level=error msg="close tcp 192.168.1.2:3000->xxx.xx.10.91:44338: use of closed network connection" fields.level=Error time="2024-08-05T20:13:18Z" level=error msg="cannot decrypt access key, perhaps encryption key was changed" error="Cannot write new event to database"
Manual installation - system information
No response
Configuration
No response
Additional information
No response
I have the exact same issue. Is there a fix? My semaphore install is full broken because of that.
i found none. figured it was caused by upgrading from an old version to the current major. gave up trying to solve it and rebuilt my env manually.
Hi, looks like you need to resave all your keys.
Tks @fiftin . I will try
I have this same issue. Happy to provide any requested info to help resolve.
EDIT
On semaphore docker installation we need to define volumes for these directories:
- /var/lib/semaphore
- /etc/semaphore
- /tmp/semaphore
services:
semaphore:
ports:
- 3000:3000
image: semaphoreui/semaphore:v2.10.32
env_file:
- .env
volumes:
- semaphore_data:/var/lib/semaphore
- semaphore_config:/etc/semaphore
- semaphore_tmp:/tmp/semaphore
restart: unless-stopped
volumes:
semaphore_data:
semaphore_config:
semaphore_tmp:
more info: https://semaphoreui.com/install/docker/2_10_32/
On docker installation the error occurs when the container is recreated
This is the compose
services:
semaphore:
ports:
- 3000:3000
image: semaphoreui/semaphore:v2.10.32
env_file:
- .env
restart: unless-stopped
.env file
# db
SEMAPHORE_DB_DIALECT: postgres
SEMAPHORE_DB_HOST: 172.17.0.1
SEMAPHORE_DB_NAME: semaphore
SEMAPHORE_DB_USER: semaphore
# admin
SEMAPHORE_ADMIN: admin
SEMAPHORE_ADMIN_PASSWORD: admin
SEMAPHORE_ADMIN_NAME: Admin
SEMAPHORE_ADMIN_EMAIL: [email protected]
How to reproduce:
docker compose up -d
- Login into the semaphore ui
- Create a ssh key or password
- Create ansible playbook that use the ssh key or password
- Recreate the container
docker compose up -d --force-recreate
Errors
...
Postgres [email protected]:5432 semaphore
Tmp Path (projects home) /tmp/semaphore
Semaphore v2.10.32-f33944e-1729509451
Interface
Port :3000
Server is running
time="2024-10-26T12:28:08Z" level=error msg="cannot decrypt access key, perhaps encryption key was changed" error="Cannot write new event to database"
Hi @marvincorreia it is encryption of access keys issue: https://docs.semaphoreui.com/administration-guide/security/
If you didn't provide environment variable SEMAPHORE_ACCESS_KEY_ENCRYPTION it has been generated automatically and stored in /etc/semaphore/config.json.
So, you have 3 options:
- provide
SEMAPHORE_ACCESS_KEY_ENCRYPTIONwhich must be generated with usinghead -c32 /dev/urandom | base64. - add volume for directory
/etc/semaphore. - provide
SEMAPHORE_ACCESS_KEY_ENCRYPTION_FILE- it is a path to the file which contains encryption key.
The security of access keys is the most important part of Semaphore, as it contains private keys.
Thanks @fiftin , after adding the volumes the problem no longer occurs, but for security it is better to add SEMAPHORE_ACCESS_KEY_ENCRYPTION thanks for the tip!