chore: finalize alpha-0.0.1

This commit is contained in:
Kaiy Belist 2026-03-11 16:20:59 +05:00
parent 39759db7c2
commit 910c6ee5ac
2 changed files with 56 additions and 21 deletions

View File

@ -1,35 +1,35 @@
name: "Docker" name: Docker Build and Publish
on: on:
push: push:
tags: ['v*']
env: env:
PLATFORMS: linux/amd64,linux/arm64,linux/arm/v7 REGISTRY: ghcr.io
IMAGE_NAME: ${{ github.repository }}
jobs: jobs:
monolith: build:
name: Docker image
runs-on: ubuntu-latest runs-on: ubuntu-latest
permissions: permissions:
contents: read contents: read
packages: write packages: write
steps: steps:
- name: Checkout - name: Checkout repository
uses: actions/checkout@v3 uses: actions/checkout@v4
- name: Set up QEMU
uses: docker/setup-qemu-action@v1 - name: Log in to the Container registry
- name: Set up Docker Buildx uses: docker/login-action@v3
uses: docker/setup-buildx-action@v2
- name: Login to GitHub Containers
uses: docker/login-action@v2
with: with:
registry: ghcr.io registry: ${{ env.REGISTRY }}
username: ${{ github.repository_owner }} username: ${{ github.actor }}
password: ${{ secrets.GITHUB_TOKEN }} password: ${{ secrets.GITHUB_TOKEN }}
- name: Build Docker image
uses: docker/build-push-action@v3 - name: Build and push Docker image
uses: docker/build-push-action@v5
with: with:
context: . context: .
platforms: ${{ env.PLATFORMS }}
push: true push: true
tags: | tags: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:latest, ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}:${{ github.ref_name }}
ghcr.io/${{ github.repository_owner }}/yggmail:${{ github.ref_name == 'main' && 'latest' || github.ref_name }}

View File

@ -2,7 +2,43 @@
**Ygggo** is a fork of [Yggmail](https://www.google.com/search?q=https://github.com/yggdrasil-network/yggmail). It is a single-binary, all-in-one Mail Transfer Agent (MTA) that sends and receives email natively over the [Yggdrasil Network](https://yggdrasil-network.github.io/). **Ygggo** is a fork of [Yggmail](https://www.google.com/search?q=https://github.com/yggdrasil-network/yggmail). It is a single-binary, all-in-one Mail Transfer Agent (MTA) that sends and receives email natively over the [Yggdrasil Network](https://yggdrasil-network.github.io/).
## 🚀 Key Improvements in Ygggo (Changelog)
## 🛠 CURRENT STATUS: Testing & PoF (Proof of Failure)
**WARNING:** The current version of Ygggo is an experimental implementation. It is susceptible to resource exhaustion attacks and high-load instability. Use only for testing and research purposes.
## TODO / Roadmap
### !!! Performance & Reliability
* **!!! Worker Pool Implementation:** Transitioning from "goroutine-per-request" to a managed Worker Pool to prevent resource exhaustion during high load. **Current state: Vulnerable to OOM/Overload.**
* **!!! Memory Management:** Continuous audit of escape analysis to minimize heap allocations in hot paths.
* **!!! Context Propagation:** Ensuring strict `context.Context` usage across all I/O operations for reliable timeouts and Graceful Shutdown.
* **!!! Enhanced Caching:** Implementing an in-memory decorator for the Storage layer to reduce SQLite contention.
All of this is Legacy from yggmail.
Its mean. Ygggo can overload your server, node and can be attacked! ONLY FOR Test and see on PoC!
### ⚙️ Core & Architecture
* **Code Decomposition:** Extracting `ygggo-core` to allow integration into third-party Go projects without pulling in the entire MTA stack.
* **Multi-network Transport:** Decoupling the transport layer from Yggdrasil-only logic. Transitioning to a composition-based approach where routing is based on ed25519 public keys, regardless of the underlying network (L3/L4/Overlay)
Transitioning from a monolithic MTA to a modular ecosystem based on the principle of Separation of Concerns:
* **ygggo-core:** Extraction of core primitives into a standalone Go module.
* Unified Cryptography API (Ed25519 <-> X25519 conversion).
* Common Protobuf definitions for cross-module compatibility.
* Generic streaming interfaces for data handling.
* **ygggo-node:** Specialized implementation for high-traffic public nodes.
* Focus on scalability: Worker Pool, advanced SQLite/PostgreSQL connection pooling.
* Public-facing bridge functionality with rate limiting and DDoS protection.
**BREAKING CHANGES NOTICE:** Future updates will break compatibility with "old-node" versions. The repository structure is subject to major changes.
You shouldnt make Federation now!
## Key Improvements in Ygggo (Changelog)
This fork introduces several architectural shifts and performance optimizations: This fork introduces several architectural shifts and performance optimizations:
@ -23,7 +59,6 @@ This fork introduces several architectural shifts and performance optimizations:
* **Code Quality:** Significant decomposition of the original codebase for better maintainability. * **Code Quality:** Significant decomposition of the original codebase for better maintainability.
--- ---
## Features ## Features