Just to add: I see the right content in the file in the /godata/:
``` bash-5.1$ ls -al /godata/cruise-config.xml -rwxr-xr-x 1 root root 14950 Apr 11 09:38 /godata/cruise-config.xml bash-5.1$ cat /godata/cruise-config.xml <?xml version="1.0" encoding="utf-8"?> <cruise xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cruise-config.xsd" schemaVersion="139"> <server jobTimeout="10" agentAutoRegisterKey="abcb673ad8de1f6df1afa41eff9ba70e" webhookSecret="e7e978e8-b4b1-498f-bd15-ce4c8f6f4240" tokenGenerationKey="6a945808-d166-40f2-87ab-a1533fc1edba"> <siteUrls> <siteUrl>https://gocd-brxt.corp.mendeley.com/</siteUrl> <secureSiteUrl>https://gocd-brxt.corp.mendeley.com/</secureSiteUrl> </siteUrls> <security> <authConfigs> <authConfig id="file-auth-config" pluginId="cd.go.authentication.passwordfile"> <property> <key>PasswordFilePath</key> <value>/etc/go/users.passwd</value> </property> </authConfig> </authConfigs> <admins> <user>api_user</user> </admins> </security> <mailhost hostname="relay.corp.mendeley.com" port="25" from=" no-re...@gocd-atlas.test.corp.mendeley.com" admin="atlas-t...@elsevier.com" /> <artifacts> <artifactsDir>artifacts</artifactsDir> </artifacts> </server> <elastic>``` But then looks like the file getting changed after the sym links creation: ``` bash-5.1$ ls -al /go-working-dir/ total 107804 drwxrwxr-x 1 go root 16384 Apr 11 09:42 . drwxr-xr-x 1 root root 90 Apr 11 09:41 .. lrwxrwxrwx 1 go root 17 Apr 11 09:41 artifacts -> /godata/artifacts lrwxrwxrwx 1 go root 14 Apr 11 09:41 bin -> /go-server/bin lrwxrwxrwx 1 go root 14 Apr 11 09:41 config -> /godata/config -rw-r--r-- 1 go root 110355285 Apr 11 09:41 cruise.war lrwxrwxrwx 1 go root 10 Apr 11 09:41 db -> /godata/db drwxr-xr-x 11 go root 141 Apr 11 09:42 felix-cache lrwxrwxrwx 1 go root 14 Apr 11 09:41 lib -> /go-server/lib lrwxrwxrwx 1 go root 12 Apr 11 09:41 logs -> /godata/logs lrwxrwxrwx 1 go root 15 Apr 11 09:41 plugins -> /godata/plugins drwxr-xr-x 11 go root 16384 Apr 11 09:42 plugins_work lrwxrwxrwx 1 go root 14 Apr 11 09:41 run -> /go-server/run drwxr-xr-x 3 go root 52 Apr 11 09:41 work lrwxrwxrwx 1 go root 18 Apr 11 09:41 wrapper -> /go-server/wrapper lrwxrwxrwx 1 go root 25 Apr 11 09:41 wrapper-config -> /go-server/wrapper-config bash-5.1$ cat /godata/config/cruise-config.xml <?xml version="1.0" encoding="utf-8"?> <cruise xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cruise-config.xsd" schemaVersion="139"> <server agentAutoRegisterKey="44eb6cdc-d8d9-4604-abfa-f061bbcbbee1" webhookSecret="506660f5-21e9-40c4-aa67-78c5cb37cde1" serverId="f256fbc9-d378-4649-a978-c4ddaca865b7" tokenGenerationKey="a7dc8993-3209-4459-ac18-85c1e89a5a60"> <artifacts> <artifactsDir>artifacts</artifactsDir> </artifacts> </server> </cruise>``` Is that been happening by the entrypoint script as such ? For information, here is my dockerfile: ``` # Use the official GoCD server image from gocd.org as the base FROM gocd/gocd-server:v22.3.0 # Environment variables can be set if needed ENV GO_SERVER_SYSTEM_PROPERTIES="" # Switch to root user to install additional packages USER root # Install additional packages required for your setup RUN apk update && apk add --no-cache \ unzip \ git \ openssh-client \ jq \ ca-certificates \ curl \ zip \ && rm -rf /var/cache/apk/* /var/lib/apt/lists/* # No custom entrypoint script is used, rely on the base image's entrypoint # Switch back to the GoCD user for safety USER go # Volumes where GoCD expects data to persist, you will mount your EFS to these locations VOLUME ["/var/lib/go-server", "/etc/go"] # Expose ports EXPOSE 8153 8154 # The ENTRYPOINT from the base image is used, ensuring GoCD starts up as expected``` Many thanks Satya On Thu, Apr 11, 2024 at 11:11 AM Satya Elipe <satya.el...@gmail.com> wrote: > Thank you Chad. > > I see my next issue with that, wherein cruise-config.xml is still not seen > by the container and uses default or generates its own. > > Here is the data on the EFS mount: > ``` > [ec2-user@ip-10-154-168-49 ~]$ ls -al /mnt/gocd_efs > total 108252 > drwxr-xr-x. 15 ec2-user root 6144 Apr 11 09:38 . > drwxr-xr-x. 3 root root 22 Apr 10 15:57 .. > drwxr-xr-x. 4 ec2-user root 6144 Dec 16 2020 artifacts > -rwxr-xr-x. 1 root root 32 Apr 11 09:38 cipher.aes > -rwxr-xr-x. 1 root root 32 Apr 11 09:38 > cipher.aes.16540.2020-12-16@14:08:08~ > drwxr-xr-x. 2 ec2-user root 6144 Apr 11 08:10 config > -rwxr-xr-x. 1 root root 14950 Apr 11 09:38 cruise-config.xml > -rwxr-xr-x. 1 root root 7382 Apr 11 09:38 > cruise-config.xml.1125.2021-01-19@11:20:26~ > -rwxr-xr-x. 1 root root 10460 Apr 11 09:38 > cruise-config.xml.invalid.2021-09-27-16-03-30 > -rwxr-xr-x. 1 root root 47442 Apr 11 09:38 cruise-config.xsd > -rwxr-xr-x. 1 ec2-user root 110355285 Apr 10 09:28 cruise.war > drwxr-xr-x. 3 ec2-user root 6144 Dec 16 2020 data > drwxr-xr-x. 5 ec2-user root 6144 Jul 7 2022 db > drwxr-xr-x. 3 ec2-user root 6144 Apr 10 18:17 etc_go > drwxr-xr-x. 12 ec2-user root 6144 Apr 10 09:29 felix-cache > -rwxr-xr-x. 1 root root 799 Apr 11 09:38 go_update_server.pub > drwxr-xr-x. 3 root root 6144 Apr 11 09:38 godata > -rwxr-xr-x. 1 root root 4120 Apr 11 09:38 jetty.xml > drwxr-xr-x. 2 ec2-user root 6144 Apr 11 08:11 logs > drwxr-xr-x. 3 ec2-user root 6144 Dec 16 2020 pipelines > -rwxr-xr-x. 1 ec2-user root 131 Sep 27 2021 > plugin-slack.notifier.log > drwxr-xr-x. 4 ec2-user root 6144 Apr 4 14:59 plugins > drwxr-xr-x. 11 ec2-user root 6144 Apr 10 09:29 plugins_work > drwxr-xr-x. 2 ec2-user root 6144 Apr 10 09:28 run > -rwxr-xr-x. 1 root root 144 Apr 11 09:38 users.passwd > drwxr-xr-x. 3 ec2-user root 6144 Apr 10 09:28 work``` > > And, /mnt/gocd_efs/cruise-config.xml: > ``` > [ec2-user@ip-10-154-168-49 ~]$ cat /mnt/gocd_efs/cruise-config.xml > <?xml version="1.0" encoding="utf-8"?> > <cruise xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:noNamespaceSchemaLocation="cruise-config.xsd" schemaVersion="139"> > <server jobTimeout="10" > agentAutoRegisterKey="abcb673ad8de1f6df1afa41eff9ba70e" > webhookSecret="e7e978e8-b4b1-498f-bd15-ce4c8f6f4240" > tokenGenerationKey="6a945808-d166-40f2-87ab-a1533fc1edba"> > <siteUrls> > <siteUrl>https://gocd-brxt.corp.mendeley.com/</siteUrl> > <secureSiteUrl>https://gocd-brxt.corp.mendeley.com/</secureSiteUrl> > </siteUrls> > <security> > <authConfigs> > <authConfig id="file-auth-config" > pluginId="cd.go.authentication.passwordfile"> > <property> > <key>PasswordFilePath</key> > <value>/etc/go/users.passwd</value> > </property> > </authConfig> > </authConfigs> > <admins> > <user>api_user</user> > </admins> > </security> > <mailhost hostname="relay.corp.mendeley.com" port="25" from=" > no-re...@gocd-atlas.test.corp.mendeley.com" admin="atlas-t...@elsevier.com" > /> > <artifacts> > <artifactsDir>artifacts</artifactsDir> > </artifacts> > </server> > <elastic> > <agentProfiles> > <agentProfile id="brxt_gocd.shared-agent-staging-elastic" > clusterProfileId="eks_brxt_staging_cluster">``` > > > And, mounting into the container: > ``` > docker run -d \ > --name gocd-server \ > -p 8153:8153 \ > -p 8154:8154 \ > -v /mnt/gocd_efs:/godata \ > custom-gocd-server``` > > And the data in the container: > ``` > bash-5.1$ ls -al /go-working-dir > total 107804 > drwxrwxr-x 1 go root 16384 Apr 11 09:42 . > drwxr-xr-x 1 root root 90 Apr 11 09:41 .. > lrwxrwxrwx 1 go root 17 Apr 11 09:41 artifacts -> > /godata/artifacts > lrwxrwxrwx 1 go root 14 Apr 11 09:41 bin -> > /go-server/bin > lrwxrwxrwx 1 go root 14 Apr 11 09:41 config -> > /godata/config > -rw-r--r-- 1 go root 110355285 Apr 11 09:41 cruise.war > lrwxrwxrwx 1 go root 10 Apr 11 09:41 db -> /godata/db > drwxr-xr-x 11 go root 141 Apr 11 09:42 felix-cache > lrwxrwxrwx 1 go root 14 Apr 11 09:41 lib -> > /go-server/lib > lrwxrwxrwx 1 go root 12 Apr 11 09:41 logs -> > /godata/logs > lrwxrwxrwx 1 go root 15 Apr 11 09:41 plugins -> > /godata/plugins > drwxr-xr-x 11 go root 16384 Apr 11 09:42 plugins_work > lrwxrwxrwx 1 go root 14 Apr 11 09:41 run -> > /go-server/run > drwxr-xr-x 3 go root 52 Apr 11 09:41 work > lrwxrwxrwx 1 go root 18 Apr 11 09:41 wrapper -> > /go-server/wrapper > lrwxrwxrwx 1 go root 25 Apr 11 09:41 wrapper-config -> > /go-server/wrapper-config``` > > And "/godata/config/cruise-config.xml" in the is not same as the one from > the efs mount: > ``` > bash-5.1$ cat /godata/config/cruise-config.xml > <?xml version="1.0" encoding="utf-8"?> > <cruise xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" > xsi:noNamespaceSchemaLocation="cruise-config.xsd" schemaVersion="139"> > <server agentAutoRegisterKey="44eb6cdc-d8d9-4604-abfa-f061bbcbbee1" > webhookSecret="506660f5-21e9-40c4-aa67-78c5cb37cde1" > serverId="f256fbc9-d378-4649-a978-c4ddaca865b7" > tokenGenerationKey="a7dc8993-3209-4459-ac18-85c1e89a5a60"> > <artifacts> > <artifactsDir>artifacts</artifactsDir> > </artifacts> > </server> > </cruise>``` > > Wonder where is it going wrong and the container not seeing it, do we have > to mount them differently ? > > Here is what container logs say: > ``` > /docker-entrypoint.sh: Creating directories and symlinks to hold GoCD > configuration, data, and logs > $ ln -sv /godata/artifacts /go-working-dir/artifacts > '/go-working-dir/artifacts' -> '/godata/artifacts' > $ mkdir -v -p /godata/config > created directory: '/godata/config' > $ ln -sv /godata/config /go-working-dir/config > '/go-working-dir/config' -> '/godata/config' > $ ln -sv /godata/db /go-working-dir/db > '/go-working-dir/db' -> '/godata/db' > $ mkdir -v -p /godata/logs > created directory: '/godata/logs' > $ ln -sv /godata/logs /go-working-dir/logs > '/go-working-dir/logs' -> '/godata/logs' > $ ln -sv /godata/plugins /go-working-dir/plugins > '/go-working-dir/plugins' -> '/godata/plugins' > /docker-entrypoint.sh: Creating directories and symlinks to hold GoCD > wrapper binaries > $ ln -sv /go-server/bin /go-working-dir/bin > '/go-working-dir/bin' -> '/go-server/bin' > $ ln -sv /go-server/lib /go-working-dir/lib > '/go-working-dir/lib' -> '/go-server/lib' > $ ln -sv /go-server/run /go-working-dir/run > '/go-working-dir/run' -> '/go-server/run' > $ ln -sv /go-server/wrapper /go-working-dir/wrapper > '/go-working-dir/wrapper' -> '/go-server/wrapper' > $ ln -sv /go-server/wrapper-config /go-working-dir/wrapper-config > '/go-working-dir/wrapper-config' -> '/go-server/wrapper-config' > $ cp -rfv /go-server/config/logback-include.xml > /go-working-dir/config/logback-include.xml > '/go-server/config/logback-include.xml' -> > '/go-working-dir/config/logback-include.xml' > $ install-gocd-plugins > $ git-clone-config > $ cd /godata/config > /docker-entrypoint.sh: Running custom scripts in /docker-entrypoint.d/ ... > $ sed -i -e s@wrapper.logfile > =.*@wrapper.logfile=/go-working-dir/logs/go-server-wrapper.log@g -e > s...@wrapper.java.command=.*@wrapper.java.command=/gocd-jre/bin/java@g -e > s...@wrapper.working.dir=.*@wrapper.working.dir=/go-working-dir@g > /go-server/wrapper-config/wrapper.conf > $ exec /usr/local/sbin/tini -g -- /go-working-dir/bin/go-server console > Running go-server... > wrapper | Failed to set JVM input handle to non blocking mode: Bad file > descriptor (9) > wrapper | Failed to set JVM input handle to close on JVM exit: Bad file > descriptor (9) > wrapper | JVM exited while loading the application. > wrapper | Unable to set JVM's stdin: Bad file descriptor > wrapper | --> Wrapper Started as Console > wrapper | Java Service Wrapper Standard Edition 64-bit 3.5.50 > wrapper | Copyright (C) 1999-2022 Tanuki Software, Ltd. All Rights > Reserved. > wrapper | http://wrapper.tanukisoftware.com > wrapper | Licensed to ThoughtWorks for GoCD Server > wrapper | > wrapper | Launching a JVM... > jvm 1 | wrapper | --> Wrapper Started as Console > jvm 1 | wrapper | Java Service Wrapper Standard Edition 64-bit 3.5.50 > jvm 1 | wrapper | Copyright (C) 1999-2022 Tanuki Software, Ltd. All > Rights Reserved. > jvm 1 | wrapper | http://wrapper.tanukisoftware.com > jvm 1 | wrapper | Licensed to ThoughtWorks for GoCD Server > jvm 1 | wrapper | > jvm 1 | wrapper | Launching a JVM... > wrapper | Launching a JVM... > jvm 2 | WrapperManager: Initializing... > jvm 2 | [Thu Apr 11 08:10:31 GMT 2024] Starting process: > jvm 2 | [Thu Apr 11 08:10:31 GMT 2024] Working directory : > /go-working-dir > jvm 2 | [Thu Apr 11 08:10:31 GMT 2024] Application arguments: [] > jvm 2 | [Thu Apr 11 08:10:31 GMT 2024] GoCD Version: > 22.3.0-15301 > jvm 2 | [Thu Apr 11 08:10:31 GMT 2024] Java Version: 17.0.5 > jvm 2 | [Thu Apr 11 08:10:31 GMT 2024] Operating System: > Linux(6.1.82-99.168.amzn2023.x86_64) > jvm 2 | Could not find file `config/logback.xml'. Attempting to load > from classpath. > jvm 2 | Using classpath resource > `jar:onejar:lib/server-launcher-22.3.0-15301-main.jar!/config/logback.xml'. > jvm 2 | 2024-04-11 08:10:33,278 INFO [WrapperJarAppMain] > Jetty9Server:193 - Configuring Jetty using /go-working-dir/config/jetty.xml > jvm 2 | 2024-04-11 08:10:33,356 WARN [WrapperJarAppMain] Server:357 - > ErrorPageMapper not supported for Server level Error Handling > jvm 2 | 2024-04-11 08:10:33,436 WARN [WrapperJarAppMain] > AbstractHandler:96 - No Server set for ResourceHandler@67d4b2e7{STOPPED} > jvm 2 | 2024-04-11 08:10:39,298 WARN [WrapperJarAppMain] > ConnectionManager:117 - The file config/db.properties specified by > `go.db.config` does not exist. > jvm 2 | 2024-04-11 08:10:40,046 INFO [WrapperJarAppMain] > DatabaseMigrator:40 - Upgrading database, this might take a while depending > on the size of the database. > jvm 2 | > ************************************************************************ > jvm 2 | 2024-04-11 08:10:40,047 INFO [WrapperJarAppMain] > DatabaseMigrator:49 - > ************************************************************************ > jvm 2 | WARNING: Shutting down your server at this point will lead to a > database corruption. Please wait until the database upgrade completes. > jvm 2 | 2024-04-11 08:10:40,048 INFO [WrapperJarAppMain] > DatabaseMigrator:49 - WARNING: Shutting down your server at this point will > lead to a database corruption. Please wait until the database upgrade > completes. > jvm 2 | > ************************************************************************ > jvm 2 | 2024-04-11 08:10:40,053 INFO [WrapperJarAppMain] > DatabaseMigrator:49 - > ************************************************************************ > jvm 2 | Apr 11, 2024 8:10:40 AM liquibase.database > jvm 2 | INFO: Set default schema name to PUBLIC > jvm 2 | Apr 11, 2024 8:10:40 AM liquibase.lockservice > jvm 2 | INFO: Successfully acquired change log lock > jvm 2 | Apr 11, 2024 8:10:40 AM liquibase.servicelocator > jvm 2 | INFO: Cannot load service: liquibase.parser.ChangeLogParser: > liquibase.parser.core.json.JsonChangeLogParser Unable to get public no-arg > constructor > jvm 2 | Apr 11, 2024 8:10:40 AM liquibase.servicelocator > jvm 2 | INFO: Cannot load service: liquibase.parser.ChangeLogParser: > liquibase.parser.core.yaml.YamlChangeLogParser Unable to get public no-arg > constructor > jvm 2 | Apr 11, 2024 8:10:40 AM liquibase.servicelocator > jvm 2 | INFO: Cannot load service: liquibase.change.Change: > liquibase.change.core.LoadDataChange Unable to get public no-arg constructor > jvm 2 | Apr 11, 2024 8:10:40 AM liquibase.servicelocator > [ec2-user@ip-10-154-168-49 ~]$ > [ec2-user@ip-10-154-168-49 ~]$ > [ec2-user@ip-10-154-168-49 ~]$ > [ec2-user@ip-10-154-168-49 ~]$ > [ec2-user@ip-10-154-168-49 ~]$ docker exec gocd-server cat > /go-working-dir/logs/go-server.log > 2024-04-11 08:10:33,278 INFO [WrapperJarAppMain] Jetty9Server:193 - > Configuring Jetty using /go-working-dir/config/jetty.xml > 2024-04-11 08:10:33,356 WARN [WrapperJarAppMain] Server:357 - > ErrorPageMapper not supported for Server level Error Handling > 2024-04-11 08:10:33,436 WARN [WrapperJarAppMain] AbstractHandler:96 - No > Server set for ResourceHandler@67d4b2e7{STOPPED} > 2024-04-11 08:10:39,298 WARN [WrapperJarAppMain] ConnectionManager:117 - > The file config/db.properties specified by `go.db.config` does not exist. > 2024-04-11 08:10:40,046 INFO [WrapperJarAppMain] DatabaseMigrator:40 - > Upgrading database, this might take a while depending on the size of the > database. > 2024-04-11 08:10:40,047 INFO [WrapperJarAppMain] DatabaseMigrator:49 - > ************************************************************************ > 2024-04-11 08:10:40,048 INFO [WrapperJarAppMain] DatabaseMigrator:49 - > WARNING: Shutting down your server at this point will lead to a database > corruption. Please wait until the database upgrade completes. > 2024-04-11 08:10:40,053 INFO [WrapperJarAppMain] DatabaseMigrator:49 - > ************************************************************************ > 2024-04-11 08:10:42,164 INFO [WrapperJarAppMain] DatabaseMigrator:57 - > Database upgrade completed successfully. > 2024-04-11 08:10:42,170 INFO [WrapperJarAppMain] DataMigrationRunner:34 - > Running data migrations... > 2024-04-11 08:10:42,371 INFO [WrapperJarAppMain] DataMigrationRunner:49 - > Data migration took 24 ms > 2024-04-11 08:10:42,383 INFO [WrapperJarAppMain] DataMigrationRunner:49 - > Data migration took 1 ms > 2024-04-11 08:10:42,388 INFO [WrapperJarAppMain] DataMigrationRunner:39 - > Data migrations completed. > 2024-04-11 08:10:43,745 WARN [WrapperJarAppMain] ConfigurationFactory:136 > - No configuration found. Configuring ehcache from ehcache-failsafe.xml > found in the classpath: > jar:file:/go-working-dir/work/jetty-0_0_0_0-8153-cruise_war-_go-any-/webapp/WEB-INF/lib/ehcache-2.10.9.2.jar!/ehcache-failsafe.xml > 2024-04-11 08:10:43,865 WARN [WrapperJarAppMain] EhCacheProvider:93 - > Could not find configuration [com.thoughtworks.go.domain.AccessToken]; > using defaults. > 2024-04-11 08:10:43,935 WARN [WrapperJarAppMain] EhCacheProvider:93 - > Could not find configuration > [com.thoughtworks.go.domain.NotificationFilter]; using defaults. > 2024-04-11 08:10:44,071 WARN [WrapperJarAppMain] EhCacheProvider:93 - > Could not find configuration [com.thoughtworks.go.domain.User]; using > defaults. > 2024-04-11 08:10:44,124 WARN [WrapperJarAppMain] EhCacheProvider:93 - > Could not find configuration [com.thoughtworks.go.domain.Plugin]; using > defaults. > 2024-04-11 08:10:44,159 WARN [WrapperJarAppMain] EhCacheProvider:93 - > Could not find configuration > [com.thoughtworks.go.domain.EnvironmentVariable]; using defaults. > 2024-04-11 08:10:44,218 WARN [WrapperJarAppMain] EhCacheProvider:93 - > Could not find configuration > [com.thoughtworks.go.domain.User.notificationFilters]; using defaults. > 2024-04-11 08:10:44,316 WARN [WrapperJarAppMain] EhCacheProvider:93 - > Could not find configuration [org.hibernate.cache.UpdateTimestampsCache]; > using defaults. > 2024-04-11 08:10:44,328 WARN [WrapperJarAppMain] EhCacheProvider:93 - > Could not find configuration [org.hibernate.cache.StandardQueryCache]; > using defaults. > 2024-04-11 08:10:47,228 WARN [WrapperJarAppMain] BrokerService:2116 - > Temporary Store limit is 51200 mb (current store usage is 0 mb). The data > directory: /go-working-dir only has 5097 mb of usable space. - resetting to > maximum available disk space: 5097 mb > 2024-04-11 08:10:47,478 INFO [WrapperJarAppMain] ConnectionManager:98 - > Done loading query extensions, found > com.thoughtworks.go.server.database.h2.H2QueryExtensions@7b3c0f16 > 2024-04-11 08:10:48,190 INFO [WrapperJarAppMain] AESCipherProvider:61 - > AES cipher not found. Creating a new cipher file > 2024-04-11 08:10:55,360 INFO [WrapperJarAppMain] GoConfigMigration:94 - > Upgrading config file from version 139 to version 139 > 2024-04-11 08:10:55,419 INFO [WrapperJarAppMain] GoConfigMigration:102 - > Finished upgrading config file > 2024-04-11 08:10:55,424 INFO [WrapperJarAppMain] GoConfigMigrator:106 - > [Config Save] Starting Config Save post upgrade using > FullConfigSaveNormalFlow > 2024-04-11 08:10:55,518 INFO [Thread-79] > DefaultPluginJarChangeListener:67 - Plugin load starting: > /go-working-dir/plugins/bundled/gocd-ldap-authentication-plugin.jar > 2024-04-11 08:10:56,057 INFO [WrapperJarAppMain] CachedGoConfig:223 - > About to notify config listeners > 2024-04-11 08:10:56,059 INFO [WrapperJarAppMain] CachedGoConfig:231 - > Finished notifying all listeners > 2024-04-11 08:10:56,083 WARN [Thread-79] PluginSettingsMetadataLoader:63 > - Failed to fetch plugin settings metadata for plugin > cd.go.authentication.ldap. Maybe the plugin does not implement plugin > settings and view? > 2024-04-11 08:10:56,088 WARN [Thread-79] PluginSettingsMetadataLoader:64 > - Plugin: cd.go.authentication.ldap - Metadata load info: > [{extension='authorization', configuration='null', view='null', error='The > plugin sent a response that could not be understood by Go. Plugin returned > with code '500' and the following response: 'This is an invalid request > type :go.plugin-settings.get-configuration''}] > 2024-04-11 08:10:56,089 WARN [Thread-79] PluginSettingsMetadataLoader:65 > - Not all plugins are required to implement the request above. This error > may be safe to ignore. > 2024-04-11 08:10:56,090 INFO [Thread-79] > DefaultPluginJarChangeListener:74 - Plugin load finished: > /go-working-dir/plugins/bundled/gocd-ldap-authentication-plugin.jar > 2024-04-11 08:10:56,133 INFO [Thread-79] > DefaultPluginJarChangeListener:67 - Plugin load starting: > /go-working-dir/plugins/bundled/gocd-file-based-secrets-plugin.jar > 2024-04-11 08:10:56,314 ERROR [Thread-79] DefaultPluginManager:136 - This > is an invalid request type :go.plugin-settings.get-configuration > 2024-04-11 08:10:56,314 WARN [Thread-79] PluginSettingsMetadataLoader:63 > - Failed to fetch plugin settings metadata for plugin > cd.go.secrets.file-based-plugin. Maybe the plugin does not implement plugin > settings and view? > 2024-04-11 08:10:56,314 WARN [Thread-79] PluginSettingsMetadataLoader:64 > - Plugin: cd.go.secrets.file-based-plugin - Metadata load info: > [{extension='secrets', configuration='null', view='null', > error='com.thoughtworks.go.plugin.api.exceptions.UnhandledRequestTypeException: > This is an invalid request type :go.plugin-settings.get-configuration'}] > 2024-04-11 08:10:56,314 WARN [Thread-79] PluginSettingsMetadataLoader:65 > - Not all plugins are required to implement the request above. This error > may be safe to ignore. > 2024-04-11 08:10:56,441 INFO [WrapperJarAppMain] > BuildAssignmentService:250 - [Configuration Changed] Removing jobs for > pipelines that no longer exist in configuration. > 2024-04-11 08:10:56,442 INFO [Thread-79] > DefaultPluginJarChangeListener:74 - Plugin load finished: > /go-working-dir/plugins/bundled/gocd-file-based-secrets-plugin.jar > 2024-04-11 08:10:56,478 INFO [Thread-79] > DefaultPluginJarChangeListener:67 - Plugin load starting: > /go-working-dir/plugins/bundled/gocd-yum-repository-poller-plugin.jar > 2024-04-11 08:10:56,479 INFO [WrapperJarAppMain] > InvalidateAuthenticationOnSecurityConfigChangeFilter:78 - [Configuration > Changed] Security Configuration is changed. Updating the last changed time. > 2024-04-11 08:10:56,498 INFO [WrapperJarAppMain] PipelineRepository:78 - > Start updating pipeline timeline > 2024-04-11 08:10:56,879 WARN [Thread-79] PluginSettingsMetadataLoader:63 > - Failed to fetch plugin settings metadata for plugin yum. Maybe the plugin > does not implement plugin settings and view? > 2024-04-11 08:10:56,879 WARN [Thread-79] PluginSettingsMetadataLoader:64 > - Plugin: yum - Metadata load info: [{extension='package-repository', > configuration='null', view='null', error='The plugin sent a response that > could not be understood by Go. Plugin returned with code '400' and the > following response: 'Invalid request name > go.plugin-settings.get-configuration''}] > 2024-04-11 08:10:56,879 WARN [Thread-79] PluginSettingsMetadataLoader:65 > - Not all plugins are required to implement the request above. This error > may be safe to ignore. > 2024-04-11 08:10:56,998 INFO [WrapperJarAppMain] PipelineRepository:84 - > Pipeline timeline updated > 2024-04-11 08:10:56,999 INFO [WrapperJarAppMain] PipelineSqlMapDao:132 - > Loading active pipelines into memory. > 2024-04-11 08:10:56,999 INFO [WrapperJarAppMain] PipelineSqlMapDao:383 - > Retriving Active Pipelines from Database... > 2024-04-11 08:10:57,012 ERROR [Thread-79] PluginInfoBuilder:54 - Failed to > fetch Plugin Settings metadata for plugin yum. Maybe the plugin does not > implement plugin settings and view? > 2024-04-11 08:10:57,018 INFO [Thread-79] > DefaultPluginJarChangeListener:74 - Plugin load finished: > /go-working-dir/plugins/bundled/gocd-yum-repository-poller-plugin.jar > 2024-04-11 08:10:57,057 INFO [Thread-79] > DefaultPluginJarChangeListener:67 - Plugin load starting: > /go-working-dir/plugins/bundled/gocd-json-config-plugin.jar > 2024-04-11 08:10:57,303 INFO [Thread-82] PipelineSqlMapDao:419 - Loading > pipeline history to cache...Started > 2024-04-11 08:10:57,305 INFO [Thread-82] PipelineSqlMapDao:423 - Loading > pipeline history to cache...Done > 2024-04-11 08:10:57,310 WARN [WrapperJarAppMain] PipelineSqlMapDao:450 - > No pipelines found in Config, Skipping material revision caching. > 2024-04-11 08:10:57,310 INFO [Thread-81] PipelineSqlMapDao:413 - Loading > Active Pipelines to cache...Started > 2024-04-11 08:10:57,311 INFO [Thread-81] PipelineSqlMapDao:416 - Loading > Active Pipelines to cache...Done > 2024-04-11 08:10:57,311 INFO [WrapperJarAppMain] PipelineSqlMapDao:134 - > Done loading active pipelines into memory. > 2024-04-11 08:10:58,904 INFO [Thread-79] ConfigRepositoryInitializer:108 > - [Config Repository Initializer] Start initializing the config > repositories for plugin 'json.config.plugin' > 2024-04-11 08:10:58,909 INFO [Thread-79] ConfigRepositoryInitializer:112 > - [Config Repository Initializer] Done initializing the config repositories > for plugin 'json.config.plugin' > 2024-04-11 08:10:58,956 INFO [Thread-79] > DefaultPluginJarChangeListener:74 - Plugin load finished: > /go-working-dir/plugins/bundled/gocd-json-config-plugin.jar > 2024-04-11 08:10:59,014 INFO [Thread-79] > DefaultPluginJarChangeListener:67 - Plugin load starting: > /go-working-dir/plugins/bundled/gocd-filebased-authentication-plugin.jar > 2024-04-11 08:10:59,226 INFO [WrapperJarAppMain] > ConsoleActivityMonitor:78 - Found '0' building jobs. Added them with > '2024-04-11T08:10:57.311Z' as the last heard time > 2024-04-11 08:10:59,245 INFO [WrapperJarAppMain] > ConsoleActivityMonitor:79 - Found '0' scheduled jobs. Added them with > '2024-04-11T08:10:57.311Z' as the last heard time > 2024-04-11 08:10:59,261 INFO [WrapperJarAppMain] RailsAssetsService:68 - > Found rails assets manifest file named > .sprockets-manifest-33237067f8bbd7d7d3ed31a1f9d514b9.json > 2024-04-11 08:10:59,286 INFO [WrapperJarAppMain] RailsAssetsService:72 - > Successfully read rails assets manifest file located at > /go-working-dir/work/jetty-0_0_0_0-8153-cruise_war-_go-any-/webapp/WEB-INF/rails/public/assets/.sprockets-manifest-33237067f8bbd7d7d3ed31a1f9d514b9.json > 2024-04-11 08:10:59,316 WARN [Thread-79] PluginSettingsMetadataLoader:63 > - Failed to fetch plugin settings metadata for plugin > cd.go.authentication.passwordfile. Maybe the plugin does not implement > plugin settings and view? > 2024-04-11 08:10:59,317 WARN [Thread-79] PluginSettingsMetadataLoader:64 > - Plugin: cd.go.authentication.passwordfile - Metadata load info: > [{extension='authorization', configuration='null', view='null', error='The > plugin sent a response that could not be understood by Go. Plugin returned > with code '500' and the following response: 'Request > go.plugin-settings.get-configuration is not supported by plugin.''}] > 2024-04-11 08:10:59,317 WARN [Thread-79] PluginSettingsMetadataLoader:65 > - Not all plugins are required to implement the request above. This error > may be safe to ignore. > 2024-04-11 08:10:59,318 INFO [Thread-79] > DefaultPluginJarChangeListener:74 - Plugin load finished: > /go-working-dir/plugins/bundled/gocd-filebased-authentication-plugin.jar > 2024-04-11 08:10:59,359 INFO [Thread-79] > DefaultPluginJarChangeListener:67 - Plugin load starting: > /go-working-dir/plugins/bundled/gocd-yaml-config-plugin.jar > 2024-04-11 08:11:01,493 INFO [Thread-79] ConfigRepositoryInitializer:108 > - [Config Repository Initializer] Start initializing the config > repositories for plugin 'yaml.config.plugin' > 2024-04-11 08:11:01,499 INFO [Thread-79] ConfigRepositoryInitializer:112 > - [Config Repository Initializer] Done initializing the config repositories > for plugin 'yaml.config.plugin' > 2024-04-11 08:11:01,538 INFO [Thread-79] > DefaultPluginJarChangeListener:74 - Plugin load finished: > /go-working-dir/plugins/bundled/gocd-yaml-config-plugin.jar > 2024-04-11 08:11:01,579 INFO [Thread-79] > DefaultPluginJarChangeListener:67 - Plugin load starting: > /go-working-dir/plugins/external/gocd-slack-notifier-1.4.0.jar > 2024-04-11 08:11:01,710 ERROR [Thread-79] PluginLoader:121 - Failed to > load plugin: plugins_work/gocd-slack-notifier-1.4.0.jar. Plugin is invalid. > Reasons [Class [GoNotificationPlugin] is annotated with @Extension but > cannot be constructed. Reason: java.lang.RuntimeException: Unable to find > go_notify.conf. Please make sure you've set it up right.., No extensions > found in this plugin. Please check for @Extension annotations] > 2024-04-11 08:11:01,723 INFO [Thread-79] > DefaultPluginJarChangeListener:74 - Plugin load finished: > /go-working-dir/plugins/external/gocd-slack-notifier-1.4.0.jar > 2024-04-11 08:11:01,763 INFO [Thread-79] > DefaultPluginJarChangeListener:67 - Plugin load starting: > /go-working-dir/plugins/external/gocd-ec2-elastic-agent-plugin-2.2.2.jar > 2024-04-11 08:11:02,693 INFO [Thread-79] GoConfigDao:108 - Config update > request by anonymous is in queue - > com.thoughtworks.go.config.update.ReplaceElasticAgentInformationCommand@424dd8d0 > 2024-04-11 08:11:02,705 INFO [Thread-79] GoConfigDao:111 - Config update > request > com.thoughtworks.go.config.update.ReplaceElasticAgentInformationCommand@424dd8d0 > by anonymous is being processed > 2024-04-11 08:11:02,832 INFO [Thread-79] MagicalGoConfigXmlWriter:85 - > [Serializing Config] Generating config partial. > 2024-04-11 08:11:02,908 INFO [Thread-79] GoFileConfigDataSource:587 - > [Configuration Changed] Saving updated configuration. > 2024-04-11 08:11:02,936 INFO [Thread-79] CachedGoConfig:223 - About to > notify config listeners > 2024-04-11 08:11:02,941 INFO [Thread-79] BuildAssignmentService:250 - > [Configuration Changed] Removing jobs for pipelines that no longer exist in > configuration. > 2024-04-11 08:11:02,944 INFO [Thread-79] CachedGoConfig:231 - Finished > notifying all listeners > 2024-04-11 08:11:02,945 INFO [Thread-79] GoConfigDao:126 - Config update > request by anonymous is completed > 2024-04-11 08:11:02,985 WARN [Thread-79] PluginSettingsMetadataLoader:63 > - Failed to fetch plugin settings metadata for plugin > com.continuumsecurity.elasticagent.ec2. Maybe the plugin does not implement > plugin settings and view? > 2024-04-11 08:11:02,986 WARN [Thread-79] PluginSettingsMetadataLoader:64 > - Plugin: com.continuumsecurity.elasticagent.ec2 - Metadata load info: > [{extension='elastic-agent', configuration='null', view='null', > error='java.lang.NullPointerException: Cannot invoke > "com.continuumsecurity.elasticagent.ec2.Request.ordinal()" because the > return value of > "com.continuumsecurity.elasticagent.ec2.Request.fromString(String)" is > null'}] > 2024-04-11 08:11:02,986 WARN [Thread-79] PluginSettingsMetadataLoader:65 > - Not all plugins are required to implement the request above. This error > may be safe to ignore. > 2024-04-11 08:11:03,022 INFO [Thread-79] > DefaultPluginJarChangeListener:74 - Plugin load finished: > /go-working-dir/plugins/external/gocd-ec2-elastic-agent-plugin-2.2.2.jar > 2024-04-11 08:11:03,057 INFO [Thread-79] > DefaultPluginJarChangeListener:67 - Plugin load starting: > /go-working-dir/plugins/external/gocd-groovy-dsl-config-plugin-2.0.0-241.jar > 2024-04-11 08:11:03,972 INFO [Thread-79] ConfigRepositoryInitializer:108 > - [Config Repository Initializer] Start initializing the config > repositories for plugin 'cd.go.contrib.plugins.configrepo.groovy' > 2024-04-11 08:11:03,977 INFO [Thread-79] ConfigRepositoryInitializer:112 > - [Config Repository Initializer] Done initializing the config repositories > for plugin 'cd.go.contrib.plugins.configrepo.groovy' > 2024-04-11 08:11:04,109 ERROR [Thread-79] PluginInfoBuilder:54 - Failed to > fetch Plugin Settings metadata for plugin > cd.go.contrib.plugins.configrepo.groovy. Maybe the plugin does not > implement plugin settings and view? > 2024-04-11 08:11:04,119 INFO [Thread-79] > DefaultPluginJarChangeListener:74 - Plugin load finished: > /go-working-dir/plugins/external/gocd-groovy-dsl-config-plugin-2.0.0-241.jar > 2024-04-11 08:11:21,924 WARN [WrapperJarAppMain] DeprecationWarning:43 - > Using @Deprecated Class com.thoughtworks.go.server.web.DefaultHeadersFilter > 2024-04-11 08:14:11,360 WARN [qtp1067095815-35] > FeatureToggleRepository:69 - Toggles file, > /go-working-dir/config/go.feature.toggles does not exist. Saying there are > no toggles. > 2024-04-11 08:15:57,695 INFO [qtp1067095815-35] > ServerVersionInfoManager:71 - [Go Update Check] Starting update check at: > Thu Apr 11 08:15:57 GMT 2024 > 2024-04-11 08:15:58,220 INFO [qtp1067095815-27] > ServerVersionInfoManager:86 - [Go Update Check] Update check done at: Thu > Apr 11 08:15:58 GMT 2024, latest available version: 23.5.0-18179``` > > Many thanks > Satya > > On Thu, Apr 11, 2024 at 2:48 AM Chad Wilson <ch...@thoughtworks.com> > wrote: > >> Hi Satya >> >> When running a standard GoCD docker server image, you should mount a >> writable volume to the entire */godata* directory which includes the >> config as noted at https://hub.docker.com/r/gocd/gocd-server, but not >> directly to an individual config file. >> >> If you do not, even if you get the config working properly, you'll lose >> other things such as artifacts at startup which you generally do not want. >> >> You are getting this error likely because the server ID inside the go >> config does not match what is inside the configuration history, which is >> normally at /godata/db/config.git (The GoCD Docker entrypoint script >> creates the symlinks into /go-working-dir within the docker-entrypoint.sh >> <https://github.com/gocd/docker-gocd-server/blob/master/docker-entrypoint.sh>), >> so these things need to be mounted together and consistent. >> >> I don't think your mounts to /var/lib/go-server or /etc/go will be doing >> anything, as these folders are not used for *off-the-shelf* docker >> server images, since the server is not installed as an rpm/deb package when >> creating a container. You can/should likely remove these. >> >> In a general sense, all you should need to do is mount a location in EFS >> to /godata, similar to what the Helm chart does: >> https://github.com/gocd/helm-chart/blob/c734ad2263b1d2885229d00267c428e88f868504/gocd/templates/gocd-server-deployment.yaml#L122-L124 >> That will put all logs, artifacts, databases and config on your volume. >> Some folks decide to also mount /home/go if they want to use external >> storage for things like Git SSH keys or other shell defaults affecting the >> *go* user, but that's optional. >> >> -Chad >> >> On Thu, Apr 11, 2024 at 5:34 AM Satya Elipe <satya.el...@gmail.com> >> wrote: >> >>> >>> Dear GoCD Support Team, >>> >>> >>> I hope this message finds you well. I am currently encountering an issue >>> with setting up GoCD on Docker and specifically with configuring the >>> cruise-config.xml file to be recognized correctly in my setup. Despite >>> following the official documentation and trying various configurations, >>> I've hit a stumbling block that I hope you can help me with. >>> >>> >>> *Issue Summary:* >>> >>> I have a GoCD server running in a Docker container, and I'm attempting >>> to ensure that the cruise-config.xml file is correctly picked up from a >>> specified location. My goal is to mount this configuration file from an >>> external volume into the GoCD server container so that the server uses this >>> configuration instead of the default one. >>> >>> *Configuration Details:* >>> >>> - *GoCD Server Image Version:* gocd/gocd-server:v22.3.0 >>> - *Docker Version:* Docker version 25.0.3, build 4debf41 >>> - *Host Operating System:* Amazon Linux 2023 >>> >>> *Docker Run Command:* >>> >>> docker run -d \ >>> >>> --name gocd-server \ >>> >>> -p 8153:8153 \ >>> >>> -p 8154:8154 \ >>> >>> -v /mnt/gocd_efs:/var/lib/go-server \ >>> >>> -v >>> /mnt/gocd_efs/etc_go/cruise-config.xml:/go-working-dir/config/cruise-config.xml >>> \ >>> >>> -v /mnt/gocd_efs/etc_go:/etc/go \ >>> >>> custom-gocd-server >>> >>> >>> >>> *Issue Encountered:* >>> >>> When including the -v >>> /mnt/gocd_efs/etc_go/cruise-config.xml:/go-working-dir/config/cruise-config.xml >>> volume mount, the GoCD server fails to start correctly, with logs >>> indicating an inability to create or copy necessary files within >>> /go-working-dir/config. >>> >>> >>> Without this mount, the server starts but does not load the desired >>> configuration, defaulting instead to the initial configuration without any >>> of our pipeline configurations. >>> >>> >>> Log snippet: >>> ``` >>> jvm 1 | 2024-04-10 20:55:17,429 ERROR [Thread-79] >>> GoFileConfigDataSource:436 - Unable to load config file: >>> /go-working-dir/config/cruise-config.xml The value of 'serverId' uniquely >>> identifies a Go server instance. This field cannot be modified. >>> >>> ``` >>> >>> >>> >>> *Questions:* >>> >>> - Is there a recommended approach to ensure cruise-config.xml is >>> correctly recognized and used by the GoCD server when running in Docker? >>> - Could this issue be related to how volumes are mounted or >>> permissions within the container? >>> >>> >>> Any assistance or insights you could provide on this matter would be >>> greatly appreciated. I am happy to provide any further information or logs >>> as needed. >>> >>> Thank you for your time and support. >>> >>> >>> >>> Best regards, >>> >>> Satya >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "go-cd" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to go-cd+unsubscr...@googlegroups.com. >>> To view this discussion on the web visit >>> https://groups.google.com/d/msgid/go-cd/CADKEDRrF7KRFP9jNsg631STyokXS1Njqutdshd0ZKdwHMRTy6g%40mail.gmail.com >>> <https://groups.google.com/d/msgid/go-cd/CADKEDRrF7KRFP9jNsg631STyokXS1Njqutdshd0ZKdwHMRTy6g%40mail.gmail.com?utm_medium=email&utm_source=footer> >>> . >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "go-cd" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to go-cd+unsubscr...@googlegroups.com. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/go-cd/CAA1RwH-%3DFtT%3DDoPvoCekei%2BncFGgC2CSxu7DS7QgZWQ_QH3%3DwQ%40mail.gmail.com >> <https://groups.google.com/d/msgid/go-cd/CAA1RwH-%3DFtT%3DDoPvoCekei%2BncFGgC2CSxu7DS7QgZWQ_QH3%3DwQ%40mail.gmail.com?utm_medium=email&utm_source=footer> >> . >> > -- You received this message because you are subscribed to the Google Groups "go-cd" group. To unsubscribe from this group and stop receiving emails from it, send an email to go-cd+unsubscr...@googlegroups.com. To view this discussion on the web visit https://groups.google.com/d/msgid/go-cd/CADKEDRoA4-tYUgRbD7ob2WgGC1M4jNQWkJFhezSMn_CtV%3DhS_w%40mail.gmail.com.