github.com/vektra/tachyon@v0.0.0-20150921164542-0da4f3861aef/README.md (about)

     1  ## tachyon
     2  
     3  [![Build Status](https://travis-ci.org/vektra/tachyon.svg?branch=master)](https://travis-ci.org/vektra/tachyon)
     4  
     5  Tachyon is an experimental configuration management tool inspired by ansible implemented in golang.
     6  
     7  #### Ok.. why?
     8  
     9  I find the best way to learn something is to try to implement it.
    10  I'm curious about ansible's model for configuration management and
    11  as a fun weekend project began I this project.
    12  
    13  #### Is this usable?
    14  
    15  If you need to run some yaml that executes commands via shell/command, sure!
    16  Otherwise no. I'll probably continue to play with it, adding more functionality
    17  and fleshing out some ideas I've got.
    18  
    19  #### Oohh what ideas?
    20  
    21  * Exploit golang's single binary module to bootstrap machines and run plays remotely.
    22  * Use golang's concurrency to make management of large scale changes easy.
    23  * Use github.com/evanphx/ssh to do integrated ssh
    24  * Allow creation of modules via templated tasks
    25  
    26  #### Is that a lisp directory I see?
    27  
    28  It is! ansible uses python as it's implementation lang and thus also uses it as
    29  it's runtime eval language. Obviously I can't do that and I don't wish to runtime
    30  eval any golang code. Thus I have opted to embed a simple lisp intepreter
    31  (taken and modified from [https://github.com/janne/go-lisp](https://github.com/janne/go-lisp))
    32  to run code. For instance:
    33  
    34  ```yaml
    35  name: Tell everyone things are great
    36  action: shell echo wooooo!
    37  when: $(== everything "awesome")
    38  ```
    39  
    40  #### What should I do with this?
    41  
    42  Whatever you want. Play around, tell me what you think about it. Send PRs for crazy ass
    43  features!