👹 Files to prepare to run dahak workflows on a yeti (AWS beefy node).
Charles Reid 04b44a3e80
Merge pull request #13 from fp9695253/master
3 months ago
cloud_init clean bootstrapping process 8 months ago
img ACTUALLY adding initial verison of user init scripts, plus sudo init scripts. 1 year ago
tasks_sudo Update make_user.sh 3 months ago
tasks_user add the virtualenv install script 4 months ago
.aliases DONT PUSH TO MASTER 7 months ago
.bash_profile Update .bash_profile 10 months ago
.bash_prompt include beavo and yeti in bash prompt 4 months ago
.bashrc Init commit of dotfiles 1 year ago
.gitconfig update gitconfig on yeti 4 months ago
.gitignore update on .extra file 1 year ago
.hushlogin Init commit of dotfiles 1 year ago
.inputrc fix control+_ problems 11 months ago
.vimrc Update .vimrc snakemake settings 11 months ago
LICENSE Switch on over to the BSD 3 license. 1 year ago
README.md update instructions: users run tasks_user, not tasks_sudo 8 months ago
bootstrap.sh clean bootstrapping process 8 months ago

README.md

dahak-yeti

dahak-yeti is a repository containing dotfiles and initailization scripts for dahak worker nodes.

dahak is a package for delivering workflows that use open-source tools to identify organisms in complex non-clinical metagenomes.

yeti is a nickname for the beefy AWS nodes that are required to run dahak workflows.

Screen shot after installing

Cloud Deployment

To use dahak-yeti on an AWS node, you can pass along the cloud init script in cloud_init/ to prepare the node for dahak workflows.

This script will:

  • Install packages and run various system admin tasks
  • Create a dahak user
  • Install dotfiles and scripts for dahak user

By Hand Deployment

Installing by hand is a three-step process:

  • Install git
  • Run sudo init script
  • Run user init script

Step 1: Install Git

To install git:

apt-get update && apt-get install -y git

Now you can check out a copy of the repo:

git clone https://github.com/charlesreid1/dahak-yeti.git
cd dahak-yeti/

Step 2: Run Sudo Init Script

To run the sudo init script, which calls several other scripts, run:

# as the sudo user:
$PWD/tasks_sudo/sudo_init.sh

Step 3: Run User Init Script

To run the user init script, run:

# as the regular dahak user, 
$PWD/tasks_user/user_init.sh

# or if you are still sudo,
sudo -H -i -u dahak $PWD/tasks_user/user_init.sh

Using the Dotfiles

The dotfiles are installed for the regular user on the yeti node. These dotfiles make it easy to define an environment, either for all users (by changing the dotfiles in the repo) or for an individual user (using site-specific dotfiles).

The $PATH is set in .bash_profile

The prompt is set in .bash_prompt

The aliases are set in .aliases

To set your own aliases, source your own dotfiles, or otherwise insert steps into the dotfiles initialization process, use the ~/.extras file.

To set your git credentials, add the following to the ~/.extras file:

# Git credentials
# Not in the repository
# This prevents people from using incorrect github credentials
GIT_AUTHOR_NAME="<<< your name here >>>"
GIT_AUTHOR_EMAIL="<<< your email here >>>"

GIT_COMMITTER_NAME="$GIT_AUTHOR_NAME"
GIT_COMMITTER_EMAIL="$GIT_AUTHOR_EMAIL"

git config --global user.name "$GIT_AUTHOR_NAME"
git config --global user.email "$GIT_AUTHOR_EMAIL"

Note that if you are pushing to Github, you should add the private key from your AWS node (which is located at $HOME/.ssh/id_rsa.pub) to your list of authorized public keys in your Github account settings page.