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/CADKEDRqsXON0uNvZ3-a1EL1sqYMtroePSP5GguD13pzVsFQhnQ%40mail.gmail.com.

Reply via email to