My personal automation daimons :: use at your own risk!
The term YAKSHA, is used to refer to "fairies", "demons" and "spirits" in Sanskrit. This repo is my personal automation daimon for cross-platform *nix dev installation, updates, backups, bash scripts, dockerfiles, playbooks, dotfiles and configuration files.
I turned towards automation in my quest for a standard development environment across multiple machines. Manual customization was time-consuming and error-prone, not to mention, a big time-sink that resulted in discrepancies with machines that worked differently, programs ran differently, broke unexpectedly or worse, dependency-hell.
I used shell scripts to manage the apt-get
install process for many years but these old bash scripts are being (slowly) retired. ATM, I am in the process of porting to use ansible
, an agentless distro-agnostic tool to manage my dev environments. You can find this repo on galaxy-ansible too.
PS: The old shell/ bash scripts work, but are unsupported & unmaintained.
The standard disclaimer applies: Read the License & Disclaimer No warranty and/or guarantee for any particular use, express or implied and YOU USE ALL CONTENTS IN YAKSHA AT YOUR OWN RISK AND LIABILITY!
Installation processes have constantly evolved over the years, so there may be some legacy code that needs pruning or still needs to be ported to ansible. Hence, the constant CRUD sandbox status may break your machine.
Currently, the repository structure is:
- /roles: Splitting ansible playbooks for different tasks requires a roles directory.
- At the outset, your Ubuntu machine should have Ansible and Git intalled.
sudo apt-get update && sudo apt-get install ansible git
You can also use pip
to install ansible but I prefer the apt-get
package. Note that if you have a standalone machine this step is a manual process, else automated for the network installation.
- Now clone this repo and execute the scripts. For SSH, use the URL
[email protected]:svaksha/yaksha.git
via the clone command:
git clone ssh://github.com/svaksha/yaksha.git
Alternatively, Github offers HTTPS (replace the ssh with https in the above command) as transfer protocols or the repo can be downloaded as a [zip-file][https://github.com/svaksha/yaksha/archive/master.zip] (latest 'master' branch).
- Then, to install all the Ubuntu packages, run the ansible playbooks inside the '/ubuntu' folder, viz.
ansible-playbook -b -K ubuntu/ansible-ubuntu.yaml
ansible-playbook -b -K roles/ubuntu/main.yml
- COPYRIGHT© 2005-Now SVAKSHA. This repository is licensed and distributed under the AGPLv3 License and ALL references, citations, copies and forks of this work must retain the Copyright, Licence (LICENSE.md file), this permission notice and attribute credit. Copyrights for code when referenced, and/or attributed to other people, and/or entities, belongs to them as referenced within the repository.
Any suggestions for improvements are welcome via BR's !
List of references and a list of people (repo'S) that have inspired me to learn and improve my daemon programs over time. It is amazing how much one can learn from other peoples code so besides embedding links within the repository I wanted to share this credit list here: