When managing complex environments it’s important to have powerful tools available to keep control. Now, Steadybit enhances the way how to filter targets by introducing the Query Language.
When running experiments, it is crucial that you can boil down to a set of targets you want to run your experiment on. Targets are discovered by the Steadybit agent and will then be available for your experiments on your Steadybit platform. The landscape already gives you a good overview of known targets, yet it is limited by Kubernetes deployments.
Steadybit’s landscape map – Deployment targets clustered by namespace
So, there are even more targets that you can use to plan your experiments around. Hosts, containers, networks, AWS zones, everything can be targeted when creating an experiment. To do so, Steadybit provides you with all information extracted for the discovery process. This information (attributes) can be used as key-value pairs to build a query that filters down all targets available to a set of targets you want to focus on. Steadybit’s UI gives you an excellent visual representation of the query, giving you a good overview of available attributes and the overall query you are about to express.
Steadybit’s experiment designer – targets can be boiled down using the Query UI or the Query Language
As noted in the section above, key-value pairs are essential to filter your targets and make sure experiments are executed against the right set of hosts, deployments, clusters etc.
Sometimes, there are even more advanced use-cases where the regular query UI reaches its limits:
To support all the mentioned use-cases we are now excited to present you Steadybits query language as an extension to the already existing query UI. The query language is a textual representation of the query you’ve composed through the UI. While the query UI can be used to cover simple cases and to have an easy onboarding, the query language now unlocks the full potential of writing expressions, grouping them into logical blocks and chaining them through multiple operators. The query UI and the query language always work together, so it is up to you to choose the style. You can switch from one representation to the other and back again as you like.
The same query expressed with the Query UI on the left and the Query Language on the right
The embedded text editor can now be used to implement the use cases noted in the upper sections. Let’s do it by example:
OR
. You can use AND
& OR
to chain your expressions like: k8s.cluster-name="prod" OR k8s.cluster-name="staging"
(k8s.cluster-name="prod" OR k8s.cluster-name="staging") AND (k8s.namespace="team-A" OR k8s.namespace="team-B")
NOT k8s.cluster-name="prod"
Visit our docs for further information ✌🏼
There is nothing better than putting what you have learned directly into action. Sign up directly in Steadybit via our free plan and experience the full potential.