Skip to content

project core upgrade #273

New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Merged
merged 1 commit into from
Jun 24, 2025
Merged
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
92 changes: 63 additions & 29 deletions apps/docs/content/features/infrastructure.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -6,35 +6,33 @@ import Image from '/src/components/Image';
import { CheckCircleSolid } from "@medusajs/icons";
import { Dropdown, DropdownItem } from '/src/components/Dropdown';

Zerops organizes your infrastructure into three hierarchical levels: **projects**, **services**, and **containers**.
Zerops organizes your infrastructure into three hierarchical levels: **projects**, **services**, and **containers**. This structure provides secure networking, resource isolation, and scalable application deployment.

## Projects

A project is the top-level entity in Zerops, functioning as a private network where services can communicate internally and share environment variables. Each project provides essential infrastructure including load balancing, routing, and container orchestration.

:::tip
Consider your project organization strategy carefully. You can create separate projects for different environments or consolidate multiple applications in a single project to optimize resource usage.
:::

### Key Project Features

Projects provide several important capabilities:
- **Private Networking**: All services within a project share a secure network
- **Environment Variables**: Services can access shared environment variables
- **IPv6/IPv4 Addressing**: Each project receives an IPv6 address, with optional IPv4 addressing
- **Integrated Security**: Built-in firewall and SSL certificate management

### Project Core
:::tip Project Organization
Consider your project strategy carefully. Create separate projects for different environments (dev/staging/prod) or consolidate related applications in a single project to optimize resources and simplify networking.
:::

When you create a project, it requires a functioning **core** that includes:
- Logger and statistics services
- HTTP routing with automatic SSL certificate management
- IP routing with integrated firewall
### Project Core Options

When you create a project, it requires a functioning **core** that includes logger and statistics services, HTTP routing with automatic SSL certificate management, and IP routing with integrated firewall.

Zerops offers two core types to match different needs and budgets:

### Lightweight Core
#### Lightweight Core

Single-container solution perfect for development projects and smaller production workloads. Includes project controller, L3 balancer, firewall, logger, statistics, and HTTP handling in one efficient package.

Our single-container solution that packs everything you need to get started quickly. Includes a project controller, L3 balancer, firewall, logger, statistics, and HTTP handling—all in one efficient package. Perfect for development projects and smaller production workloads where simplicity matters. Automatically handles SSL certificates and load balancing without complex setup.
<br/>
<Image
lightImage="/img/mind-maps/lightweight.svg"
Expand All @@ -43,25 +41,32 @@ Our single-container solution that packs everything you need to get started quic
width: '44%',
height: 'auto',
display: 'block',
margin: '0 auto 0 0' /* top right bottom left */
margin: '0 auto 0 10'
}}
alt="Lightweight Core"
/>
<br/>
:::tip Ideal For
Development environments, low-traffic applications, personal projects, budget-conscious teams.
:::

#### Serious Core

### Serious Core
Enterprise-grade infrastructure with separated core services across multiple containers for true redundancy and high availability.

Enterprise-grade infrastructure designed for mission-critical applications. Separates core services across multiple containers for true redundancy and high availability. Includes redundant project controllers and balancers, dedicated statistics and logging services, and advanced HTTP management. Ideal when your production workloads demand maximum reliability and scalability without compromise.
<br/>
<Image
lightImage="/img/mind-maps/serious.svg"
darkImage="/img/mind-maps/serious-dark.svg"
style={{ width: '100%', height: 'auto' }}
alt="Serious Core"
/>
<br/>
:::tip Ideal For
Production applications, high-traffic websites, mission-critical business applications, teams requiring maximum uptime.
:::

### Features Comparison

Compare our core infrastructure options side-by-side to find the right fit for your project needs, from resource allocations to available features:
#### Features Comparison

<br/>
<table className="w-full">
Expand Down Expand Up @@ -121,23 +126,52 @@ Compare our core infrastructure options side-by-side to find the right fit for y
</tbody>
</table>

