devops-armory
Rust toolset to improve DevOps work It is based on russh, toml and actix-web library.
How to get started ?
As of end of November 2025, you can use Rust stable channel - 1.91. Install Rust, create project, then add to Cargo.toml in your Rust Project below line:
[dependencies]
actix-web = "4.12.1"
devops-armory = "0.3.1"
After that, check examples directory and that should get you going.
How does it work ?
It uses toml file as the source data. It is parsed via toml_parser - in case toml file is malformed it will throw error where exactly problem occurs.
You will have to provide function with location of TOML config file, SSH username and SSH private key path.
Caveat 1 - Commands are arrays, so if you want to execute single command on single host just put proper index in it (arrays in Rust begin with 0)
Caveat 2 - IP addresses are also arrays, so again - if you want to use single address just put proper index in it (see above)
Caveat 3 - GKE endpoint addresses are also arrays, so again keep in mind that [] starts with 0
In toml directory there are 2 example files:
- example toml config - as a basis for further use (keep in mind, that all fields in the file are required - right now it's statically typed, not yet Option-alized) \
- example json file - JSON representation of toml file, so toml file will be more readable (in case someone is not familiar with TOML)
Examples can be found in examples directory.
Current features:
1 - Rustible - tool to execute command on remote server. These are are executed in separate session - in case you need faciliate work you can use "&&" between commands in toml file.
2 - Cloud GCP - set of functions to interact with Google Cloud Platform. Already implemented:
- Auth method (IAM current system login via gcloud or ServiceAccount)
- Creating a project
- Adding billing to the project
- Adding users/modifying roles
- Creating a VM
- Creating/updating a k8s cluster (selected options), deployments, services, ingress, routes (selected options), and gateways (selected options), creating namespace, creating/modifying/viewing secrets
- Creating/updating VPCs - networks, subnets, IPs, network peering, private service connections
- Creating/updating SQL instances, dbs, users, passwords
- Creating/updating DNS
- Creating SSL - Google Managed
Coming soon:
1 - Creating GCS
2 - Sync GCS to S3
3 - GCS cleaning based on date
4 - GKE logger alert - send notifications to Slack channel if specific phrase appear in the logs
Bug reports/Feature requests:
Please use below formatting for creating issues/bug report/feature requests:
[Rustible] Name of your issue/bug/feature
or
[Cloud][Gcp] Name of your issue/bug/feature
Docs:
https://docs.cloud.google.com/compute/docs/apis
https://docs.cloud.google.com/sql/docs/postgres
https://docs.cloud.google.com/dns/docs/reference/rest/v1
https://docs.cloud.google.com/vpc/docs/apis
https://docs.cloud.google.com/kubernetes-engine/docs/reference