As a GoCD administrator, you can auto approve remote agents by using a shared key between the GoCD Agent and GoCD Server.
- Add an attribute named "agentAutoRegisterKey", for e.g., agentAutoRegisterKey="388b633a88de126531afa41eff9aa69e", in the server configuration fragment, in case it is not present.
"1.0" encoding="utf-8" xml version=<cruise xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="cruise-config.xsd" schemaVersion="75"> <server agentAutoRegisterKey="388b633a88de126531afa41eff9aa69e"> ... </cruise>
On the remote GoCD Agent machine, create a file named
This file supports the following properties
||yes||The value of the
||no||A comma separated list of environments that this agent should be associated with.|
||no||This MUST not be set by agents that register as elastic-agents. A comma separated list of resources that this agent should be tagged with.|
||no||The name of the agent when it is registered with the server. (Version 15.2.0 onwards)|
||no||This MUST be set by agents that register as elastic-agents. This may contain an identifier of the agent, that the plugin can identify. Can be something like a docker container ID, or AWS instance ID. (Version 16.12.0 onwards)|
||no||This MUST be set by agents that to register as elastic-agents. This should contain the plugin id of elastic-agent plugin that spins up the agent. (Version 16.12.0 onwards)|
agent.auto.register.key=388b633a88de126531afa41eff9aa69e agent.auto.register.resources=ant,java agent.auto.register.environments=QA,Performance agent.auto.register.hostname=Agent01 # if you're using elastic agents, these would be needed as well agent.auto.register.elasticAgent.agentId=i-123456 agent.auto.register.elasticAgent.pluginId=com.example.aws
- Now, bringing up the remote agent should automatically register with the GoCD Server without the administrator having to 'Enable' the newly added agent and configure its resources and assign it to environments.