Hacker News new | ask | show | jobs
by redat00 40 days ago
An alternative to Ansible and Puppet, written in Golang.

It's called Peekl, and the idea behind it was to merge the two things I loved about both Ansible, and Puppet : - The agent/server model of Puppet; - The ease of writing Ansible code.

It also make sure to solve the problem that both Ansible and Puppet have in my sense : - Puppet is a slow, decades old application. It's written in Ruby and run inside of a JVM for the server. Applying a catalog can be very long on complex configuration setup. - Ansible on the other side works well, but the absence of an agent makes it hard to deploy stuff at scale : You being spending more time running your playbooks, than actually doing stuff.

So if you want to take a look at this alternative, head to the Github repository. Feel free to break it, open issues, and pull requests !

https://github.com/peeklapp/peekl

1 comments

I like your idea. I didn't have the time to fully build mine out but I also was hankering for something with better readability and implementation than SaltStack (server/client similar to Puppet).

https://github.com/vangourd/g8r

The pub/sub model was so much FASTER than the Ansible push methodology.

I'll check your repo out for sure

Yes the pub/sub model gets way faster than the Ansible push model, especially at scale : When you start having a few hundreds of servers, you'll see that you just spend so much time waiting for the playbook to run.

It's also heavily bound to network connectivity, if your server your reaching has 100ms of latency, every time Ansible does something, you will feel those 100ms.

In the case of Peekl, it's easy : The server will read the content from the local disk (depending on what roles you have, your groups, and also load the variables.) And simply sends the "compiled catalog" to your agent who will go through all of it and performs actions as needed.