Side project reveal! For the past couple of weeks, me and two colleagues have hacked on a #OPA / #Rego extension for the #Zed editor. Using the #Regal language server we built previously, it's been a surprisingly smooth ride. And a fun one!
A few little things left to fix, but we'll be publishing this in the next couple of days, and I'll be sure to announce it here. In the meantime, I'd be very happy if you could give the project a ⭐️ to help with the launch!
Looking at the release notes, and It's absoluetely wild how much me and @charlieegan3 managed to get done in just 2 weeks, and all without neglecting our other responsibilities.. 😄
#Regal v0.21.0 is out now, and if you do any work at all with #OPA and #Rego, this release — together with the latest OPA #VSCode extension also released today — takes the Rego development experience to the next level. Try it out and let me know what you think! Changelog and downloads here:
Extending the #Rego language server recently introduced with features like tooltips on hover, inlay hints, and more. All providing a much nicer experience when working with Rego in editors like #VSCode. Try it out! I'd love to hear what you think :)
Sneak peek of some of the things coming in the next #Regal release. Language server (#LSP) component extended to do more than linting, as we try to make all aspects of #Rego development more enjoyable. Screenshots from #VSCode where both tooltips and inlay hints are provided via Regal. And there’s more… 😎
Evening spent hacking on the #OPA extension for #VSCode, and day spent hacking on the #Regal language server that the extension connects to. Some pretty cool features to land in that extension soon, making more parts of #Rego development as awesome and fun as Regal is 😎
At last! Our #KubeCon talk "Open Policy Agent — Intro and Deep Dive" is now up on YouTube 😃 I can't stand hearing / watching myself talk, but hopefully you won't feel the same aversion. Covering an intro to the project, some updates, a roadmap, and much more. Check it out!
Good morning from #KubeCon! If you’re here and want to meet, find me in the #OpenPolicyAgent kiosk in the project pavilion. Also, don’t miss my talk on today at 15:25 if you’re curious about #OPA, #Rego, and anything related.
New #Regal release just out! v0.17.0 of the #OPA community's favorite #Rego linter brings 4 new rules and a bunch of improvements and fixes. My favorite new rule is 'circular-import', which as the name suggests checks for circular imports (allowed in Rego but a poor practice) using a graph reachability function. Cool stuff! See all the changes and get your copy here: https://github.com/StyraInc/regal/releases/tag/v0.17.0
"At Snyk, we are big fans of Open Policy Agent’s Rego. Snyk IaC is built around a large set of rules written in Rego, and customers can add their own custom rules as well.
[...] in this blog post, we’re taking a technical dive into a particularly interesting feature — automatic source code locations for rule violations."
@jaspervdj's OPA blogs are always fantastic, and this one was no exception. Check it out!
I just published #Regal v0.16.0. This release brings two new linter rules, but most importantly it adds a language server (LSP) mode to Regal, allowing editor integrations to lint your workspace continuously as you work on your #Rego policies. Client implementations soon to follow. Exciting times!
Good times last night at the local #OPA meetup in Amsterdam 🇳🇱 I had a blast talking about linting #Rego with #Regal, and getting to meet folks in the community. Thanks @parcifal, @adamsand0r for hosting it, and #Miro and #Styra for sponsoring.
Eventful day starting at 5 AM traveling from Stockholm 🇸🇪 to Utrecht 🇳🇱 to talk #authorization and #OPA at #VodafoneZiggo before heading to Haarlem and an amazing dinner with @parcifal and his wife. Tomorrow I’ll be presenting on #Regal, my #Rego linter, at the local OPA Amsterdam meetup. Good times!
If you're in #Amsterdam 🇳🇱 next week, come join me and many others for another #OPA meetup! @parcifal will be talking about OPA for authorization in #Backstage, and I will be talking about building a linter in #Rego and for Rego — #Regal. It'll be fun!
Me and @charlieegan3 have been working on a new guide for the most common errors seen in #OPA during #Rego policy development. Parser errors, compiler errors and evaluation errors — it's all in there. Hopefully it'll be a useful resource to anyone trying to get a better understanding on why some errors happen, and how to fix them. Feedback always welcome!
What better way to spend the weekend than with a new version of #Regal? Everyone's favorite #Rego linter now have 2 more new rules, and some other nice improvements added. Check it out!
Friends in the Netherlands! 🇳🇱 January 30, we'll be doing another #OPA meetup in Amsterdam! I'll talk about linters, and how #Regal the #Rego linter came to be. Also, @parcifal will be presenting on his work on OPA for fine-grained #authorization in #backstage. And of course — pizza, drinks and some of the friendliest techies in town to hang out with. If that sounds like fun, don't hesitate to join us!
2023 was a decent year for me. With the kids now 1 and 3 I think I finally started to realize I’m a dad (!!) with all the responsibilities that come with that, and I started to adapt (way less travel, etc). Professionally, I’m really happy with what me and @charlieegan3 have accomplished during quite a turbulent year. And of course #Regal, the linter for #Rego that I started work on in January, and which now has a small community of users and contributors. Happy new year everyone! 🥂❤️
#ITByte: #Rego is the purpose-built language used to write #Policies for Open Policy Agent (#OPA). Rego is based on Datalog language, but it expands its capabilities.
Rego is based on the Datalog language, but it has expanded capabilities.
Thinking of hacking on a #LanguageServer for #Rego during the holidays, and integrate #Regal for linting. Anyone here who built one for some other language? I’d love to hear what you found most difficult, gotchas, clever tricks, or whatnot. All that kind of stuff you won’t find in the docs.