| Crates.io | geneos-toolkit |
| lib.rs | geneos-toolkit |
| version | 0.1.7 |
| created_at | 2025-04-07 20:01:18.245754+00 |
| updated_at | 2025-04-14 12:56:11.93684+00 |
| description | Rust library for building Geneos Toolkit compatible applications |
| homepage | |
| repository | https://github.com/ITRS-Group/geneos-toolkit-rs |
| max_upload_size | |
| id | 1624672 |
| size | 74,044 |
geneos-toolkit is a Rust library for building Geneos Toolkit compatible applications. It provides utilities for creating structured Geneos Dataviews, handling environment variables (including encrypted ones), to simplify integration development.
Add the following to your Cargo.toml:
[dependencies]
geneos-toolkit = "0.1" # Use the latest version available
set_row_header.add_headline.add_value.row, column, value.get_var or get_secure_var.use geneos_toolkit::prelude::*;
fn main() -> Result<(), Box<dyn std::error::Error>> {
let clear_env_var = get_var_or("CLEAR_ENV_VAR", "Default Value");
let secure_env_var = get_secure_var("SECURE_ENV_VAR", "/path/to/key_file")?;
let dataview = Dataview::builder()
.set_row_header("Process")
.add_headline("Hostname", &hostname::get().unwrap_or_default().to_string_lossy())
.add_headline("Timestamp", &chrono::Utc::now().to_rfc3339())
.add_headline("Clear Env Var", &clear_env_var)
.add_headline("Secure Env Var", &secure_env_var)
.add_value("process1", "Status", "Running")
.add_value("process1", "CPU", "2.5%")
.add_value("process1", "Memory", "150MB")
.build()?;
println!("{}", dataview);
Ok(())
}
Contributions are welcome! If you have suggestions, bug fixes, or enhancements, please open an issue or submit a pull request.
This project is licensed under the Apache License, Version 2.0.
Copyright 2025 ITRS Group
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.