Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions .github/FUNDING.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
custom: ['https://infinitytechstack.uk/consulting']
28 changes: 28 additions & 0 deletions .github/ISSUE_TEMPLATE/bug_report.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
---
name: Bug report
about: Report something that's broken in one of the Infinity Stack services
title: "[<service>] "
labels: bug
---

**Service affected**
`infinity-id` / `infinity-observe` / `infinity-data` / `infinity-stream`

**Describe the bug**
A clear, concise description of what's wrong.

**Steps to reproduce**
1.
2.
3.

**Expected behavior**
What you expected to happen instead.

**Environment**
- OS:
- Rust version (`rustc --version`):
- Run mode: local (`cargo run`) / Docker

**Logs / output**
Paste any relevant server logs or error output.
21 changes: 21 additions & 0 deletions .github/ISSUE_TEMPLATE/feature_request.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
---
name: Feature request
about: Suggest an idea for one of the Infinity Stack services
title: "[<service>] "
labels: enhancement
---

**Service affected**
`infinity-id` / `infinity-observe` / `infinity-data` / `infinity-stream` / stack-wide

**Is your feature request related to a problem?**
A clear description of the problem β€” e.g. "I can't do X without also running a separate tool."

**Describe the solution you'd like**
What you want to happen.

**Describe alternatives you've considered**
Other approaches or workarounds you've tried.

**Additional context**
Anything else β€” links, references, prior art in the SaaS product this service replaces.
23 changes: 23 additions & 0 deletions .github/PULL_REQUEST_TEMPLATE.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,23 @@
## Summary

<!-- What does this PR change, and why? -->

## Service(s) affected

- [ ] infinity-id
- [ ] infinity-observe
- [ ] infinity-data
- [ ] infinity-stream
- [ ] stack-wide (root README, CI, docs)

## Checklist

- [ ] `cargo check --workspace --all-targets` passes for each affected service
- [ ] `cargo test --workspace` passes for each affected service
- [ ] `cargo clippy --workspace --all-targets -- -D warnings` passes for each affected service
- [ ] `cargo audit` is clean (or a new advisory is documented in `.cargo/audit.toml` with reasoning)
- [ ] Relevant README(s) updated (API reference, config table, roadmap) if behavior changed

## Related issues

<!-- Closes #... -->
41 changes: 41 additions & 0 deletions CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,41 @@
# Contributor Covenant Code of Conduct

## Our Pledge

We as members, contributors, and leaders pledge to make participation in our community a harassment-free experience for everyone, regardless of age, body size, visible or invisible disability, ethnicity, sex characteristics, gender identity and expression, level of experience, education, socio-economic status, nationality, personal appearance, race, religion, or sexual identity and orientation.

We pledge to act and interact in ways that contribute to an open, welcoming, diverse, inclusive, and healthy community.

## Our Standards

Examples of behavior that contributes to a positive environment include:

- Demonstrating empathy and kindness toward other people
- Being respectful of differing opinions, viewpoints, and experiences
- Giving and gracefully accepting constructive feedback
- Accepting responsibility and apologizing to those affected by our mistakes, and learning from the experience
- Focusing on what is best not just for us as individuals, but for the overall community

Examples of unacceptable behavior include:

- The use of sexualized language or imagery, and sexual attention or advances of any kind
- Trolling, insulting or derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or email address, without their explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting

## Enforcement Responsibilities

Project maintainers are responsible for clarifying and enforcing our standards of acceptable behavior and will take appropriate and fair corrective action in response to any behavior that they deem inappropriate, threatening, offensive, or harmful.

## Scope

This Code of Conduct applies within all community spaces, and also applies when an individual is officially representing the community in public spaces.

## Enforcement

Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by opening an issue in this repository, or, if the report concerns another user and you'd prefer not to be public about it, by contacting a maintainer directly through their GitHub profile. All complaints will be reviewed and investigated promptly and fairly.

## Attribution

This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 2.1, available at https://www.contributor-covenant.org/version/2/1/code_of_conduct.html.
38 changes: 38 additions & 0 deletions CONTRIBUTING.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Contributing to Infinity Stack

Thanks for considering a contribution. Infinity Stack is a Cargo-workspace-per-service monorepo (`infinity-id`, `infinity-observe`, `infinity-data`, `infinity-stream`) β€” each service builds, tests, and runs independently.

## Getting set up

You'll need a stable Rust toolchain (see each service's `Cargo.toml` for the edition). No other services or databases are required β€” each ships with SQLite by default.

```bash
cd infinity-id # or infinity-observe / infinity-data / infinity-stream
cargo run --bin infinity-id
```

See the Quickstart section of the service's own README for its default port and admin credentials.

## Before opening a PR

Run the same checks CI runs (see `.github/workflows/ci.yml`), from inside the service directory you changed:

```bash
cargo check --workspace --all-targets
cargo test --workspace
cargo clippy --workspace --all-targets -- -D warnings
cargo audit
Comment on lines +21 to +24
```

A PR that only touches one service only needs that service's checks to pass.

## Guidelines

