Skip to content

Inspired by my learning in the book Rust for Network Programming and Automation and the Golang Podinfo

License

Notifications You must be signed in to change notification settings

awdemos/demo-rust-server

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Rust Status Server

A lightweight HTTP server written in Rust that provides system information, health checks, and metrics endpoints. Inspired by podinfo, this server features Nu-shell compatible structured data output and a modern terminal-themed HTML interface.

Features

  • 🚀 Version information endpoint (/version)
  • 💓 Health check endpoint (/healthz)
  • 📊 Metrics endpoint (/metrics)
  • 🎨 Terminal-themed HTML output
  • 📋 JSON response support
  • 📝 Nu-shell compatible structured data

Quick Start

Clone the repository
git clone [[https://github.com/awdemos/demo-rust-server.git](https://github.com/awdemos/demo-rust-server.git)]
cd rust-status-server
cargo run
╭─────────┬───────────────────────╮
│ Status  │ Server Started        │
│ Address │ http://127.0.0.1:3000 │
╰─────────┴───────────────────────╯

Server will start at http://127.0.0.1:3000

Development

Prerequisites

  • Rust 1.70 or higher
  • Cargo package manager

Dependencies

  • tokio: Async runtime. This is for a simpler demo server using tokio. Might be removed later.
  • nu-table: Terminal table formatting
  • serde_json: JSON serialization
  • rustc_version_runtime: Rust version information

License

MIT License - See LICENSE for details.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

Roadmap

  • Implement feature parity with podinfo?
  • Add Docker container support
  • Add Kubernetes deployment examples
  • More Nu-shell compatible output options

About

Inspired by my learning in the book Rust for Network Programming and Automation and the Golang Podinfo

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages