Operations grimoire/Dwellers to DevCentral
This document is mainly historical, as DevCentral has been migrated to Equatower. As such, it can now be used from Dwellers through the regular devcentral.nasqueron.org 5022 port. These notes would apply if we would be interested to use it from Equatower, perhaps for CI/CD purpose.
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.