diff --git a/src/background-information.md b/src/background-information.md index b5df6db..2eafe0e 100644 --- a/src/background-information.md +++ b/src/background-information.md @@ -45,7 +45,3 @@ The beauty of Brainpod is that you get all the benefits of Kubernetes without ne ## Cloud-Native with Brainpod Brainpod embraces cloud-native principles while keeping things simple. You build with containers, packaging your application once and running it anywhere. We ensure your app stays running so you can deploy with confidence, while automatic scaling handles traffic spikes without manual intervention. Your data stays in Europe, giving you the benefits of Dutch data sovereignty and GDPR compliance. Most importantly, we handle all the infrastructure complexity so you can focus on writing code instead of managing servers. - -## Next Steps - -- [Brainpod Concepts](brainpod.md) – Brainpod Concepts diff --git a/src/brainpod.md b/src/brainpod.md deleted file mode 100644 index 9c374b4..0000000 --- a/src/brainpod.md +++ /dev/null @@ -1,67 +0,0 @@ ---- -order: 0 -hide_menu: false ---- -# Brainpod Concepts - -Now that you understand the cloud-native foundation, let's explore how Brainpod organizes and manages your applications. - -## Pods - -A pod is your own isolated micro-cluster within Brainpod, your personal workspace where you can deploy applications, manage data, and control your infrastructure. - -Almost everything belongs to a pod. Resources, container images, and settings are all contained within your pod. This isolation means you can safely experiment and deploy without conflicts. Multiple team members can work within the same pod. - -Pods give you clear boundaries and ownership. Development stays separate from production. Different projects get their own space. You control what happens inside your pod while we handle the infrastructure. - -## Resources - -We use a resource model to represent your infrastructure. Each resource is a high-level abstraction—a single resource might map to dozens of underlying components like deployments, services, load balancers, and configurations. - -You work at a much higher level than traditional cloud providers. Instead of configuring individual pieces, you simply define an app and a route. The platform handles the complexity. - -Currently, we support two resource types: - -- **[Apps](resources/apps.md)** — Your containerized applications -- **[Routes](resources/routes.md)** — HTTP/HTTPS routing to your apps - -Learn more in the [Resources documentation](resources.md). - -## Revisions - -Most deployment tools lack proper version control for infrastructure changes. There's no clear history of what changed or when. We solve this with revisions. - -### Git-Like Interface - -Revisions give you a git-like interface built directly into the platform. Every change to your resources creates a new revision. You can see exactly what changed, compare versions, and track the evolution of your infrastructure. - -You get a complete audit trail. Who made the change? When? What was modified? It's all in the revision history. - -### How Revisions Work - -When you create or modify a resource, we create a new revision in the `draft` state. In draft, you can safely make changes without affecting production. - -Once you're ready, click "Deploy." The revision moves to `waiting` while the platform picks it up. When deployment starts, it moves to `pending`. Finally, it reaches either `ready` (success) or `failed`. - -Previous revisions remain in history, ready to be restored if needed. You can compare any two revisions to see exactly what changed. - -### Roll Back with Confidence - -Made a change that caused problems? Rolling back is simple. Restore a previous revision, and we return your infrastructure to that exact state. No guessing about what settings to change, just return to a known-good configuration. - -This makes experimentation safer. Try new configurations, test approaches, and know you can always get back to what worked. - -## Putting It Together - -You create a pod for your project. Within that pod, you define resources, an app and a route. When you create or update resources, we create revisions that capture the changes. After deploying, we translate your high-level definitions into the necessary cloud infrastructure. - -Your team sees the complete history, can roll back if needed, and collaborates on infrastructure like you do with code. - -## Next Steps - -Ready to work with specific resource types and start building? - -- [Resources](resources.md) – Learn about Apps and Routes in detail -- [Getting Started](getting-started.md) – Deploy your first application -- [Working with the Dashboard](dashboard.md) – Navigate the interface -- [background information](background-information.md) – Review the foundation diff --git a/src/custom_domains.md b/src/custom-domains.md similarity index 94% rename from src/custom_domains.md rename to src/custom-domains.md index 1c5725c..3deffb8 100644 --- a/src/custom_domains.md +++ b/src/custom-domains.md @@ -40,7 +40,3 @@ A single route can have multiple custom domains. This is useful when you want se To add multiple domains, simply add each domain when creating or editing your route configuration. After deploying, configure DNS records for each domain separately in your DNS provider. Each domain gets its own TLS certificate and verification status on the Domains page. All domains on a route use the same routing rules and point to the same apps. - -## Next Steps -- [Resources](resources.md) — Learn about apps and routes -- [Getting Started](getting-started.md) — Deploy your first application diff --git a/src/getting-started.md b/src/getting-started.md index 9be34ee..42a579b 100644 --- a/src/getting-started.md +++ b/src/getting-started.md @@ -84,9 +84,9 @@ This same workflow applies whether you're deploying your first app or updating a Now that you have a basic application running, explore these topics: - [Push your own images](registry.md) to Brainpod's private registry -- [Configure apps](resources/apps.md) with environment variables and scaling -- [Set up custom domains](resources/routes.md#hostnames-and-domains) for your routes - [Learn about resources](resources.md) and how apps and routes work together +- [Configure apps](resources/apps.md) with environment variables and scaling +- [Set up custom domains](custom-domains.md) for your routes ## Common Questions diff --git a/src/index.md b/src/index.md index e628788..151aeaa 100644 --- a/src/index.md +++ b/src/index.md @@ -16,8 +16,38 @@ Brainpod is a European cloud-native application platform that makes deploying an **Real-time Observability**: Application logs are captured and displayed in real-time—just write to stdout. -**Dutch Infrastructure**: Your applications run on Dutch servers with a Dutch cloud provider. Built by a Dutch company, hosted in the Netherlands, ensuring full compliance with European data sovereignty requirements. +**Dutch Infrastructure**: Your applications run on Dutch servers, ensuring full compliance with European data sovereignty requirements. + +## How Brainpod Works + +### Pods + +A pod is your isolated workspace within Brainpod where you deploy applications and manage infrastructure. Resources, container images, and settings are contained within your pod, allowing safe experimentation without conflicts. Multiple team members can collaborate within the same pod. + +### Resources + +We use a resource model to represent your infrastructure. Each resource is a high-level abstraction. Instead of configuring individual components, you simply define what you need and the platform handles the complexity. + +Currently, we support two resource types: + +- **[Apps](resources/apps.md)** — Your containerized applications +- **[Routes](resources/routes.md)** — HTTP/HTTPS routing to your apps + +Learn more in the [Resources documentation](resources.md). + +### Revisions + +Every change to your resources creates a new revision, giving you complete version control for infrastructure changes. You can see exactly what changed, compare versions, and track the evolution of your infrastructure. + +When you create or modify a resource, we create a new revision in the `draft` state where you can safely make changes. Once ready, click "Deploy" and the revision moves through `waiting`, `pending`, and finally `ready` or `failed`. + +Previous revisions remain in history for easy rollback. Made a change that caused problems? Simply restore a previous revision to return to a known-good configuration. + +### Putting It Together + +Create a pod for your project, define resources (apps and routes), and deploy. We translate your high-level definitions into the necessary cloud infrastructure. Your team sees the complete history and can roll back when needed. ## Next Steps -- [Cloud-Native Concepts](cloud-native.md) – Review the foundation +- [Getting Started](getting-started.md) — Deploy your first application +- [Resources](resources.md) — Learn about Apps and Routes in detail \ No newline at end of file diff --git a/src/registry.md b/src/registry.md index 8f3cd9c..107b521 100644 --- a/src/registry.md +++ b/src/registry.md @@ -1,5 +1,5 @@ --- -order: 4 +order: 3 hide_menu: false --- # Container Registry @@ -95,6 +95,5 @@ The registry works with any tool that supports Docker registries—GitHub Action Ready to push your first image? -- [API Keys](/api-keys.md) – Generate and manage API keys - [Getting Started](/getting-started.md) – Deploy an app using a registry image - [Resources](/resources.md) – Learn about Apps and Routes diff --git a/src/resources.md b/src/resources.md index 316e6a9..d28b653 100644 --- a/src/resources.md +++ b/src/resources.md @@ -1,5 +1,5 @@ --- -order: 3 +order: 2 hide_menu: false --- # Brainpod Resources @@ -35,9 +35,7 @@ Routes can point to multiple apps using different path prefixes. Apps can be tar Ready to deploy your first application? +- [Getting Started](getting-started.md) — Deploy your first app and route - [Apps](apps.md) — Deploy containerized applications - [Routes](routes.md) — Expose apps on the internet -- [Getting Started](getting-started.md) — Deploy your first app and route -- [Working with the Dashboard](dashboard.md) — Manage resources in the UI -- [Container Registry](registry.md) — Push private images -- [Brainpod Concepts](brainpod.md) — Review core concepts \ No newline at end of file +- [Container Registry](registry.md) — Push private images \ No newline at end of file diff --git a/src/resources/apps.md b/src/resources/apps.md index d292f32..b65e4f3 100644 --- a/src/resources/apps.md +++ b/src/resources/apps.md @@ -30,6 +30,4 @@ Apps are designed to be stateless. For persistent data, you'll eventually be abl ## Next Steps - [Routes](routes.md) — Make your app accessible on the internet -- [Getting Started](../getting-started.md) — Deploy your first app - [Container Registry](../registry.md) — Push private images to Brainpod -- [Resources](../resources.md) — Overview of Brainpod resources diff --git a/src/resources/routes.md b/src/resources/routes.md index 2d20662..e51d0cd 100644 --- a/src/resources/routes.md +++ b/src/resources/routes.md @@ -31,4 +31,4 @@ You can create multiple routes for different purposes. One route for your produc - [Apps](apps.md) — Learn about deploying containerized applications - [Getting Started](../getting-started.md) — Deploy your first route -- [Resources](../resources.md) — Overview of Brainpod resources \ No newline at end of file +- [Custom Domains](../custom-domains.md) — Connect your own domain names \ No newline at end of file