• 17 Posts
  • 27 Comments
Joined 3 年前
cake
Cake day: 2023年7月31日

help-circle






















  • TLTR;

    Sparky is a distributed jobs framework that allows orchestration of remote tasks on cluster of nodes. It’s simple to set up and easy to use. This post is a brief overview of Sparky architecture design.

    Sparky targeted audience is:

    cloud providers to manage underlying multiple hosts infrastructure

    data scientists to process data in distributed manner (aka data pipelines)

    software engineers and devops doing any tasks with distributed nature in mind









  • Not generator, validator. It validates configuration files . Ansible is not flexible in comparison with Sparrow, you’d need to write more boilerplate code to do the same … Also core ansible modules search is limited by “one line” mode, thus it does not allow to search for example within nested structures, like if we want something in between or in nested blocks, or search for sequences, like when we want to search a sequence of strings, a,b,c,d etc, Sparrow does allow al thatl as it has ranges/sequential/SLN search by design. Sparrow allows to generate check rules in runtime as well, Ansible can’t


  • fair enough, however the intention is to show how one could create rules on Sparrow/Raku, not to show rules … Maybe I should have mentioned that …

    for example this is more interesting example evaluation of net.ipv4.tcp_synack_retries"

    regexp: ^^ "net.ipv4.tcp_synack_retries" \s* "=" \s* (\d+) \s* $$
    
    generator: <<RAKU
    !raku
    if matched().elems {
      my $v = capture()[];
      say "note: net.ipv4.tcp_synack_retries={$v}";
      if $v >= 3 && $v <= 5 {
         say "assert: 1 net.ipv4.tcp_synack_retries in [3..5] range"
      } else {
         say "assert: 0 net.ipv4.tcp_synack_retries in [3..5] range"
      }
    } else {
      say "note: net.ipv4.tcp_synack_retries setting not found"
    }
    RAKU