-
-
Notifications
You must be signed in to change notification settings - Fork 1.2k
Open
Description
Issue
After upgrading to version v2.14.0 or higher the Semaphore server is not booting anymore. The following error is being generated in the logs:
cannot assign value of type string to map element of type null
After reverting to v2.13.15 the container boots again but due to the DB migration some things don't work.
Impact
Docker
Installation method
Docker
Database
MySQL
Browser
Microsoft Edge
Semaphore Version
2.14.0 / 2.14.1 / 2.14.3 / 2.14.4
Ansible Version
Logs & errors
Pinging database on mysql port 3306...
No additional python dependencies to install
Starting semaphore server
Loading config
Validating config
panic: cannot assign value of type string to map element of type null
goroutine 1 [running]:
github.com/semaphoreui/semaphore/cli/cmd.createStoreWithMigrationVersion({0xda8a64, 0x4}, 0x0, 0x0)
github.com/semaphoreui/semaphore/cli/cmd.createStore(...)
/go/src/semaphore/cli/cmd/root.go:185 +0xd7
/go/src/semaphore/cli/cmd/root.go:194
github.com/semaphoreui/semaphore/cli/cmd.runService()
/go/src/semaphore/cli/cmd/root.go:64 +0x45
github.com/semaphoreui/semaphore/cli/cmd.init.func9(0xc0000fd000?, {0xda8aa4?, 0x4?, 0xda8aa8?})
/go/src/semaphore/cli/cmd/server.go:18 +0xf
github.com/spf13/cobra.(*Command).execute(0x2298ca0, {0xc00012e580, 0x2, 0x2})
github.com/spf13/cobra.(*Command).ExecuteC(0x2297c20)
/go/src/semaphore/vendor/github.com/spf13/cobra/command.go:1019 +0xa7b
/go/src/semaphore/vendor/github.com/spf13/cobra/command.go:1148 +0x40c
github.com/spf13/cobra.(*Command).Execute(...)
/go/src/semaphore/vendor/github.com/spf13/cobra/command.go:1071
github.com/semaphoreui/semaphore/cli/cmd.Execute()
main.main()
/go/src/semaphore/cli/cmd/root.go:57 +0xc5
/go/src/semaphore/cli/main.go:8 +0xf
Manual installation - system information
No response
Configuration
docker-compose.yml
services:
mysql:
restart: unless-stopped
image: mysql:8.0
hostname: mysql
container_name: semaphore_db
volumes:
- /opt/semaphore/db:/var/lib/mysql
environment:
MYSQL_RANDOM_ROOT_PASSWORD: 'yes'
MYSQL_DATABASE: REDACTED
MYSQL_USER: REDACTED
MYSQL_PASSWORD: REDACTED
networks:
ansible:
ipv4_address: 172.22.54.11
semaphore:
restart: unless-stopped
ports:
- 3000:3000
image: semaphoreui/semaphore:v2.14.0
container_name: semaphore_server
environment:
SEMAPHORE_DB_USER: REDACTED
SEMAPHORE_DB_PASS: REDACTED
SEMAPHORE_DB_HOST: mysql # for postgres, change to: postgres
SEMAPHORE_DB_PORT: 3306 # change to 5432 for postgres
SEMAPHORE_DB_DIALECT: mysql # for postgres, change to: postgres
SEMAPHORE_DB: REDACTED
SEMAPHORE_PLAYBOOK_PATH: /tmp/semaphore/
SEMAPHORE_ADMIN_PASSWORD: REDACTED
SEMAPHORE_ADMIN_NAME: REDACTED
SEMAPHORE_ADMIN_EMAIL: REDACTED
SEMAPHORE_ADMIN: REDACTED
SEMAPHORE_SCHEDULE_TIMEZONE: Europe/Amsterdam
depends_on:
- mysql # for postgres, change to: postgres
volumes:
- /opt/semaphore/inventory/:/inventory:ro
#- /opt/semaphore/config/config.json:/etc/semaphore/config.json:ro
networks:
ansible:
ipv4_address: 172.22.54.10
networks:
ansible:
ipam:
config:
- subnet: 172.22.54.0/24
config.json
{
"ldap_enable": true,
"ldap_needtls": true,
"ldap_binddn": "REDACTED",
"ldap_bindpassword": "REDACTED",
"ldap_server": "domain.local:636",
"ldap_searchdn": "REDACTED",
"ldap_searchfilter": "(&(sAMAccountName=%s)(memberOf:1.2.840.113556.1.4.1941:=CN=GROUP))",
"ldap_mappings": {
"dn": "distinguishedName",
"mail": "mail",
"uid": "sAMAccountName",
"cn": "cn"
},
"access_key_encryption": "REDACTED=",
"cookie_encryption": "REDACTED",
"cookie_hash": "REDACTED",
"concurrency_mode": "node",
"max_parallel_tasks": 4
}
Additional information
No response
fiftin