Skip to content

MauveSoftware/mauve-connect-check

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

37 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

mauve-connect-check

A command-line tool for verifying DNS configuration of domains in the Mauve Cloud infrastructure.

Overview

mauve-connect-check queries the Mauve Cloud domain manager API to verify whether a domain's DNS records match the expected configuration. It provides detailed, color-coded output showing which records pass, fail, or need attention.

Features

  • DNS Record Verification: Checks A, AAAA, and CNAME records against expected values
  • Colored Output: Clear visual feedback with color coding:
    • ✅ Green: Passed checks
    • ❌ Red: Failed checks
    • ⚠️ Yellow: Warnings (e.g., legacy configurations)
  • Wildcard Support: Handles wildcard DNS entries (e.g., *.example.com)
  • Legacy Detection: Warns about deprecated configurations and suggests improvements
  • Detailed Diffs: Shows expected vs actual DNS values for easy troubleshooting

Installation

From Source

# Clone the repository
git clone https://github.com/yourusername/mauve-connect-check.git
cd mauve-connect-check

# Build and install
cargo install --path .

Prerequisites

  • Rust 1.70 or later
  • Internet connection (for API queries)

Usage

mauve-connect-check <domain>

Examples

mauve-connect-check --verbose example.com

Exit Codes

The tool uses different exit codes to indicate the result:

  • 0: All checks passed
  • 1: Error during check (network, API, etc.)
  • 2: Missing or invalid argument
  • 3: DNS for given domain is not correct

Output Format

The tool provides a structured output showing:

  1. Domain being checked
  2. Overall check status
  3. Detailed record-by-record results including:
    • Record type (A, AAAA, CNAME)
    • Expected value
    • Actual value
    • Status (OK, NOT OK, etc.)

Example output:

Domain: mauve.de
Status: success

A mauve.de
Status: passed
incomplete
Values:
  10.10.0.1: ok
  10.10.0.2: not found

CNAME www.mauve.de
Status: passed
Values:
  frontend.mauve.: ok

Development

Building

cargo build --release

Running Tests

cargo test

Dependencies

  • anyhow: Error handling
  • clap: CLI
  • colored: Terminal output colorization
  • reqwest: HTTP client for API calls
  • serde & serde_json: JSON serialization
  • tokio: Async runtime

License

(c) Mauve Mailorder Software GmbH & Co. KG, 2025. Licensed under MIT license.

Author

Daniel Brendgen-Czerwonk

About

Internal tool to check for DNS configuratation issues

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published