You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Tachyon is an experimental configuration management tool inspired by ansible implemented in golang.
Ok.. why?
I find the best way to learn something is to try to implement it.
I'm curious about ansible's model for configuration management and
as a fun weekend project began I this project.
Is this usable?
If you need to run some yaml that executes commands via shell/command, sure!
Otherwise no. I'll probably continue to play with it, adding more functionality
and fleshing out some ideas I've got.
Oohh what ideas?
Exploit golang's single binary module to bootstrap machines and run plays remotely.
Use golang's concurrency to make management of large scale changes easy.
Use github.com/evanphx/ssh to do integrated ssh
Allow creation of modules via templated tasks
Is that a lisp directory I see?
It is! ansible uses python as it's implementation lang and thus also uses it as
it's runtime eval language. Obviously I can't do that and I don't wish to runtime
eval any golang code. Thus I have opted to embed a simple lisp intepreter
(taken and modified from https://github.com/janne/go-lisp)
to run code. For instance:
name: Tell everyone things are greataction: shell echo wooooo!when: $(== everything "awesome")
What should I do with this?
Whatever you want. Play around, tell me what you think about it. Send PRs for crazy ass
features!
About
An experimental configuration management system inspired by ansible