Join our community of software engineering leaders and aspirational developers. Always
stay in-the-know by getting the most important news and exclusive content delivered
fresh to your inbox to learn more about at-scale software development.
REQUIRED
It seems that you've previously unsubscribed from our newsletter
in the past. Click the button below to open the re-subscribe form
in a new tab. When you're done, simply close that tab and continue
with this form to complete your subscription.
The New Stack does not sell your information or share it with
unaffiliated third parties. By continuing, you agree to our
Terms of Use and
Privacy Policy.
Welcome and thank you for joining The New Stack community!
Please answer a few simple questions to help us deliver the news and resources you are interested in.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Great to meet you!
Tell us a bit about your job so we can cover the topics you find most relevant.
REQUIRED
REQUIRED
REQUIRED
REQUIRED
REQUIRED
Welcome!
We’re so glad you’re here. You can expect all the best TNS content to arrive
Monday through Friday to keep you on top of the news and at the top of your game.
What’s next?
Check your inbox for a confirmation email where you can adjust your preferences
and even join additional groups.
Follow TNS on your favorite social media networks.
Open Policy Agent (OPA) is a general-purpose policy engine that unifies policy enforcement across the stack. Images for OPA projects have been downloaded over 2 billion times and over 3,000 repos on GitHub feature code in OPA’s domain-specific policy language Rego.
Growth like this doesn’t happen overnight or without significant effort. Every day, new users sign up for the Open Policy Agent (OPA) community Slack, the main community support point for OPA users. Some are looking for help designing production architectures or scaling challenges but most are new users just starting their Policy as Code journey with OPA and Rego.
At Styra, the creators and maintainers of OPA, we hold our responsibility to nurture and expand the OPA community as a high priority. Until recently, our approach has been focused on having conversations with users, answering their questions, and producing helpful content (both blogs and project documentation). Over time though, as we’ve continued to scale, we started to ask ourselves if we could help users earlier — and ourselves — earlier.
We had to help users learn faster and more effectively while maintaining a kind and helpful community where there are no stupid questions and all users receive a high standard of personal support — only now for even more users.
The Cloud Native Computing Foundation (CNCF) hosts critical components of the global technology infrastructure including Kubernetes, OpenTelemetry, and Argo. CNCF is the neutral home for cloud native collaboration, bringing together the industry’s top developers, end users, and vendors.
Learn More
The latest from CNCF
Yeah, That Won’t Scale
The idea of a Slack community offering free personalized support doesn’t sound like the kind of thing that would “scale,” but it did. The OPA community grew to over 7,000 strong with our conversation and content approach. But at this scale, we started to see some cracks, especially with new users.
We started with a question: How valuable is our Slack community and documentation for users in their first week with OPA? It’s easy to get sucked into documenting and answering everything for everyone without really considering what’s most effective.
We identified some interesting problems new users have:
New users don’t yet know where to start. An extensive documentation site, with detailed reference pages and walk-throughs of complex use cases can be daunting. One can search, but what do you search for when you don’t know what’s there? We can share links, but what about users who didn’t pluck up the courage to ask a question?
Meet them halfway. Hitting a roadblock while hacking away on a problem is never fun, but having to leave your editor, search the docs, sign up for another Slack team and formulate a good question is a major context switch away from the task at hand. What if we could provide support relative to the task at hand without the need for a context switch?
Documentation isn’t for everyone; public question-asking isn’t either. People like to learn in different ways. Could we offer support via an entirely new medium? Who could we reach?
So we were looking for a solution that allowed users to get support faster even than alt-tabbing to their browser, something with no sign-up process or context switch.
On another thread, we’d been working on a style guide for Rego. This contained details of bugs that could be identified from the syntax. When we considered automating this guide, we thought we might be onto something.
Enter Regal: The New Linter for Rego
Regal is the new linter for Rego. It’s built in Go and Rego. That’s right, we’re using Rego to write rules about writing good Rego! Anders Eknert on our DevRel team started the project, but we’ve already had more than 10 contributions from other members of the community. Together, we hope to build the best Rego sidekick around.
Let’s look at an example of a simple mistake we can catch with Regal. Here’s a policy that’s meant to deny non-admins:
deny if {
"admin" != input.user.roles[_]
}
Spot the mistake? What this policy actually means is: Block any users who have any role other than admin — not quite what we had in mind. Regal users making this mistake will be directed to this support page, which features a detailed explanation and an alternative implementation to use. This is just one of many examples of how Regal can automate the detection of common mistakes.
But how do we get users to run Regal?
Meeting Users Halfway
Regal doesn’t come as part of OPA; it’s a separate tool so we need to make it easy for users to discover. We need to meet them halfway. We’ve started by building an integration with our online playground, a well-used resource for trialing new policies during development. At the time of writing, we see a request to lint a user’s Rego multiple times a second. That’s faster feedback than users could ever get from us on Slack. Combined with some healthy visitor stats on our Regal documentation, we know we’re starting to reach users.
Next on the roadmap are integrations with common editors and an off-the-shelf GitHub Action to help make Regal present in popular Policy as Code repositories.
We’d love to get feedback on our new project. Please take a Regal for a spin today in the online playground and drop us a message on our Styra Slack if you have any questions, feedback or ideas for contributions and integrations.
Join us at KubeCon + CloudNativeCon North America this Nov. 6-9 in Chicago for more on Kubernetes and the cloud native ecosystem.
The Cloud Native Computing Foundation (CNCF) hosts critical components of the global technology infrastructure including Kubernetes, OpenTelemetry, and Argo. CNCF is the neutral home for cloud native collaboration, bringing together the industry’s top developers, end users, and vendors.