Operations grimoire/Dwellers to DevCentral
This document explains how to communicate with DevCentral from the Docker host.
If you're interested to communicate between DevCentral and a Docker container, see Git operations in production containers
See https://devcentral.nasqueron.org/T958 for discussion about DNS.
arc is a wrapper to run
To use it, create a
~/.arc folder with:
arcrcfile for your arc configuration
gitconfigfile for your Git configuration
sshfolder with a dedicated key for Dwellers to Phabricator instances (
mkdir -p ~/.arc/ssh && ssh-keygen -t ed25519 ~/.arc/ssh/id_ed25519)
. ├── arcrc ├── gitconfig └── ssh ├── id_ed25519 ├── id_ed25519.pub └── known_hosts
That folder content will be passed as volumes to the container. In the example, known_hosts has been added by ssh client inside the container.
Don't use symbolic links (hard links are okay), they wouldn't resolve when passed as a volume to the container.
To check if all works as expected:
arc shell, then, in the container,
Usage Exception: `arc diff` is only supported under git, hg, svn
You issue a command to manipulate a Git repository:
$ arc diff Usage Exception: `arc diff` is only supported under git, hg, svn.
You must be at the root of the repository, not in a subfolder, as Arcanist needs access to the repository too and the wrapper script uses
-v $PWD:/opt/workspace to pass the current folder as workspace.
If you only use Git and not other VCS, a solution could be to copy
$HOME/bin/arc and to replace $PWD by
`git rev-parse --show-toplevel` to pass instead of the current directory the root directory. But beware that would create inconsistent behavior like
arc lint quux/foo.py when you're already in the quux folder.