Skip to content

Latest commit

 

History

History
75 lines (49 loc) · 2.56 KB

File metadata and controls

75 lines (49 loc) · 2.56 KB

Contributing to RustFS Flake

First off, thank you for considering contributing to RustFS! It's people like you that make RustFS such a great tool.

Development Workflow

This repository manages the Nix Flake for prebuilt RustFS binaries.

Prerequisites

Local Testing

Before submitting a PR, please ensure your changes are valid:

# Format check
nix shell nixpkgs#nixpkgs-fmt -c nixpkgs-fmt --check .

# Syntax and basic flake check
nix flake check

# Build the default package for your system
nix build .#default

# Test the example configuration
cd examples && nix eval .#nixosConfigurations.example-host.config.services.rustfs

Updating Binaries

The sources.json file tracks the upstream versions and hashes. When a new version of RustFS is released:

  1. Update the version field in sources.json.
  2. Update the sha256 hashes for all supported platforms.
  3. Verify the build: nix build ..

Coding Standards

  • Nix Style: Follow the Nixpkgs architecture guidelines.
  • Modularity: Keep the NixOS module (nixos/rustfs.nix) decoupled from the package definition.
  • Documentation: Any new option in the NixOS module must include a clear description.

Pull Request Process

  1. Create a new branch: git checkout -b feat/your-feature-name.
  2. Commit your changes using Conventional Commits (e.g., feat: add tlsDirectory option).
  3. Ensure the examples/ are updated if you change the module interface.
  4. Submit the PR and wait for the maintainers' review.

Security

If you discover a security vulnerability, please do not open an issue. Instead, contact the maintainers directly using the contact options provided in this repository's hosting platform.


By contributing, you agree that your contributions will be licensed under the project's LICENSE.