- Keep PRs scoped to one service where possible β€” the CI matrix runs each service independently, and focused PRs are easier to review.
- New dependencies should be justified in the PR description; `cargo audit` must stay clean (or the advisory must be documented in that service's `.cargo/audit.toml` with reasoning, matching the existing pattern).
- Security-relevant changes (auth, session handling, RBAC, crypto) should call out the threat being addressed or mitigated in the PR description β€” see each README's "Security" table for the existing threat model.
- Update the relevant README (API reference, config table, roadmap checkbox) alongside behavior changes.

## Reporting security issues

Please do not open a public issue for a suspected vulnerability. Open a private security advisory via the repository's **Security** tab instead.
19 changes: 19 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,13 +9,26 @@ Predictable performance. Memory safety. No GC pauses. Self-hostable. No per-seat
[![License](https://img.shields.io/badge/license-Apache--2.0-blue)](./infinity-id/LICENSE)
[![Rust](https://img.shields.io/badge/built%20with-Rust-000000?logo=rust)](https://www.rust-lang.org/)
[![CI](https://github.com/ModernOps888/infinity-stack/actions/workflows/ci.yml/badge.svg)](https://github.com/ModernOps888/infinity-stack/actions/workflows/ci.yml)
[![Stars](https://img.shields.io/github/stars/ModernOps888/infinity-stack?style=social)](https://github.com/ModernOps888/infinity-stack/stargazers)
[![Forks](https://img.shields.io/github/forks/ModernOps888/infinity-stack?style=social)](https://github.com/ModernOps888/infinity-stack/network/members)
[![Last commit](https://img.shields.io/github/last-commit/ModernOps888/infinity-stack)](https://github.com/ModernOps888/infinity-stack/commits/main)

If this stack is useful to you, a ⭐ helps other people building on Rust find it.

</div>

---

Rust's memory safety, C-like performance, and lack of garbage collection (predictable tail latency) make it the ideal tool to commoditize expensive cloud infrastructure. Infinity Stack spans four heavily-monopolized verticals β€” **identity, observability, data, and streaming** β€” each a self-hostable, security-hardened Rust service with an embedded admin dashboard.

| Infinity ID | Infinity Observe |
|---|---|
| ![Infinity ID overview](./infinity-id/docs/img/overview.png) | ![Infinity Observe overview](./infinity-observe/docs/img/overview.png) |

| Infinity Data | Infinity Stream |
|---|---|
| ![Infinity Data overview](./infinity-data/docs/img/overview.png) | ![Infinity Stream overview](./infinity-stream/docs/img/overview.png) |

## The products

| Product | Replaces | Status |
Expand Down Expand Up @@ -65,3 +78,9 @@ infinity-stack/
## License

[Apache-2.0](./infinity-id/LICENSE) Β© Infinity Stack.

---

## ⭐ Star History

[![Star History Chart](https://api.star-history.com/svg?repos=ModernOps888/infinity-stack&type=Date)](https://star-history.com/#ModernOps888/infinity-stack&Date)
Binary file added docs/social-preview.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
14 changes: 14 additions & 0 deletions infinity-data/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -84,6 +84,20 @@ infinity-data/

---

## πŸ†š How it compares

| | **Infinity Data** | Snowflake / Databricks | Pinecone |
|---|---|---|---|
| Open source | βœ… Apache-2.0 | ❌ | ❌ |
| Self-hosted single binary | βœ… | ❌ | ❌ |
| Per-credit / usage billing | βœ… none | ❌ | ❌ |
| Vector search (HNSW) included | βœ… | ⚠️ separate product | βœ… |
| Tabular analytics included | βœ… | βœ… | ❌ |
| RBAC + audit included | βœ… | ⚠️ tiered | ⚠️ tiered |
| Runtime footprint | 🟒 tiny (Rust), runs on a laptop | πŸ”΄ cloud-compute only | n/a managed only |

---

## πŸš€ Quickstart

```bash
Expand Down
13 changes: 13 additions & 0 deletions infinity-observe/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -124,6 +124,19 @@ infinity-observe/

---

## πŸ†š How it compares

| | **Infinity Observe** | Datadog / New Relic | Splunk | Sentry |
|---|---|---|---|---|
| Open source | βœ… Apache-2.0 | ❌ | ⚠️ partial | ⚠️ partial |
| Self-hosted single binary | βœ… | ❌ | ⚠️ heavy | ⚠️ heavy |
| Event-based billing | βœ… none | ❌ | ❌ | ❌ |
| Logs + metrics + traces + alerts | βœ… | βœ… | ⚠️ tiered | ❌ traces/errors only |
| RBAC included | βœ… | ⚠️ tiered | ⚠️ tiered | ⚠️ tiered |
| Runtime footprint | 🟒 tiny (Rust) | n/a | πŸ”΄ heavy | n/a |

---

## πŸš€ Quickstart

### Run locally (Rust)
Expand Down
14 changes: 14 additions & 0 deletions infinity-stream/README.md
Original file line number Diff line number Diff line change
Expand Up @@ -81,6 +81,20 @@ infinity-stream/

---

## πŸ†š How it compares

| | **Infinity Stream** | Kafka / Confluent | Elasticsearch | Algolia / Pusher |
|---|---|---|---|---|
| Open source | βœ… Apache-2.0 | ⚠️ partial | ⚠️ partial | ❌ |
| Self-hosted single binary | βœ… | ❌ needs JVM + ZooKeeper/KRaft | ❌ JVM, RAM-hungry | ❌ |
| Usage-spike billing | βœ… none | ⚠️ Confluent Cloud tiers | ⚠️ managed tiers | ❌ |
| Durable topics + full-text search in one binary | βœ… | ❌ search not included | ⚠️ search only | ❌ streaming not included |
| Realtime pub/sub (WebSocket) | βœ… | ⚠️ via Kafka Streams/Connect | ❌ | βœ… |
| RBAC + scoped API keys | βœ… | ⚠️ tiered (ACLs, no built-in RBAC UI) | ⚠️ tiered | ⚠️ tiered |
| Runtime footprint | 🟒 tiny (Rust) | πŸ”΄ heavy (JVM) | πŸ”΄ heavy (JVM) | n/a managed only |

---

## πŸš€ Quickstart

```bash
Expand Down
Loading