DevOps Toolkit
DevOps Toolkit
  • 324
  • 3 776 841
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
Переглядів: 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

КОМЕНТАРІ

  • @KevinZehnder
    @KevinZehnder 21 годину тому

    storing the ZSH history in a specified file by using something like: HISTFILE=~/.zsh_history in your .zshrc, fixes that command history problem

  • @rodarmor
    @rodarmor 22 години тому

    Great video! ❤

  • @nbensa
    @nbensa День тому

    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".

    • @nbensa
      @nbensa 21 годину тому

      Oh it's easier than I thought. Just run the bootstrapping again! It will detect the fleet repo already exists! I'm loving Flux 🙂

  • @geofftsjy
    @geofftsjy День тому

    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.

    • @DevOpsToolkit
      @DevOpsToolkit День тому

      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.

  • @MikaelFridh
    @MikaelFridh День тому

    What's the problem, just create 53 sync-waves and forget about it 😝

  • @chrisalexthomas
    @chrisalexthomas День тому

    So would you say that this basically allows serverless computing on kubernetes without all of those extra frameworks like kubeless or knative?

    • @DevOpsToolkit
      @DevOpsToolkit День тому

      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.

  • @mqasimsarfraz
    @mqasimsarfraz 2 дні тому

    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! ❤

  • @IvanRizzante
    @IvanRizzante 2 дні тому

    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.

  • @masoudbaharlouie3371
    @masoudbaharlouie3371 2 дні тому

    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).

    • @DevOpsToolkit
      @DevOpsToolkit 2 дні тому

      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.

    • @masoudbaharlouie3371
      @masoudbaharlouie3371 2 дні тому

      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.

    • @DevOpsToolkit
      @DevOpsToolkit 2 дні тому

      @masoudbaharlouie3371 kwasm installs runtimes like Spin and configures containers. That's essentially all it does.

  • @IvanRizzante
    @IvanRizzante 3 дні тому

    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

  •  3 дні тому

    I wonder how it would run on RKE2 or K3S. As usual thanks for the great content Viktor!

    • @DevOpsToolkit
      @DevOpsToolkit 3 дні тому

      I haven't tried it on rke2. My best guess is that it should work.

  • @simonshkilevich3032
    @simonshkilevich3032 4 дні тому

    Hmmmmmmm 🤔

  • @tehseensajjad1003
    @tehseensajjad1003 4 дні тому

    What about the network namespacing and ephemeral storage for the wasm "pod"? is the wasm binary namespaced?

  • @martinbower2915
    @martinbower2915 5 днів тому

    I'm off to play, I'm interested in the start up times, speed of scaling up and down. Thanks for the video !

  • @CripplingDuality
    @CripplingDuality 5 днів тому

    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?

    • @DevOpsToolkit
      @DevOpsToolkit 5 днів тому

      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).

    • @CripplingDuality
      @CripplingDuality 5 днів тому

      Looking forward to seeing it! Thanks for the insight 🚀

  • @ParkerLouisDE
    @ParkerLouisDE 5 днів тому

    Never used a RuntimeClass or WASM yet. Now it makes sense. Thanks Viktor!

  • @rikschaaf
    @rikschaaf 5 днів тому

    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.

  • @Bill_the_Red_Lichtie
    @Bill_the_Red_Lichtie 5 днів тому

    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!

  • @PavelZagalsky
    @PavelZagalsky 5 днів тому

    Damn I need to check that one out

  • @slim5782
    @slim5782 5 днів тому

    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?

    • @DevOpsToolkit
      @DevOpsToolkit 5 днів тому

      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.

  • @RafaelDurelli
    @RafaelDurelli 5 днів тому

    Third

  • @ranjitsheelvant5659
    @ranjitsheelvant5659 5 днів тому

    Second

  • @toshgoon
    @toshgoon 5 днів тому

    first

  • @ymy9650
    @ymy9650 6 днів тому

    Thanks for this video. One of the coolest finds in a while. I'm seriously considering replacing devcontainer with devbox for my local development.

  • @pragyadikshit9243
    @pragyadikshit9243 6 днів тому

    Awesome video

  • @thinkfirst-yy9bz
    @thinkfirst-yy9bz 8 днів тому

    Бля я по привьюхе, подумал что это Игорь Гиркин про К6 расказывает)

  • @anupamojha1896
    @anupamojha1896 8 днів тому

    Victor , I am kind of stuck in the setup section. can I get some help?

    • @anupamojha1896
      @anupamojha1896 8 днів тому

      Should I create a kubeconfig.yaml file in the crossplane-tutorial directory ?

    • @DevOpsToolkit
      @DevOpsToolkit 8 днів тому

      Yes. That's what the setup script is doing.

    • @DevOpsToolkit
      @DevOpsToolkit 8 днів тому

      Pick a time from calendar.app.google/MRbyC9Q44DUF4bWZ9 and we can go through it together.

    • @anupamojha1896
      @anupamojha1896 8 днів тому

      @@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 ?

    • @DevOpsToolkit
      @DevOpsToolkit 8 днів тому

      @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).

  • @julianomoraisbarbosa
    @julianomoraisbarbosa 8 днів тому

    # til

  • @dariusjuodokas9458
    @dariusjuodokas9458 8 днів тому

    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....

  • @user-qr4jf4tv2x
    @user-qr4jf4tv2x 8 днів тому

    besides devtron being all in one.. any others?

  • @user-qr4jf4tv2x
    @user-qr4jf4tv2x 9 днів тому

    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

  • @user-rf8xe4hf9h
    @user-rf8xe4hf9h 9 днів тому

    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

    • @DevOpsToolkit
      @DevOpsToolkit 9 днів тому

      Us that a kcp addon for kubectl? I did not even know it exists.

  • @MarcusXPX
    @MarcusXPX 9 днів тому

    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 😊

  • @evgenim4043
    @evgenim4043 10 днів тому

    "Kumbaya my Lord" I didn't know this song Now I know a new song

  • @AhmedAyman-gs7oz
    @AhmedAyman-gs7oz 10 днів тому

    Great video. Are there any other self-managed logging solutions other than ELK/EFK and Loki-Grafana?

    • @DevOpsToolkit
      @DevOpsToolkit 10 днів тому

      There's fluentd and fluentbit for shipping logs.

    • @AhmedAyman-gs7oz
      @AhmedAyman-gs7oz 9 днів тому

      @@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?

    • @DevOpsToolkit
      @DevOpsToolkit 9 днів тому

      @AhmedAyman-gs7oz Loki is the only one I used besides elasticsearch (excluding managed solutions).

  • @iposipos9342
    @iposipos9342 10 днів тому

    thanks for your videos, yes i would like to know to scale pods with HPA based on metrics in Prometheus. Thank you very much

    • @DevOpsToolkit
      @DevOpsToolkit 10 днів тому

      I'm planning to release a video that explores different types of scaling on July 8.

  • @fabiosanna8377
    @fabiosanna8377 11 днів тому

    And so on and so forth!

  • @dlabor1965
    @dlabor1965 11 днів тому

    Please, please, please! Don't install Windows XP on my smartphone, PLEASE!!!

  • @danko95bgd
    @danko95bgd 12 днів тому

    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.

  • @MichaelBushey
    @MichaelBushey 12 днів тому

    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.

    • @DevOpsToolkit
      @DevOpsToolkit 12 днів тому

      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.

  • @milosbuncic9560
    @milosbuncic9560 12 днів тому

    Taskfile rules.

  • @Jarek.
    @Jarek. 12 днів тому

    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"

  • @mihaigalos279
    @mihaigalos279 12 днів тому

    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.

  • @Jarek.
    @Jarek. 12 днів тому

    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.

  • @ryanseipp6944
    @ryanseipp6944 12 днів тому

    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.

    • @Jarek.
      @Jarek. 12 днів тому

      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.

    • @DevOpsToolkit
      @DevOpsToolkit 12 днів тому

      There are always things that need to be installed. I tend to use devbox for that.

    • @Jarek.
      @Jarek. 12 днів тому

      @@DevOpsToolkit Indeed; thank's for sharing GitHub repo - it's all there

    • @ryanseipp6944
      @ryanseipp6944 12 днів тому

      @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

    • @MarcusXPX
      @MarcusXPX 9 днів тому

      @@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.

  • @AndreaGhensi
    @AndreaGhensi 12 днів тому

    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!)

  • @cheebadigga4092
    @cheebadigga4092 12 днів тому

    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?

  • @DevOpsToolkit
    @DevOpsToolkit 12 днів тому

    What do you think of just and Justfile?

    • @MarcusXPX
      @MarcusXPX 9 днів тому

      I'd rather use Taskfile, for yaml format and additional features.

  • @enzanto
    @enzanto 12 днів тому

    Dang, always struggled with getting this in my head.. Until i saw this video!

  • @dlabor1965
    @dlabor1965 12 днів тому

    Goody goody.