Live data from Hacker News

Semaphore – Modern UI for Ansible

github.com

21–30 of 35 posts

Re: Semaphore – Modern UI for Ansible

#21

What do people use Ansible for that can't be done with Terraform and vice-versa?

most of the stuff we run is baremetal. this takes over after pxe; public key added with kickstart.

even for end-user desktops, this is somewhat useful. the facts give you a picture of what you have on your network.

but the web hosting and sql, yes containers..actually lxc.

Re: Semaphore – Modern UI for Ansible

#24
A slightly different question to sibling ~MuffinFlavored, what use case does this solve for that running ansible from your existing CI infrastructure doesn’t? If you’re at the scale where running from a laptop doesn’t work, wouldnt you already have some form of CI in place to get to the point of needing whatever role ansible is servicing?

Re: Semaphore – Modern UI for Ansible

#25
post #3

Earlier quoted context omitted.

Terraform is not great at provisioning "inside" of Unix servers, and Ansible is not great at provisioning cloud resources.

Yep. Terraform + Ansible or Puppet is the way to go.

I've noticed that I used Ansible less and less because of kubernetes.

Now we also use crossplane.io and we never touch terraform anymore as well.

It's all helm charts now here.

Re: Semaphore – Modern UI for Ansible

#26
post #25

Earlier quoted context omitted.

Yep. Terraform + Ansible or Puppet is the way to go.

I've noticed that I used Ansible less and less because of kubernetes. Now we also use crossplane.io and we never touch terraform anymore as well. It's all helm charts now here.

Isn't there a a chicken and egg problem with Crossplane? A quick glance over the docs tells me I need a cluster to already exist. So how am I provisioning that cluster? Terraform.

Re: Semaphore – Modern UI for Ansible

#27

What do people use Ansible for that can't be done with Terraform and vice-versa?

It's so sad that these are the tools we have to work with. They are both so shitty, in such subtle ways, to the point that I tear my hair out once a week because of them. And the corporate IT world will never invest in development of truly free replacements just to make other people's lives easier. It's truly depressing.

Terraform is fantastic. Mind explaining what your issues with it are?

Re: Semaphore – Modern UI for Ansible

#28
The most interesting concept is "Build & Deploy" and it's a pity that it isn't described even on conceptual level.

I think the "Build & Deploy" for configuration management is the right thing, but it looks like Ansible is not very good tool to implement it (and honestly, I don't know any mainstream tool that is really good at it).

I was trying to implement it as follows:

- part of a role is executed locally, building all the configuration files from templates (build); - configuration built locally is rsynced into dedicated directory on target server, deleting unnecessary files etc (sync); - part of a role is executed remotely, setting up symlinks from real configuration paths into synced dir and running all necessary actions (restarting services etc).

Yes, it's possible to write Ansible playbooks and roles that way, but in practice you are permanently struggling with the default Ansible playbooks and roles organizational structure.

I believe the only devops tool that really supports this style of things now is Nix and all the infrastructure around (and conceptually it's perfect, but in practice it has it's drawbacks).

Re: Semaphore – Modern UI for Ansible

#29
post #15

Earlier quoted context omitted.

Yep. Terraform + Ansible or Puppet is the way to go.

I don't think I agree anymore; most of what I'd get done with Ansible now I'd do with a container, and if all you need to get done on the host is networking and a reasonable Docker setup, Terraform is good enough to get that done. I'm a lot less likely to ever use Ansible now. But, I mean, the answer to the question above is easy. :)

I use Ansible to harden my servers, configure ssh, deploy private keys, install Docker, and start all my Docker services.

Re: Semaphore – Modern UI for Ansible

#30

Earlier quoted context omitted.

It's so sad that these are the tools we have to work with. They are both so shitty, in such subtle ways, to the point that I tear my hair out once a week because of them. And the corporate IT world will never invest in development of truly free replacements just to make other people's lives easier. It's truly depressing.

Terraform is fantastic. Mind explaining what your issues with it are?

It's not idempotent, it's not even "declarative" (what a joke that concept turned out to be), its dependency tracking / detection sucks, trying to manage changes between state files and code is a nightmare (there is no relationship between the state version and the code version - and these people made a DAG?), the arbitrary way it's designed to locate and use files / modules is unnecessarily painful and restricting, the plugins are usually pretty bad (no consistent conventions, inconsistent code coverage, difficulty in passing/embedding state or data between providers), the limitations of how you can compose HCL (as in what parts of what functions / data objects / attributes / etc you can use what syntax or features) is literally because they just designed it wrong and you have to wait for the next breaking change for them to re-design it to function correctly again, the state file is literally a boat anchor that you can't pull up, they intentionally leave auto-importing out because "we think it's a bad idea" so somebody else had to invent a whole other project just to implement it, magic environment variables, the "features" you can only use if you're a paying customer, the shittily designed opinionated features that don't work outside one use case (workspaces), the masses of duplicate code from modules being a crappy abstraction, lack of backwards compatibility, the incredibly consistent ability for the state to break on apply causing you to copy old state, look up man pages, import current state, manually edit json files, and hack up code just to be able to apply one single change to one single resource, and the biggest flaw of all, there is no abstraction that allows you to just say "make me a VM in these 3 clouds" because everything is so tightly wound around very specific APIs for specific providers with specific features etc, templating sucks, and the "structure" of how you "use it" is so unnecessarily stupid that there are at least 5 projects just dedicated to making it manageable for a human being to run the damn thing.

That is literally just from the past 3 days of using Terraform. It's not fantastic, it's cancer. The designers are either morons, or don't use their own tools so they don't see all the problems, or they just don't care, or they intentionally made it Regretware so that once you feel enough pain you will pay them for better features or to manage it for you. Probably a combination of all those.

Post reply on HN