- 324
- 3 776 841
DevOps Toolkit
Spain
Приєднався 2 сер 2017
We want to help you learn the tools and the processes that you should be using and applying in your day-to-day job. We want to help you make decisions. What works well, what doesn't work, why you should choose one tool over the other, and how to get up-to-speed quickly. Which tool works the best for a given task? What should we explore in more depth, and what is a waste of time?
This channel has DevOps in the name because we believe that the only way forward is to combine different types of expertise. Ultimately, we need to be able to develop, test, deploy, and operate our systems without friction caused by silos formed around distinct types of expertise. Hence, our focus is on bridging the gap by focusing on the topics that allow developers, operators, and everyone else works together by adopting tools and processes that are relevant today and foster collaboration.
Viktor Farcic & Darin Pope
This channel has DevOps in the name because we believe that the only way forward is to combine different types of expertise. Ultimately, we need to be able to develop, test, deploy, and operate our systems without friction caused by silos formed around distinct types of expertise. Hence, our focus is on bridging the gap by focusing on the topics that allow developers, operators, and everyone else works together by adopting tools and processes that are relevant today and foster collaboration.
Viktor Farcic & Darin Pope
Unleashing WebAssembly in Kubernetes with Kwasm
Unleash the power of WebAssembly within your Kubernetes cluster using Kwasm! Combine the best of both worlds by combining WASM with Kubernetes and its ecosystem.
#WebAssembly #Kubernetes #Kwasm #WASM
Consider joining the channel: ua-cam.com/users/devopstoolkitjoin
▬▬▬▬▬▬ 🔗 Additional Info 🔗 ▬▬▬▬▬▬
➡ Transcript and commands: devopstoolkit.live/ci-cd/from-makefile-to-justfile-or-taskfile-recipe-runner-replacement
🔗 Kwasm: kwasm.sh
🎬 WASM vs Docker Containers vs Kubernetes vs Serverless: The Battle for Cloud Native Supremacy: ua-cam.com/video/uZ8xI26sno8/v-deo.html
▬▬▬▬▬▬ 💰 Sponsorships 💰 ▬▬▬▬▬▬
If you are interested in sponsoring this channel, please use calendar.app.google/Q9eaDUHN8ibWBaA7A to book a timeslot that suits you, and we'll go over the details. Or feel free to contact me over Twitter or LinkedIn (see below).
▬▬▬▬▬▬ 👋 Contact me 👋 ▬▬▬▬▬▬
➡ Twitter: vfarcic
➡ LinkedIn: www.linkedin.com/in/viktorfarcic/
▬▬▬▬▬▬ 🚀 Other Channels 🚀 ▬▬▬▬▬▬
🎤 Podcast: www.devopsparadox.com/
💬 Live streams: ua-cam.com/users/DevOpsParadox
▬▬▬▬▬▬ ⏱ Timecodes ⏱ ▬▬▬▬▬▬
00:00 WASM in Kubernetes
05:30 Enable WASM in Kubernetes with Kwasm Operator
07:09 Package WASM Applications as Container (OCI) Images with Fermyon Spin
09:04 Running WASM Through "Standard" Kubernetes Resources
10:39 WASM, Kwasm Pros and Cons
#WebAssembly #Kubernetes #Kwasm #WASM
Consider joining the channel: ua-cam.com/users/devopstoolkitjoin
▬▬▬▬▬▬ 🔗 Additional Info 🔗 ▬▬▬▬▬▬
➡ Transcript and commands: devopstoolkit.live/ci-cd/from-makefile-to-justfile-or-taskfile-recipe-runner-replacement
🔗 Kwasm: kwasm.sh
🎬 WASM vs Docker Containers vs Kubernetes vs Serverless: The Battle for Cloud Native Supremacy: ua-cam.com/video/uZ8xI26sno8/v-deo.html
▬▬▬▬▬▬ 💰 Sponsorships 💰 ▬▬▬▬▬▬
If you are interested in sponsoring this channel, please use calendar.app.google/Q9eaDUHN8ibWBaA7A to book a timeslot that suits you, and we'll go over the details. Or feel free to contact me over Twitter or LinkedIn (see below).
▬▬▬▬▬▬ 👋 Contact me 👋 ▬▬▬▬▬▬
➡ Twitter: vfarcic
➡ LinkedIn: www.linkedin.com/in/viktorfarcic/
▬▬▬▬▬▬ 🚀 Other Channels 🚀 ▬▬▬▬▬▬
🎤 Podcast: www.devopsparadox.com/
💬 Live streams: ua-cam.com/users/DevOpsParadox
▬▬▬▬▬▬ ⏱ Timecodes ⏱ ▬▬▬▬▬▬
00:00 WASM in Kubernetes
05:30 Enable WASM in Kubernetes with Kwasm Operator
07:09 Package WASM Applications as Container (OCI) Images with Fermyon Spin
09:04 Running WASM Through "Standard" Kubernetes Resources
10:39 WASM, Kwasm Pros and Cons
Переглядів: 3 858
Відео
From Makefile to Justfile (or Taskfile): Recipe Runner Replacement
Переглядів 4,2 тис.День тому
Discover the power of modern recipe runners as we transition from the traditional Makefile to Justfile (or stick to Taskfile). This video guides you through the reasons behind the switch, showing how these newer tools can simplify your development workflows. You'll learn about Justfile syntax, its capabilities, and the benefits it offers for task automation and reproducibility. #Justfile #Taskf...
Terraform vs. Crossplane vs. Ansible - Rivals or Allies?
Переглядів 11 тис.14 днів тому
In this video we dive deep into the world of Infrastructure as Code (IaC) and resource management and explore tools like Terraform, Crossplane, Ansible, Helm, and a few others. Are they competitors, or can they function as allies within your DevOps toolkit? #Terraform #Ansible #Crossplane Consider joining the channel: ua-cam.com/users/devopstoolkitjoin ▬▬▬▬▬▬ 🔗 Additional Info 🔗 ▬▬▬▬▬▬ ➡ Transc...
Debug Kubernetes with eBPF and Inspektor Gadget
Переглядів 4,6 тис.21 день тому
Unlock the power of eBPF for Kubernetes debugging with Inspektor Gadget. We'll demonstrate how to install and use Inspektor Gadget, and walk through practical examples to troubleshoot and gain insights into your cluster issues. #eBPF #KubernetesDebugging #InspektorGadget Consider joining the channel: ua-cam.com/users/devopstoolkitjoin ▬▬▬▬▬▬ 🔗 Additional Info 🔗 ▬▬▬▬▬▬ ➡ Transcript and commands:...
Mastering Kubernetes: Service and Network APIs (Service, Ingress, GatewayAPI)
Переглядів 5 тис.Місяць тому
A guide into the world of Kubernetes Services and Network APIs. In this video, we explore the fundamental concepts of Kubernetes networking, including how pods communicate within a cluster and how external traffic finds its way to the right place. We'll take a closer look at Services as a way to expose your applications, defining ClusterIP, NodePort, LoadBalancer, Ingress, and Gateway API. #Kub...
Single Pane of Glass for Kubernetes Clusters with Clusterpedia
Переглядів 6 тис.Місяць тому
Discover how to achieve a simplified and unified view across all your Kubernetes clusters with Clusterpedia! In this video, we dive into the powerful capabilities of Clusterpedia, the innovative tool that consolidates information from multiple Kubernetes clusters into a single pane of glass. Whether you're managing a handful or dozens of clusters, you'll learn how Clusterpedia can streamline yo...
How Platform Engineering Compares to Running a Restaurant
Переглядів 3,9 тис.Місяць тому
Dive into the fascinating world of platform engineering while we draw parallels between the complex operations of a bustling eatery and the intricate processes of platform engineering. Just as a successful restaurant relies on a harmonious blend of ingredients, staff, and ambiance to delight customers, platform engineering integrates various technologies, teams, and practices to deliver robust ...
Exploring KCL: Configuration and Data Structure Language; CUE and Pkl Replacement?
Переглядів 4,1 тис.Місяць тому
Dive into the world of K Configuration Language (KCL). This review and walkthrough illuminates the features and advantages of using KCL to generate YAML or JSON configurations and manifests. We cover the basics of KCL's syntax, its approach to handling hierarchical data, and demonstrate how to define and manipulate configurations with clarity and precision. ▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬▬ Sponsor: Hostman 🔗...
Mastering Kubernetes: Workloads APIs (Deployment, StatefulSet, ReplicaSet, Pod, etc.)
Переглядів 6 тис.2 місяці тому
Embark on a journey to Kubernetes excellence with a dive into Kubernetes Workloads APIs. This video is your one-stop shop for mastering the various controllers and APIs that define how applications run on the powerful orchestration platform. We kick off with the building blocks of all Kubernetes workloads - Pods. You'll learn about their lifecycle, how to create them, and what makes them tick. ...
Mastering Kubernetes Testing with Kyverno Chainsaw!
Переглядів 5 тис.2 місяці тому
Dive deep into the world of Kubernetes and discover the best practices for testing your resources with precision and confidence. In this tutorial, we focus on ensuring your Kubernetes deployments, services, and entire cluster configurations stand up to the highest standards of quality and reliability. Get ready for a review and hands-on walkthrough on utilizing Kyverno Chainsaw to test your Kub...
Nix for Everyone: Unleash Devbox for Simplified Development
Переглядів 11 тис.2 місяці тому
Simplify your development game with Devbox acting as a simplification layer on top of Nix. Use it to install all the tools required to work on a project and create ephemeral environments that can run as local Shells, remotely as DevContains for GitHub CodeSpaces or DevPod, in Docker containers, or in CI/CD pipelines. #NixOS #Devbox #DevelopmentTools #EphemeralEnvironments Consider joining the c...
Crossplane Composition Functions | Tutorial (Part 5)
Переглядів 2,3 тис.2 місяці тому
In this fifth installment of our Crossplane tutorial series, we are exploring Composition Functions. They allow us infinite flexibility to define which Managed Resources to create, manage, and delete, and how to do that. ▬▬▬▬▬▬ The Book ▬▬▬▬▬▬ Amazon: www.amazon.com/dp/B0CWCYP5CJ LeanPub: leanpub.com/crossplane ▬▬▬▬▬▬ 📋 Crossplane Tutorial Playlist 📋 ▬▬▬▬▬▬ ua-cam.com/play/PLyicRj904Z99i8U5Ja...
Is Pkl the Ultimate Data Format? Unveiling the Challenger to YAML, JSON, and CUE
Переглядів 7 тис.2 місяці тому
Explore the world of data serialization formats as we delve into the question, Is PKL the Ultimate Data Format? In this video, we embark on a journey to discover the strengths and weaknesses of Apple Pkl. We put it up against popular contenders like YAML, JSON, CUE, and others, to assess its usefulness. #Pkl #CUE #YAML #JSON Consider joining the channel: ua-cam.com/users/devopstoolkitjoin ▬▬▬▬▬...
Crossplane Configuration Packages | Tutorial (Part 4)
Переглядів 1,9 тис.2 місяці тому
In this fourth installment of our Crossplane tutorial series, we are exploring Configuration Packages. They allow us to package Crossplane Compositions as OCI (Docker) images and distribute them to control plane clusters. ▬▬▬▬▬▬ The Book ▬▬▬▬▬▬ Amazon: www.amazon.com/dp/B0CWCYP5CJ LeanPub: leanpub.com/crossplane ▬▬▬▬▬▬ 📋 Crossplane Tutorial Playlist 📋 ▬▬▬▬▬▬ ua-cam.com/play/PLyicRj904Z99i8U5J...
How to Propagate Secrets Everywhere with External Secrets Operator (ESO) and Crossplane
Переглядів 6 тис.2 місяці тому
How to Propagate Secrets Everywhere with External Secrets Operator (ESO) and Crossplane
Crossplane Compositions | Tutorial (Part 3)
Переглядів 4,5 тис.3 місяці тому
Crossplane Compositions | Tutorial (Part 3)
Developer Platform Consoles Should Be Dumb
Переглядів 6 тис.3 місяці тому
Developer Platform Consoles Should Be Dumb
Crossplane Providers and Managed Resources | Tutorial (Part 2)
Переглядів 4,7 тис.3 місяці тому
Crossplane Providers and Managed Resources | Tutorial (Part 2)
Say Goodbye to Makefile - Use Taskfile to Manage Tasks in CI/CD Pipelines and Locally
Переглядів 21 тис.3 місяці тому
Say Goodbye to Makefile - Use Taskfile to Manage Tasks in CI/CD Pipelines and Locally
Getting Started with Crossplane: A Glimpse Into the Future | Tutorial (Part 1)
Переглядів 23 тис.3 місяці тому
Getting Started with Crossplane: A Glimpse Into the Future | Tutorial (Part 1)
Argo CD Synchronization is BROKEN! It Should Switch to Eventual Consistency!
Переглядів 10 тис.3 місяці тому
Argo CD Synchronization is BROKEN! It Should Switch to Eventual Consistency!
Kubernetes Events Are Broken (If You Are Building a Developer Portal)
Переглядів 6 тис.3 місяці тому
Kubernetes Events Are Broken (If You Are Building a Developer Portal)
Say Goodbye to Containers - Ephemeral Environments with Nix Shell
Переглядів 131 тис.4 місяці тому
Say Goodbye to Containers - Ephemeral Environments with Nix Shell
Artificial Intelligence Will NOT Replace You. Devs Using AI Will
Переглядів 4,5 тис.4 місяці тому
Artificial Intelligence Will NOT Replace You. Devs Using AI Will
Build Glamorous Terminal-Based Applications with Charm Huh
Переглядів 6 тис.4 місяці тому
Build Glamorous Terminal-Based Applications with Charm Huh
Kubernetes Deployment Order and Dependencies Demystified
Переглядів 7 тис.4 місяці тому
Kubernetes Deployment Order and Dependencies Demystified
Govern Kubernetes with Kubewarden and WASM Admission Controllers
Переглядів 3,4 тис.5 місяців тому
Govern Kubernetes with Kubewarden and WASM Admission Controllers
The Best DevOps Tools, Platforms, and Services In 2024!
Переглядів 27 тис.5 місяців тому
The Best DevOps Tools, Platforms, and Services In 2024!
The Adventure Continues Towards Security (You Choose! Ch. 3, Ep. 0)
Переглядів 1,5 тис.5 місяців тому
The Adventure Continues Towards Security (You Choose! Ch. 3, Ep. 0)
WASM vs Docker Containers vs Kubernetes vs Serverless: The Battle for Cloud Native Supremacy
Переглядів 11 тис.5 місяців тому
WASM vs Docker Containers vs Kubernetes vs Serverless: The Battle for Cloud Native Supremacy
storing the ZSH history in a specified file by using something like: HISTFILE=~/.zsh_history in your .zshrc, fixes that command history problem
Great video! ❤
Excelent tutorial (as always from Viktor). What's missing here is how do I recreate the environments to a new cluster. I did `kubectl apply -k path/to/fleet/apps/fleet-system` (twice because of crd issues) and then `kubectl apply -f path/to/fleet/apps/` and it seems to be working, but I'm not sure if it is "the right way".
Oh it's easier than I thought. Just run the bootstrapping again! It will detect the fleet repo already exists! I'm loving Flux 🙂
I've been eyeballing KEDA to scale to 0 when an environment is not in use-not for production, but for dev, test, and staging environments. I already have a service that does this for non-k8s resources, and I think it would be perfect to add support for k8s resources to my service.
It depends on at least two factors. 1. Do you have a metric that can be used to scale it up and 2. Do you need to queue requests when it is scaled to zero.
What's the problem, just create 53 sync-waves and forget about it 😝
So would you say that this basically allows serverless computing on kubernetes without all of those extra frameworks like kubeless or knative?
Not yet. You would still need to add a mechanism to scale to zero (gpa would work for that) abd, more importantly, something that will queue requests when there are zero replicas, scale up, and only then let those requests pass. Hence, you would still need something like knative but, in this case, the runtime can be wasi instead of containers.
Thank you for the great overview and valuable feedback on Inspektor Gadget. We have made a couple of key updates to our documentation: - Official Helm Charts: Our documentation now includes links to our official Helm charts. - Quick Start Guide: We’ve added a “Getting started -> Quick Start” section. This allows users to try Inspektor Gadget without installation. Thanks again! Your input continues to drive our enhancements, so please keep it coming! ❤
Thanks for another great video! I like the idea behind WASM but there is no drop in replacment or magic formula to make your application run in WASM straightaway. There are changes to make and they may be many depending on the size of your projects. Let's not forget that some WASM implementations for popular languages like Java may not support all the features you need (at least not at the moment). I see security and speed as the 2 major advantages in using WASM but I also know that containers in Kubernetes, when done right and with the help of policies, offer comparable security levels and are isolated too through Linux namespaces. About speed one would ideally need to try its own apps in WASM and containers to tell the difference. All in all switching to WASM would still depends on many things, if your needs justify the effort then maybe it's worth it especially considering tools like Kwasm that could simplify placing your apps in Kubernetes.
Was it by accident that wasmCloud - a CNCF project - missed? It does have a k8s operator, and is architected to stretch across servers and cloud platforms, with or without k8s (thanks to use of NATS as the underlying bus).
That video wasn't a comparison so nothing was missed. Also, i believe that wasmcloud would be better compared (if it was a comparison) with Spin or spinoperator than kwasm which only install WASM runtime on selected nodes on a kubernetes cluster.
I understand; however, in the video it was stated that other WASM providers require installation of a runtime on host (as is the case with Spin/Spinkube or WasmEdge), but KWASM doesn’t (which gets around it by using a privileged pod). So, I was clarifying that wasmCloud doesn’t require the runtime to be installed either. The other feature, node selection is common between all of them. Nevertheless, thank you for introducing WASM to those in the community, who aren’t aware.
@masoudbaharlouie3371 kwasm installs runtimes like Spin and configures containers. That's essentially all it does.
Thanks for another great video🎉 I agree with those saying that there's no need to replace or reinvent bash, I just want to add that maybe some people may feel more comfortable with writing Just code than start straightaway the bash journey
I wonder how it would run on RKE2 or K3S. As usual thanks for the great content Viktor!
I haven't tried it on rke2. My best guess is that it should work.
Hmmmmmmm 🤔
What about the network namespacing and ephemeral storage for the wasm "pod"? is the wasm binary namespaced?
It is namespaced.
@@DevOpsToolkit oh my...
I'm off to play, I'm interested in the start up times, speed of scaling up and down. Thanks for the video !
This is the first video on this subject I've seen that goes into a good amount of detail about the subject matter. Thanks so much clarifying these points. Wanted to ask what the observability story is for Events. If an event is captured by an Eventsource, how do we know that it has been relayed to the Eventbus, and from there that a sensor captures it and successfully invokes a trigger? I guess the pod logs would be of help here but what should we be looking for? Is there a 'friendlier' abstraction or UI that can help here?
Ideally, argo events would be producing kubernetes events that we could collect like we do from most of the other kubernetes resources. That is not the case and that is one of the most disappointing parts of argo events. On th bright side, logs are available and can be collected. As a side note, I'm working on a video that will use, among other tools, argo events. It should go live in a month (more or less).
Looking forward to seeing it! Thanks for the insight 🚀
Never used a RuntimeClass or WASM yet. Now it makes sense. Thanks Viktor!
The biggest advantage I see is that if you run a wasm runtime instead of a container, you get architecture independence out of the box: if there's a wasm runtime for the arch, your code will run on that arch, without having to think about which archs to support at build time. This is a pain that I'm feeling right now, as I'm setting up my ARM64-based cluster, after coming from an x86-64 based setup. A lot of official packages just don't support ARM.
Hi Viktor, I think you missed one of **THE** major advantages, WASM is platform independent. The Runtime is platform dependent not while building the container image!
Damn I need to check that one out
This is really a missing link for wasm adoption. It would seem that wasm apps are becoming viable. But is it even possible to package large projects as wasm binaries?
It is possible to package large projects as Wasm but that's not something I would do, at least not initially. Smaller ones (stateless microservices?) are a better choice to Wasm.
Third
Second
first
Thanks for this video. One of the coolest finds in a while. I'm seriously considering replacing devcontainer with devbox for my local development.
Awesome video
Бля я по привьюхе, подумал что это Игорь Гиркин про К6 расказывает)
Victor , I am kind of stuck in the setup section. can I get some help?
Should I create a kubeconfig.yaml file in the crossplane-tutorial directory ?
Yes. That's what the setup script is doing.
Pick a time from calendar.app.google/MRbyC9Q44DUF4bWZ9 and we can go through it together.
@@DevOpsToolkit Hi Victor , I cant thank you enough for this. I have blocked some time for us on the 17th . but meanwhile , i want to unblock myself . is there a forum I can post my question with whatever error I am getting ?
@anupamojha1896 looking forward to the chat. In the meantime, crossplane slack is probably the best place to get a quick answer. I'm there under vfarcic (but can't guarantee when I'll answer).
# til
IMO it's yet another way to reinvent bash. Bash has all the pros and none of the cons (except for dry-run, which could also be achieved if you mock everything in $PATH) And the bash's syntax flexibility does not mean you MUST use it as an advanced user. You CAN, but you don't HAVE to. And it's perfectly possible to create maintainable bash applications and "makefile" alternatives. IDK, I personally don't see a point in using just/task/makefile. I fail to see what they can offer that bash can't. I mean, you're writing mostly bash in them anyways... So "just" "make" a bash script, write all the "task"s as functions, and call it a day. --list -- `declare -F`. run -- `eval ${1:?Task missing}`. And so on. Why reinvent what's already there...? Why....
besides devtron being all in one.. any others?
otomi.io is out there as well.
i like wiregaurd anything based on wiregaurd is going to be slower due to abstraction.. plus wiregaurd you can self host, while others paywall you and some are difficult to install, alternatively you have zerotier and zrok . if i just need to tunnel my home server to the web then rathole
Nice Video Victor! Could you please tell me what does the following line mean in the gists. What does it exactly do? kubectl kcp bind compute root:all
Us that a kcp addon for kubectl? I did not even know it exists.
I actually like Yaml. There's nothing wrong with it - on the opposite: it's user friendly, it's expressive, maybe 'just' maybe a bit too verbose. So I will stick with Taskfile 😊
"Kumbaya my Lord" I didn't know this song Now I know a new song
Great video. Are there any other self-managed logging solutions other than ELK/EFK and Loki-Grafana?
There's fluentd and fluentbit for shipping logs.
@@DevOpsToolkit Thanks. I mean more on the storage side. Like if I want to move away from AWS open search to decrease cost. Are there any alternatives than Loki?
@AhmedAyman-gs7oz Loki is the only one I used besides elasticsearch (excluding managed solutions).
thanks for your videos, yes i would like to know to scale pods with HPA based on metrics in Prometheus. Thank you very much
I'm planning to release a video that explores different types of scaling on July 8.
And so on and so forth!
Please, please, please! Don't install Windows XP on my smartphone, PLEASE!!!
There is an evaluate command to see what variables will output i guess. Also i prefer passing arguments in justfile compared to taskfile where you do -- thingy.
There's not enough Yaml in my life. The Serde Rust crate makes reading and writing Yaml files insanely easy. I simply do not grok how anyone can have issues with a config format that's designed to be easy to read. Yaml removes headaches and stress.
I have no doubt that YAML is the best format to define state that is passed to an API. When tasks are concerned I am not 100% sure. Also, YAML being a great format to define something does not necessarily mean that we have to write it directly. I, for example, tend to use KCL that outputs YAML I need.
Taskfile rules.
I'm really impressed by Just. As for now only reason *not to switch* from Taskfile is that Just is missing feature called in Task "Prevent unnecessary work (...) - When given, Task will compare the checksum of the source files to determine if it's necessary to run the task". I couldn't find this feature in Just ... "just is a command runner, not a build system"
Hi Viktor, awesome video! Thanks for taking the time to review this awesome Just project! I've been using just for >2y and believe some of the features which are relevant here and already in just could get more love in the content: * recipes with optional or variadic parameters. * pre and post dependencies. * inline bash variable expansion coupled with templating. * runtime global variables via subshells. * other justfile inclusion. * I personally prefer vim to code and am using syntax highlighting there working just fine. Also there is bat syntax coloring for justfiles. All of the above are there out-of-the-box and one can use them with minimal syntax and effort. Which is a far cry from shell.
Awesome! I like the simplicity, very much indeed. BTW: On just page, there is a lot of competitors: *There is no shortage of command runners! Some more or less similar alternatives to just include:* make: The Unix build tool that inspired just. There are a few different modern day descendents of the original make, including FreeBSD Make and GNU Make. task: A YAML-based command runner written in Go. maid: A Markdown-based command runner written in JavaScript. microsoft/just: A JavaScript-based command runner written in JavaScript. cargo-make: A command runner for Rust projects. mmake: A wrapper around make with a number of improvements, including remote includes. robo: A YAML-based command runner written in Go. mask: A Markdown-based command runner written in Rust. makesure: A simple and portable command runner written in AWK and shell. haku: A make-like command runner written in Rust.
I'd love to use either of these, but they both have one major downside. Neither are installed by default, or can be assumed to be present on Linux machines, meaning it's yet another thing devs need to install before they can get the project running.
Fair point! Same is applicable to _make_. Having said that - task and just are statically compiled binaries. At worst they can be part of the repo.
There are always things that need to be installed. I tend to use devbox for that.
@@DevOpsToolkit Indeed; thank's for sharing GitHub repo - it's all there
@Jarek. oh, does make only get installed with the base-devel packages on Ubuntu? If that's the case maybe my point has no merit
@@DevOpsToolkit I'm a bit old fashioned guy. I prefer building a Docker image with all the tools needed. The advantage is that image can be used in CI/CD as well. Reproducible environment for everyone, including automation.
Taskfile has an (incomplete, alas) shell interpreter and platform conditionals that help you write cross platform tasks; it also can check for conditions to skip unneeded tasks (for example I used to bootstrap my dev environments with task, before I learned about devbox from you!)
I found another one: Runme. It supposedly works with markdown and I'm not sure if that's good or bad lol. Maybe you wanna check it out too?
What do you think of just and Justfile?
I'd rather use Taskfile, for yaml format and additional features.
Dang, always struggled with getting this in my head.. Until i saw this video!
Goody goody.