Restsh is now available under an Open Source license!

I am proud to announce that the complete Restsh package is now released under the GNU General Public License version 3 (GPLv3) or later. There are no hidden restrictions — we are not withholding any enterprise features. Restsh will remain actively maintained and further developed by Axians IT Security.

What is Restsh?

Restsh is a lightweight Bash-based shell environment for working with REST APIs from the command line. It was built for interactive use, for automation in scripts, and for robust execution in CI/CD pipelines.

Restsh is a core component of the Axians Automation Framework, enabling automated management of F5 environments via GitLab CI/CD pipelines.

Restsh does not replace your shell. Instead it exports a small set of environment variables and provides focused helper functions to call and parse REST APIs. Combine the power of Bash, curl, jq and Mustache templates to build reliable, repeatable workflows and automation.

What can I do with it?

Almost anything related to REST API automation. Restsh supports the common REST verbs and includes autocompletion for F5 and GitLab APIs. To simplify day-to-day tasks, it ships hundreds of small, focused helper scripts that wrap API endpoints — designed with the Unix principle in mind: do one thing well.

These compact scripts can be piped together, filtered, or executed inside loops. For example, exporting all WAF policies from an F5 is a simple one-liner:

f5.asm.policy.list -r -f ".items[].fullPath" | XARGS f5.asm.policy.export

Modular design

Restsh is modular and provides many functions to interact with the REST APIs of F5 BIG-IP, F5 OS-A and GitLab:

Do I have to sell my soul to get it?

Restsh is publicly available and can be downloaded from the official GitHub repository.

Support

This is the open-source, community-supported edition of Restsh. For enterprise-grade support and SLAs, Axians IT Security GmbH offers commercial support plans. Contact me to discuss options.

Documentation

Full documentation is available online: Restsh — Restsh documentation

Tutorials

8 Likes

Thank you @Juergen_Mang

1 Like

image_345863.gif

Hey @Juergen_Mang , that’s just awesome! Thank you so much!

1 Like

image_345907.gif

Create a Certificate Signing Request on the F5, sign it with your HashiCorp Vault CA and import the certificate into the F5.

All done with some commands in Restsh from the AxiansAutomationFramework.

How do you manage certificates?

The evolution of Restsh
If you not already know what Restsh is: Restsh is a shell environment to work with REST-API’s on the command line. It is primarily designed for the #F5 and #GitLab APIs.

We released it under the #GPLv3 license: GitHub - AxiansITSecurity/Restsh: The shell environment for the F5 and GitLab REST-API. · GitHub

It started as a collection of shell scripts to automate F5 tasks for F5s. At the beginning I wrote simple TMOS scripts, but parsing the output was always not as easy it should be. That’s why I started to use the iControl REST API that accepts JSON and returns JSON.

The number of scripts kept growing, and I kept copying code from one script to the next, making only minor changes. That’s why I started writing core functions and integrating this custom Shell library in my scripts. That was the early phase of Restsh.
After that, I integrated the interactive mode into Restsh to move away from my Postman collection and get rid of those long curl command-line commands. With this version it was already possible to explore REST API’s interactively.

The next improvement was the integration of autocompletion for API commands. F5 unfortunately does not provide an OpenAPI file, that’s why I wrote a crawler to find all the available API endpoints. The implementation of the crawler can be found in the “/restsh/modules/autocomplete/” folder.

At this stage, I always added a wrapper script whenever I needed to access a specific endpoint. In this way, Restsh grew organically through its use.

In another project, I had already written CI/CD pipeline scripts to create and deploy declarative WAF policies from templates. So it made sense to combine the two and make Restsh pipeline-ready. After that I adapted the template engine and pipelines for AS3 deployments and Declarative Onboarding.

During this phase, I started working with GitLab more and more, so I ended up writing a GitLab module to make the deployment of the infrastructure for F5’s automated deployment scriptable.

1 Like

Restsh v4.5.0 is now released!

Grab it for free while it’s still hot!

If you regularly pulled the repository there are no changes. The Axians Automation Framework v4.5.0 will be based on this release.

2 Likes

I added a new tutorial: Master F5 AS3 with Restsh

Stop managing F5 BIG-IP application services the manual way. Learn how to leverage declarative, JSON-based AS3 declarations to programmatically control your entire application infrastructure with Restsh.

This comprehensive tutorial walks you through:

  • AS3 installation and setup on F5 BIG-IP systems
  • Creating and managing tenants with code-first infrastructure
  • Atomic deployments that guarantee consistency across all changes
  • Templating for reusable configurations across multiple environments
  • Validation best practices to catch errors before production

Perfect for network engineers, DevOps professionals, and infrastructure teams ready to automate and version-control their F5 configurations. Get started today and transform your F5 management workflow.

Read it: F5 AS3 Management — Restsh documentation

Restsh is publishes under the GPLv3 license and community supported. It it part of the Axians Automation Framework - an enterprise grade automation framework for F5 BIG-IP.

1 Like

Hey @Juergen_Mang this is great. I will give it a go.

I’m glad you’re trying it! Do not hesitate to contact me if you have any questions or feedback. If you think you found a bug it is the best to open a GitHub issue.

The tutorial section grows. There are two new tutorials available:

F5 New Declarative API

This tutorial provides first insights to managing F5 BIG-IP Applications with the new declarative API using Restsh. It is designed for network and infrastructure engineers who need to programmatically manage application delivery services on F5 BIG-IP systems.

GitLab Pipeline

This tutorial provides a comprehensive guide to create and manage GitLab projects and pipelines with Restsh. You can create the GitLab projects and pipelines themselves with Restsh while Restsh also runs inside pipeline jobs to perform REST-API tasks. This enables a self-managing automation ecosystem where Restsh controls its own deployment and configuration.

Restsh v4.6.0 released!

Version 4.6.0 is a major feature release that significantly expands Restsh capabilities, introducing the new <a href://my.f5.com>MyF5</a> API module and adding extensive functionality across F5, GitLab, certificate management, and Axians Automation Framework integrations.

Download and use it for free: Release Restsh v4.6.0 · AxiansITSecurity/Restsh · GitHub

2 Likes