https://github.com/coreos/stream-metadata-rust
Rust API to interact with CoreOS stream metadata
https://github.com/coreos/stream-metadata-rust
Last synced: about 1 year ago
JSON representation
Rust API to interact with CoreOS stream metadata
- Host: GitHub
- URL: https://github.com/coreos/stream-metadata-rust
- Owner: coreos
- License: apache-2.0
- Created: 2021-05-03T21:05:54.000Z (about 5 years ago)
- Default Branch: main
- Last Pushed: 2025-03-25T19:39:18.000Z (over 1 year ago)
- Last Synced: 2025-04-14T22:08:10.498Z (about 1 year ago)
- Language: Rust
- Size: 71.3 KB
- Stars: 3
- Watchers: 7
- Forks: 10
- Open Issues: 5
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Rust library for interacting with CoreOS Stream metadata
See the [Fedora CoreOS documentation](https://docs.fedoraproject.org/en-US/fedora-coreos/getting-started/)
for basic information about streams.
This is a Rust library which defines standard structs that `#[derive(Deserialize)]`
for use with serde.
# Example usage
```
use anyhow::Result;
use coreos_stream_metadata::Stream;
#[tokio::main]
fn main() -> Result<()> {
let streamid = coreos_stream_metadata::fcos::StreamId::Stable;
let arch = "x86_64";
let region = "us-east-1";
let buf = reqwest::get(streamid.url())
.await?
.bytes()
.await?;
let stream: Stream = serde_json::from_slice(&buf)?;
let ami = stream.architectures.get(arch).unwrap().images.get("aws").unwrap().regions(region).unwrap();
println!("The AMI for FCOS {} {} is {} (version {})", streamid, region, ami.image, ami.release);
Ok(())
}
```