Image Packaging System in Rust - mirror
Find a file
Till Wegmueller ff0b9f4319
Add support for file URL without algorithm and refactor JSON serialization for Python-style compatibility
- Added `/file/1/{digest}` route to support file retrieval without specifying the algorithm.
- Implemented a Python-compatible JSON serializer to ensure consistent formatting for catalog artifacts.
- Replaced `HashMap` with `BTreeMap` for deterministic ordering in catalog serialization and updates.
- Updated integration tests to validate the new route functionality and ensure response correctness.
- Refactored `format_iso8601_basic` to improve timestamp formatting consistency.
2025-12-22 22:42:56 +01:00
.github Update GitHub Actions workflows: upgrade actions/checkout and cache to v4, replace actions-rs/toolchain with dtolnay/rust-toolchain, and simplify toolchain setup. 2025-07-26 23:49:57 +02:00
.idea Add comprehensive documentation for IPS search index design and implementation 2025-12-08 20:10:30 +01:00
.junie Add xtask for build and test automation, replacing legacy scripts, and integrate commands for environment setup, build, test, and formatting. Update documentation for cargo-xtask usage. 2025-07-26 14:18:30 +02:00
.vscode Adding ports and specfile crates. Switch to thiserror for libraries 2022-09-02 23:48:26 +02:00
doc Add comprehensive documentation for IPS search index design and implementation 2025-12-08 20:10:30 +01:00
docs/ai Add detailed documentation for Redb-based IPS Search Index schema and encoding plans 2025-12-08 20:10:04 +01:00
libips Add support for file URL without algorithm and refactor JSON serialization for Python-style compatibility 2025-12-22 22:42:56 +01:00
pkg6 Refactor to align with Rust formatting guidelines and enhance code readability. 2025-12-22 20:10:17 +01:00
pkg6depotd Add support for file URL without algorithm and refactor JSON serialization for Python-style compatibility 2025-12-22 22:42:56 +01:00
pkg6repo Refactor to align with Rust formatting guidelines and enhance code readability. 2025-12-22 20:10:17 +01:00
pkgtree Refactor to align with Rust formatting guidelines and enhance code readability. 2025-12-22 20:10:17 +01:00
ports Refactor to align with Rust formatting guidelines and enhance code readability. 2025-12-22 20:10:17 +01:00
specfile Refactor to align with Rust formatting guidelines and enhance code readability. 2025-12-22 20:10:17 +01:00
userland Refactor to align with Rust formatting guidelines and enhance code readability. 2025-12-22 20:10:17 +01:00
xtask Refactor codebase to improve formatting, logging clarity, and error handling 2025-07-27 15:22:49 +02:00
.gitignore Replace anyhow with custom RepositoryError for improved error specificity and consistency. Remove anyhow dependency. 2025-07-26 16:50:10 +02:00
.replit Add run on repl.it badge to README 2020-07-03 09:24:40 +00:00
Cargo.lock Add caching headers, admin routes, and configurable cache max-age support 2025-12-09 20:23:00 +01:00
Cargo.toml Add REST API v1 endpoints and legacy catalog handling for pkg6depotd 2025-12-08 21:36:37 +01:00
IMPLEMENTATION_STATUS.md fixup catalog locations and import. Add end2end test for that. (ignored by default) 2025-08-13 19:09:22 +02:00
Jenkinsfile Integrate GitHub Actions workflows for CI, replacing legacy scripts with xtask automation for formatting, linting, builds, tests, and documentation. Update Jenkinsfile to clarify its restricted usage for illumos builds. 2025-07-26 17:58:11 +02:00
LICENSE Add MPL V2 license 2020-05-17 21:52:39 +02:00
Makefile Add Publishing metadata 2021-05-01 16:26:04 -03:00
pkg6depotd.kdl Introduce foundational structure for pkg6depotd 2025-12-08 20:11:05 +01:00
ports.spec Adding ports and specfile crates. Switch to thiserror for libraries 2022-09-02 23:48:26 +02:00
README.md Fixup build scripts 2022-09-04 15:23:10 -03:00
run_local_import_test.sh Simplify pkg5_import.rs by removing redundant directory creation logic; delegate to Transaction.commit() for handling. 2025-07-27 12:19:38 +02:00
run_openindiana_image_import.sh fixup catalog locations and import. Add end2end test for that. (ignored by default) 2025-08-13 19:09:22 +02:00
run_sample_install.sh Refactor solver and manifest handling 2025-08-21 23:52:11 +02:00
test_repo_operations.sh Organize repository files into hierarchical directory structure for improved scalability 2025-07-27 13:15:52 +02:00
Vagrantfile Update Vagrantfile with memory configuration, synced folder, and provisioning enhancements 2025-12-22 19:39:15 +01:00

Image Packaging System for illumos

libips

The libips crate contains all modules and functions one needs to implement an Image Packaging System based utility.

Be that a server, client or other utilities.

Includes Python bindings with PyO3.

This project is intended to gradually replace the current python based implementation of IPS. Most things are documented in the docs directory but some things have been added over the years which has not been properly documented. Help is welcome but be advised, this is mainly intended for use within the illumos community and it's distributions. Big changes which are not in the current IPS will need to be carefully coordinated to not break the current IPS.