👹 Files to prepare to run dahak workflows on a yeti (AWS beefy node).
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
Charles Reid 04b44a3e80
Merge pull request #13 from fp9695253/master
6 years ago
cloud_init clean bootstrapping process 6 years ago
img ACTUALLY adding initial verison of user init scripts, plus sudo init scripts. 7 years ago
tasks_sudo Update make_user.sh 6 years ago
tasks_user add the virtualenv install script 6 years ago
.aliases DONT PUSH TO MASTER 6 years ago
.bash_profile Update .bash_profile 7 years ago
.bash_prompt include beavo and yeti in bash prompt 6 years ago
.bashrc Init commit of dotfiles 7 years ago
.gitconfig update gitconfig on yeti 6 years ago
.gitignore update on .extra file 7 years ago
.hushlogin Init commit of dotfiles 7 years ago
.inputrc fix control+_ problems 7 years ago
.vimrc Update .vimrc snakemake settings 7 years ago
LICENSE Switch on over to the BSD 3 license. 7 years ago
README.md update instructions: users run tasks_user, not tasks_sudo 6 years ago
bootstrap.sh clean bootstrapping process 6 years 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.