For detailed pricing information on both core types, visit our [pricing page](/features/pricing#project-core-plans).
For detailed pricing information on both core types, visit our [pricing page](/features/pricing#project-core-options-plans).

#### Project Core Upgrade

You can upgrade from Lightweight Core to Serious Core for enhanced reliability and increased resources.

:::warning Important
The core upgrade is a **partially destructive process** that will temporarily disrupt your project's operations. Plan upgrades during maintenance windows.
:::

**What happens during upgrade:**
- All project logs and statistics will be lost (forwarded logs/statistics are not affected)
- Services will be network-unavailable during the process (avg. 35 seconds but can take longer)
- $10 project core fee will be charged upon upgrade
- Free project resources will reset to Serious Core limits
- Project IP addresses remain unchanged

:::important
If you encounter issues, **contact support immediately** and try running the process again.
:::

## Services

Services encapsulate your containers and provide specific functionality. A project can contain unlimited services, each with its own purpose.
Services encapsulate your containers and provide specific functionality within a project. A project can contain unlimited services, each with its own purpose.

**Service types include:**
- Runtimes, Linux Containers & Docker
- Databases, Search Engines & Messages Brokers
- Storages
- *System services (needed for fully functioning project core)*

**Management options:**
- **Fully managed**: Zerops handles scaling, routing, and repairs automatically (Databases and Storages)
- **Partially managed**: You maintain control over certain management aspects (Runtimes)

Services in Zerops can be:
- **Fully managed**: Zerops handles scaling, routing, and repairs automatically
- **Partially managed**: You maintain control over certain management aspects
Services within a project communicate via internal hostnames and can share environment variables for seamless integration.

## Containers

Containers are the most granular level of the Zerops architecture. Each service consists of one or more containers that work together to deliver functionality.

In High Availability (HA) mode, a service may utilize multiple containers with different roles. For example, a fully managed MariaDB service might use 5 containers: 3 for the database and 2 for proxies.
**Container deployment:**
- Single containers for simple applications
- Multiple containers for High Availability (HA) mode (e.g. fully managed MariaDB service in HA mode uses 3 containers for the database cluster and 2 for proxies)

Containers in Zerops:
- Use predefined images ranging from fully managed databases to customizable Ubuntu environments
- Can be exposed to the public via Zerops subdomains, custom domains, or public ports (for applicable service types only)
- Operate within the service's resource constraints
**Container capabilities:**
- Use predefined images or custom configurations
- Can be exposed publicly via Zerops subdomains, custom domains, or public ports
- Operate within service resource constraints with automatic scaling
2 changes: 1 addition & 1 deletion apps/docs/content/features/scaling-ha.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -44,7 +44,7 @@ Docker services do not support automatic vertical scaling. Resource values can b

### At-a-Glance Comparison

* ✓ = Available *(needs to be configured)*
* ✓ = Available *(configurable, defaults vary according to service type)*
<table className="w-full my-1.5">
<thead>
<tr>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import IconFilament from '@theme/Icon/Filament';

[Filament](https://filamentphp.com/) is a collection of tools for rapidly building beautiful TALL stack (Tailwind, Alpine, Laravel, Livewire) applications. It provides a powerful admin panel, form builder, table builder, and other components that help you build feature-rich web applications with minimal effort.

This recipe demonstrates how to effectively integrate Laravel Filament applications with Zerops, providing a fully production-capable setup. While this setup is built for professional deployment, we call it a **development environment** due to its streamlined resource allocation and use of the [Lightweight](/features/infrastructure#project-core) core package, optimizing costs without compromising functionality.
This recipe demonstrates how to effectively integrate Laravel Filament applications with Zerops, providing a fully production-capable setup. While this setup is built for professional deployment, we call it a **development environment** due to its streamlined resource allocation and use of the [Lightweight](/features/infrastructure#project-core-options) core package, optimizing costs without compromising functionality.

<CustomCard icon={IconFilament} title="Deploy Filament Development Stack">
<div className="flex-grow pb-1 pt-0.5">Set up a Laravel environment with Filament's admin panel and TALL stack in a development-optimized configuration.</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import IconFilament from '@theme/Icon/Filament';

[Filament](https://filamentphp.com/) is a collection of tools for rapidly building beautiful TALL stack (Tailwind, Alpine, Laravel, Livewire) applications. It provides a powerful admin panel, form builder, table builder, and other components that help you build feature-rich web applications with minimal effort.

This recipe provides a comprehensive Filament setup with PostgreSQL database, Redis-compatible store, object storage, and automated deployment pipeline, designed for **local development** This recipe provides a streamlined Laravel setup with PostgreSQL database and automated deployment pipeline, designed for **local development** with cost-efficient resource allocation and the [Lightweight](/features/infrastructure#project-core) core package. This means:
This recipe provides a comprehensive Filament setup with PostgreSQL database, Redis-compatible store, object storage, and automated deployment pipeline, designed for **local development** This recipe provides a streamlined Laravel setup with PostgreSQL database and automated deployment pipeline, designed for **local development** with cost-efficient resource allocation and the [Lightweight](/features/infrastructure#project-core-options) core package. This means:
- Resources are optimized for development workloads
- Services can be started/stopped as needed during active development
- Cost-effective configuration suitable for development and testing
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import IconFilament from '@theme/Icon/Filament';

[Filament](https://filamentphp.com/) is a collection of tools for rapidly building beautiful TALL stack (Tailwind, Alpine, Laravel, Livewire) applications. It provides a powerful admin panel, form builder, table builder, and other components that help you build feature-rich web applications with minimal effort.

This recipe demonstrates how to effectively integrate Laravel Filament applications with Zerops, providing a fully production-grade setup. It's built as a **production environment** with high-availability configuration and uses the [Serious](/features/infrastructure#project-core) core package, ensuring enterprise-grade reliability and robust performance.
This recipe demonstrates how to effectively integrate Laravel Filament applications with Zerops, providing a fully production-grade setup. It's built as a **production environment** with high-availability configuration and uses the [Serious](/features/infrastructure#project-core-options) core package, ensuring enterprise-grade reliability and robust performance.

<CustomCard icon={IconFilament} title="Deploy Production-Ready Filament">
<div className="flex-grow pb-1 pt-0.5">Set up a production-ready Laravel environment with Filament's admin panel and TALL stack, backed by enterprise-grade reliability.</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import IconLaravelJetstream from '@theme/Icon/LaravelJetstream';

Laravel Jetstream provides a polished application scaffolding for Laravel, featuring authentication, registration, email verification, two-factor authentication, session management, API support via Laravel Sanctum, and optional team management features. It serves as the perfect starting point for your next Laravel application.

This recipe demonstrates how to effectively integrate Laravel Jetstream applications with Zerops, providing a fully production-capable setup. While this setup is built for professional deployment, we call it a **development environment** due to its streamlined resource allocation and use of the [Lightweight](/features/infrastructure#project-core) core package, optimizing costs without compromising functionality.
This recipe demonstrates how to effectively integrate Laravel Jetstream applications with Zerops, providing a fully production-capable setup. While this setup is built for professional deployment, we call it a **development environment** due to its streamlined resource allocation and use of the [Lightweight](/features/infrastructure#project-core-options) core package, optimizing costs without compromising functionality.

<CustomCard icon={IconLaravelJetstream} title="Deploy Laravel Jetstream Development Stack">
<div className="flex-grow pb-1 pt-0.5">Set up a Laravel environment with Jetstream's team features and authentication system in a development-optimized configuration.</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import IconLaravelJetstream from '@theme/Icon/LaravelJetstream';

Laravel Jetstream provides a polished application scaffolding for Laravel, featuring authentication, registration, email verification, two-factor authentication, session management, API support via Laravel Sanctum, and optional team management features. It serves as the perfect starting point for your next Laravel application.

This recipe provides a comprehensive Laravel Jetstream setup with PostgreSQL database, Redis-compatible store, object storage, and automated deployment pipeline, designed for **local development** with cost-efficient resource allocation and the [Lightweight](/features/infrastructure#project-core) core package. This means:
This recipe provides a comprehensive Laravel Jetstream setup with PostgreSQL database, Redis-compatible store, object storage, and automated deployment pipeline, designed for **local development** with cost-efficient resource allocation and the [Lightweight](/features/infrastructure#project-core-options) core package. This means:
- Resources are optimized for development workloads
- Services can be started/stopped as needed during active development
- Cost-effective configuration suitable for development and testing
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import IconLaravelJetstream from '@theme/Icon/LaravelJetstream';

Laravel Jetstream provides a polished application scaffolding for Laravel, featuring authentication, registration, email verification, two-factor authentication, session management, API support via Laravel Sanctum, and optional team management features. It serves as the perfect starting point for your next Laravel application.

This recipe demonstrates how to effectively integrate Laravel Jetstream applications with Zerops, providing a fully production-grade setup. It's built as a **production environment** with high-availability configuration and uses the [Serious](/features/infrastructure#project-core) core package, ensuring enterprise-grade reliability and robust performance.
This recipe demonstrates how to effectively integrate Laravel Jetstream applications with Zerops, providing a fully production-grade setup. It's built as a **production environment** with high-availability configuration and uses the [Serious](/features/infrastructure#project-core-options) core package, ensuring enterprise-grade reliability and robust performance.

<CustomCard icon={IconLaravelJetstream} title="Deploy Production-Ready Laravel Jetstream">
<div className="flex-grow pb-1 pt-0.5">Set up a production-ready Laravel environment with Jetstream's team features and authentication system, backed by high-availability services.</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import DeployButton from '@site/src/components/DeployButton';
import CustomCard from '@site/src/components/CustomCard';
import IconLaravel from '@theme/Icon/Laravel';

This recipe demonstrates how to effectively integrate Laravel applications with Zerops, providing a fully production-capable setup. While it's built for professional deployment, we call it a **development environment** due to its streamlined resource allocation and use of the [Lightweight](/features/infrastructure#project-core) core package, optimizing costs without compromising functionality.
This recipe demonstrates how to effectively integrate Laravel applications with Zerops, providing a fully production-capable setup. While it's built for professional deployment, we call it a **development environment** due to its streamlined resource allocation and use of the [Lightweight](/features/infrastructure#project-core-options) core package, optimizing costs without compromising functionality.

<CustomCard icon={IconLaravel} title="Deploy Laravel Minimal Development Stack">
<div className="flex-grow pb-1 pt-0.5">Set up a streamlined Laravel environment with development-optimized resources and configurations.</div>
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import DeployButton from '@site/src/components/DeployButton';
import CustomCard from '@site/src/components/CustomCard';
import IconLaravel from '@theme/Icon/Laravel';

This recipe provides a streamlined Laravel setup with PostgreSQL database and automated deployment pipeline, designed for **local development** with cost-efficient resource allocation and the [Lightweight](/features/infrastructure#project-core) core package. This means:
This recipe provides a streamlined Laravel setup with PostgreSQL database and automated deployment pipeline, designed for **local development** with cost-efficient resource allocation and the [Lightweight](/features/infrastructure#project-core-options) core package. This means:
- Resources are optimized for development workloads
- Services can be started/stopped as needed during active development
- Cost-effective configuration suitable for development and testing
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ import DeployButton from '@site/src/components/DeployButton';
import CustomCard from '@site/src/components/CustomCard';
import IconLaravel from '@theme/Icon/Laravel';

This recipe demonstrates how to effectively integrate Laravel applications with Zerops, providing a fully production-grade setup. It's built as a **production environment** with high-availability configuration and uses the [Serious](/features/infrastructure#project-core) core package, ensuring enterprise-grade reliability and robust performance.
This recipe demonstrates how to effectively integrate Laravel applications with Zerops, providing a fully production-grade setup. It's built as a **production environment** with high-availability configuration and uses the [Serious](/features/infrastructure#project-core-options) core package, ensuring enterprise-grade reliability and robust performance.

<CustomCard icon={IconLaravel} title="Deploy Production-Ready Laravel Recipe">
<div className="flex-grow pb-1 pt-0.5">Set up a production-ready Laravel environment with high-availability services and enterprise-grade reliability.</div>
Expand Down
Loading