Marshall-
You would need the client id, secret and deployment key to recover the endpoint (technically it is 'adding a new node to the endpoint' but we'll get to that). The client id and secret allow the GCS services on your endpoint to communicate with other Globus services as needed (like Globus Transfer) and the deployment key allows a node to pull down the latest, encrypted configuration for your endpoint (in your case, the configuration with the domain, endpoint id, gateway configuration).
`globus-connect-server endpoint setup` effectively creates all of the resources in the other Globus services; there really are no changes to the local node. So while you lost your node, the 'endpoint' still exists as defined in Globus Transfer (and other Globus services).
If you had the deployment-key, the correct action here would be `globus-connect-server node setup ...` to add this new node to the existing endpoint. `node setup` enables all of the GCS services on the node (ie gridftp) that everyone has come to know and expect. If you had the deployment key, you'd be up and running.
Unfortunately, there is no recovery from losing the deployment key. This is by design. The deployment key is what encrypts all of the endpoint's confidential configuration so that it is only ever visible to the node. If we (Globus) were able to recover the deployment key, that would suggest that we also have implicit access to the configuration.
The error you received "GraphQLError: (GraphQLError(...), 'Object WILDCARD_DOMAIN already exists.'" is immaterial at this point but for reference, that error occurred because trying to store a new encrypted configuration where one already exists. If you had access to the deployment key, the command would have succeeded but updating the existing configuration. We have an internal issue to improve the error message you received, in order to improve it and make the next steps more obvious.
What you need to do now is `globus-connect-server endpoint delete ...`. This will delete the endpoint definition throughout the Globus platform. It will ask you if you still have access to the deployment key or if you want to continue. Choose the option to continue with the deletion of the endpoint. Once that is complete, you are free to delete the client registration at
https://auth.test.globuscs.info/developers.
At this point, you'll want to repeat the installation and configuration steps for a new endpoint, starting with the step 'globus-connect-server endpoint create ...'. You are free to reuse the same displayname and other configuration you used for the prior endpoint. In the end, you'll end up with a different endpoint id, but since the endpoint was non functional, this shouldn't be an issue.
Finally, containers are something we are looking into. And I don't mean that passively; we are literally planning that now. The process has just begun though and since we want to release something product-worthy and generally applicable, it may be several weeks before release. Feel free to contact me directly if you are interested, I'd be interested in any additional use cases.
Also, the code at
https://github.com/globus/gcsv5_installer is mine. It was written for a project and may now be a little out of date (iirc it is based on GCSv5.2) but it should serve as a good reference if you use Ansible. We also plan support for configuration management tools like Ansible, but that priority is more 'on the roadmap' than the immediate work we are doing with containers. Again, feel free to contact me directly if you are interested, although support on that repo is fairly limited beyond guidance at this time.
Jason