16 comments

  • rirze 32 minutes ago ago

    So this uses k3s underneath. IMO any local kubernetes distribution is a big resource hog over plain docker. Anyone have ideas for something that is less resource intensive but easier to orchestrate than docker-compose?

    • jimvdv 7 minutes ago ago

      Podman supports just the pod spec also used by kubernetes. How much orchestration do you need on a local machine?

  • wanderingbit an hour ago ago

    @sandGorgon8, thank you.

    I was just telling some ex coworker friends that there was a great need for a compose frontend to more powerful infra backends, and this feels like the answer.

    Once I get working on it I’ll try to add health check support. That is crucial for a lot of what we’re working on.

  • sandGorgon 3 days ago ago

    This is a personal project that im open-sourcing. Its one of those projects-that-should-exist-but-nobody-wants-to-kill-their-business.

    It takes ur standard docker compose file and runs it transparently in kubernetes (k3s actually). So ur devs don't have cognitive dissonance between testing ur stack locally on ur laptop and making it work on kubernetes in production.

    It is primarily meant as a dev tool on ur laptop, and as a replacement for docker compose.

  • philipallstar 2 hours ago ago

    I'm not quite sure what level of testing this facilitates. If you're testing as close to production as possible, you probably want templated k8s config that scales down to a k8s in CI (e.g. Helm with variables applied that make it minimal). If you just want a local stack to test components and not the k8s config, why not just use docker compose itself?

    • sandGorgon 2 hours ago ago

      docker compose is beautiful because it uses a simple elegant compose yml file - this is now an open standard. https://www.compose-spec.io/

      the standard does not make it mandatory that underlying system should be docker compose (the reference server). it can be anything.

      IMHO - kappal is the first project that takes your compose yml file and transparently/drop-in runs it on kubernetes. there is nothing extra you need. It is useful for people who want to maintain their stack as close to production as possible (kubernetes).

      If that's not a big goal for you, then this is not very useful for you. But I'd argue ...why do you care if the compose yml is the only think you are using. you get all of kubernetes.

  • nkmnz 5 hours ago ago

    Could I use this for running the same docker compose stack multiple times in parallel? I wrote a lot of bash glue code to make this happen (without kubernetes) for integration and acceptance testing on a single server. Managing envs and networking was a pain, but mostly, I struggle to keep it up to date with infrastructure changes in my platform.

    • bewuethr 4 hours ago ago

      Have you tried Tilt? https://tilt.dev/

      • nkmnz 4 hours ago ago

        No, I haven't. Can you elaborate how you think it could help me? Couldn't figure it out from reading the docs, tbh.

        • mlnj 3 hours ago ago

          I love Tilt.

          With a single Tilt file combined with a docker compose file, almost all of the infrastructure you need is configured on a local machine. It also supports running kubernetes (most of the docs are around this), but you do not necessarily need to it it.My goto when I have more then 2 docker containers/services I want to keep changing code for. Some teams I work with usually have 20 such containers for local dev.

          And yes, you can even nest Tilt files and even write normal python if you want to mix things up.

    • sandGorgon 4 hours ago ago

      yes. fixing this right now. you will have it in a day or two.

      • nkmnz 4 hours ago ago

        Would certainly try this out!

  • osigurdson 8 hours ago ago

    I've just moved on from docker compose. Instead I have a K8s like yaml file and use podman kube play. The learning curve is pretty small in my opinion and at least it is a little closer to production.

    • sandGorgon 4 hours ago ago

      fair. however, i do genuinely find docker compose yml and dev-experience to be much more pleasant and intuitive.

      if you ever wanna try it again - use kappal. you will get a full k8s but with the UX of docker compose.

  • rvz 6 hours ago ago

    Looks promising and really interesting to see and it's a very good idea. But when I saw the test folder however, it is completely empty. [0]

    So is any of this tested?

    [0] https://github.com/sandys/kappal/tree/main/test