[-] melezhik@programming.dev 2 points 2 weeks ago* (last edited 2 weeks ago)

Just added the feature of running jobs on localhost for debugging:

cd .dsci/job_one; docker run -it -v $PWD:/opt/job --entrypoint /bin/bash dsci -c "cd /opt/job/; s6 --task-run ."

[-] melezhik@programming.dev 2 points 2 weeks ago

Yep,I will figure out the proper design later , but thanks 😊

[-] melezhik@programming.dev 2 points 2 weeks ago

Oh, sorry for that, changed theme to light , hopefully better now

[-] melezhik@programming.dev 3 points 2 weeks ago

Feedback are welcome , the project is in very early stage …

20
Dead Simple CI (deadsimpleci.sparrowhub.io)
submitted 2 weeks ago* (last edited 2 weeks ago) by melezhik@programming.dev to c/programming@programming.dev

Dead simple CI - http://deadsimpleci.sparrowhub.io/ could be thought as an extension to any modern CI system - GitHub/Gitea/Gitlab/Forgejo/you name it , adding to default pipeline mechanism (usually based on yaml) the convenient for programmers use of general programming languages, it uses web hooks and commit statues API to report results back to native CI

5

Double TAP is lightweight testing framework where users write black box tests as rules checking output from tested "boxes". Boxes could be anything from http client, web server to messages in syslog. This universal approach allows to test anything with just dropping text rules describing system behavior in black box manner.

Rules are written in formal DSL and could be extended on many programming languages

Tool aims to help with infrastructure audit and testing as well as with validating development environments

[-] melezhik@programming.dev 12 points 11 months ago* (last edited 11 months ago)

Ok. "I am a good FOSS developer"

[-] melezhik@programming.dev 2 points 1 year ago* (last edited 1 year ago)

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
[-] melezhik@programming.dev 2 points 1 year ago

sorry, could you please elaborate on "shouldn’t copy" ? thanks

6
submitted 1 year ago* (last edited 1 year ago) by melezhik@programming.dev to c/linux@programming.dev
11

Hi! Sparrowhub maintainer here. Sparrow is an alternate to Ansible written on Raku. Users can create reusable tasks on many programming languages and run them via Raku SDK scenarios.

If you are interested in contribution, you may:

  • create new Sparrow plugins, it’s easy (no knowledge of Raku is required) so people could use them
  • start using Sparrow as is ( 280 plugins included )
  • contribute in Sparrow core
  • spread the news

Discord channel - https://discord.gg/xpBz6yTj or post your comments, questions here.

[-] melezhik@programming.dev 5 points 1 year ago* (last edited 1 year ago)

Yep. Like said - "We talk about use of Bash for simple enough tasks ... where every primitive language or DSL is ok", so Bash does not suck in general and I myself use it a lot in proper domains, but I just do not use it for tasks / domains with complexity ( in all senses, including, but not limited to team work ) growing over time ...

[-] melezhik@programming.dev 14 points 1 year ago* (last edited 1 year ago)

We are not taking about use of Bash in dev vs use Bash in production. This is imho incorrect question that skirts around the real problem in software development. We talk about use of Bash for simple enough tasks where code is rarely changed ( if not written once and thrown away ) and where every primitive language or DSL is ok, where when it comes to building of medium or complex size software systems where decomposition, complex data structures support, unit tests, error handling, concurrency, etc is a big of a deal - Bash really sucks because it does not allow one to deal with scaling challenges, by scaling I mean where you need rapidly change huge code base according changes of requirements and still maintain good quality of entire code. Bash is just not designed for that.

[-] melezhik@programming.dev 3 points 1 year ago

Let me generalize that - yaml pipelines are terrible 😀

[-] melezhik@programming.dev 3 points 1 year ago* (last edited 1 year ago)

Ok. Huge part of building microservices framework is infrastructure automation - like setup nginx load balancing in runtime, build and deploy apps from source code, configuring services, tcp ports, health checks, horizontal scaling (adding new worker nodes), setup logging and monitoring, etc, also this needs to be propagated to all cluster nodes, I am not going to do this from the scratch - Sparky is alike (rough comparison though) ansible but with UI and programmable on Raku, so as Sparky has already addressed the mentioned tasks, it's logical for me to carry on with it. If we take Sparky out of equation, Raku by itself is reach and super flexible language to automate infrastructure, I don't see why can't I use it for that ...

[-] melezhik@programming.dev 4 points 1 year ago

The plan is to build the entire system on top of Sparky which is written on Raku and extended by Raku

52

Hey! I am building Microservices framework with focus on simplicity and potentially targeted to dev environments, it's in veeeeeeery alfa stage, so only WIKI exists reflecting current design and use cases. However I'd like to get some feedback to see if see the whole thing make a sense. Thanks

view more: next ›

melezhik

joined 2 years ago