Skip to content

Getting Set Up At TACC

Nate Coraor edited this page Oct 6, 2023 · 25 revisions

Before you begin

For best results (and for it to work at all for Main) you'll need to run from inside TACC. I typically use galaxy04.tacc.utexas.edu as my base of operations.

You'll want to perform these steps as your own TACC user. If you don't have a TACC user or are unable to log in to our TACC hosts, create an account at the TACC Portal and send your TACC username to Nate.

Your TACC user will also need various privileges give Nate your public key and ask nicely for assistance.

First, on your own system, configure SSH agent forwarding by adding the following to your ~/.ssh/config:

Host *.tacc.utexas.edu
    User <your-tacc-username>
    ForwardAgent yes

Now ssh galaxy04.tacc.utexas.edu.

Install Ansible per instructions below (see requirements)

Create virtualenvs like so:

$ /opt/rh/rh-python38/root/usr/bin/python3 -m venv ansible
$ . ./ansible/bin/activate
(ansible)$ pip install --upgrade pip
(ansible)$ pip install ansible

Don't forget to recursively clone the playbook:

$ git clone --recursive https://github.com/galaxyproject/usegalaxy-playbook.git

It's very useful to have pass set up over on galaxy04 so you don't have to use your clipboard to manage the vault password. pass is already installed, so all you need to do is clone the password store to `~/.password-store

$ git clone https://github.com/galaxyproject/password-store.git ~/.password-store

Then set up gpg-agent by adding the following to your .bashrc file:

gpg_agent_info="${HOME}/.gnupg/gpg_agent_info"

start_gpg_agent() {
    eval $(gpg-agent --daemon --write-env-file $gpg_agent_info --log-file ${HOME}/.gnupg/gpg-agent.log)
}

if [ -f $gpg_agent_info ]; then
    . $gpg_agent_info
    export GPG_AGENT_INFO
    [ "$(ps -p $(echo $GPG_AGENT_INFO | awk -F: '{print $2}') -o comm=)" != 'gpg-agent' ] && start_gpg_agent
else
    start_gpg_agent
fi

You also need to import your public and private gpg keys onto the galaxy04. Guide here. You can copy all your GnuPG data with the following command (Replace kxk302 with your user ID):

scp -r ~/.gnupg kxk302@galaxy04.tacc.utexas.edu:~

This allows you to run Ansible like:

$ ansible-playbook ...