I would like to have a mechanism to set up a server automagically…

Similarly I would like to set up my user account settings (Tmux plugins, .zshrc and vim settings, etc) that I can replicate in multiple machines via a script (I have a custom script for this but I want a more solid alternative)

Thoughts on what infra-as-code solution would work best? Any similar experiences or use cases with one Thanks!
Cc @selfhost@lemmy.ml @selfhosted@lemmy.world

  • @bouh@lemmy.world
    link
    fedilink
    111 months ago

    Why is infra as a code so sought after? I feel like this is installation scripts and config like bare bones, but you need another layer to make it work on top. What am I missing?

    • @taladar@sh.itjust.works
      link
      fedilink
      211 months ago

      Not sure why you would use it for a single server with a single admin you only install once but for multiple admins and many servers it provides repeatable results that are the same no matter who does it and it also allows you to add small settings that you would never do by hand every time you install a new machine. There is nothing worse than discovering that your dev system and your production system differ in a minor way that makes a test succeed on dev but fail on production because of something someone installed or configured manually. Well, apart from discovering that same thing happened with your 5 year old production server you are trying to reinstall after it broke.

      • @bouh@lemmy.world
        link
        fedilink
        211 months ago

        What I mean is that repeatability can be achieved in other, simpler ways. Like a package for example.

        I feel like as technologies, ansible and docker have been spread beyond their relevant scope of usefulness. But maybe that’s me.

        I feel like ansible is a complex way of doing simple things.

        • @taladar@sh.itjust.works
          link
          fedilink
          211 months ago

          Packages seem like a very convoluted way to achieve something like setting a host name or configuring the DNS server a system uses or the packages that are installed or which virtual hosts a web server serves and which certificates it uses to do so.