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
4 changes: 2 additions & 2 deletions docs/concepts/accounts.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ description: How accounts are organized in Defang.

Below, we will cover account creation with Defang, and how resources are organized within a cloud environment using your account info.

Defang requires an account so we can organize your resources and provide you with a way to manage them. We also use your account to authenticate you when you interact with [Defang Playground](./defang-playground.md) and the [Defang Portal](./portal.md). Billing and payment information is also associated with your account.
Defang requires an account so we can organize your resources and provide you with a way to manage them. We also use your account to authenticate you when you interact with the [Defang Portal](./portal.md). Billing and payment information is also associated with your account.

## Creating an Account

Expand All @@ -34,7 +34,7 @@ For more information, see [Workspaces](./workspaces.md).
Your GitHub username will be used as your Defang username. Your Defang username is used to group all your [services](/docs/concepts/services) and generate domains for your services with the following structure:

```
<username>-<servicename>--<port>.prod1.defang.dev
<servicename>--<port>.<project>.<username>.defang.app
```

For more about domain structures, see our [Domains](/docs/concepts/domains#structure) page.
1 change: 0 additions & 1 deletion docs/concepts/configuration.md
Original file line number Diff line number Diff line change
Expand Up @@ -107,7 +107,6 @@ Please note that while Defang supports setting sensitive config, it does not sup

| Provider | Config Support |
|----------------|:--------------:|
| Playground | ✅ |
| AWS | ✅ |
| DigitalOcean | ✅ |
| GCP | ✅ |
5 changes: 2 additions & 3 deletions docs/concepts/defang-byoc.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: Defang allows you deploy services, defined as containers, to your o

# Defang BYOC

Defang aims to make it easier to deploy your services to the cloud. Specifically, Defang's goal is to make it easier to deploy your workloads to your *own* cloud accounts. We refer to this as bring-your-own-cloud (BYOC). We also provide Defang Playground, but it is only intended for non-production workloads so you can get a feel for how Defang works.
Defang aims to make it easier to deploy your services to the cloud. Specifically, Defang's goal is to make it easier to deploy your workloads to your *own* cloud accounts. We refer to this as bring-your-own-cloud (BYOC).

Defang provisions and configures the necessary native managed services from your cloud provider to get your services up and running. For example, on AWS, Defang will configure an [ALB](https://aws.amazon.com/elasticloadbalancing/application-load-balancer/), set up [ECR](https://aws.amazon.com/ecr/), configure [CloudWatch](https://aws.amazon.com/cloudwatch/?nc2=type_a), and run your service on [ECS](https://aws.amazon.com/ecs/?nc2=type_a) and more. The following lists the existing and planned support for cloud providers.

Expand All @@ -19,8 +19,7 @@ Defang does run the Defang build service to build your container images, which t
The Defang CLI can be configured to deploy to a cloud provider either by using the `--provider` flag or by setting the `DEFANG_PROVIDER` environment variable. For example:

```bash
# Supported provider values: auto, aws, defang, digitalocean
# Default is auto, which deploys to the Defang Playground but warns if it detects cloud credentials
# Supported provider values: auto, aws, digitalocean
$ defang compose up --provider=aws
# or
$ export DEFANG_PROVIDER=digitalocean
Expand Down
30 changes: 0 additions & 30 deletions docs/concepts/defang-playground.md

This file was deleted.

4 changes: 2 additions & 2 deletions docs/concepts/deployments.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,7 +5,7 @@ description: Defang will build your services in the cloud and manage the deploym

# Deployment

When you deploy using Defang, whether it's with `defang compose up` with a [Compose file](./compose.md) or using a [Pulumi program](./pulumi.md), Defang will build your services in the cloud and manage the deployment process for you. If you provide a Dockerfile and build context, Defang will upload the files found within the build context to the cloud (either yours in [Defang BYOC](./defang-byoc.md) or ours in [Defang Playground](./defang-playground.md)), build the image, and store it in the cloud provider's container registry.
When you deploy using Defang, whether it's with `defang compose up` with a [Compose file](./compose.md) or using a [Pulumi program](./pulumi.md), Defang will build your services in the cloud and manage the deployment process for you. If you provide a Dockerfile and build context, Defang will upload the files found within the build context to your cloud account via [Defang BYOC](./defang-byoc.md), build the image, and store it in the cloud provider's container registry.

## Deploying Updates

Expand All @@ -18,7 +18,7 @@ Defang can deploy your services using different [modes](/docs/concepts/deploymen
By default, using the `affordable` mode, Defang will deprovision your existing services before provisioning replacements. This helps reduce costs.

:::info
In [Defang BYOC](./defang-byoc.md), Defang uses your cloud provider account to build and store your images. In [Defang Playground](./defang-playground.md), we build and store your images for you.
In [Defang BYOC](./defang-byoc.md), Defang uses your cloud provider account to build and store your images.
:::


Expand Down
20 changes: 4 additions & 16 deletions docs/concepts/domains.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -17,22 +17,11 @@ To make your service accessible from the public internet with Defang-hosted doma

Defang-hosted domains use a structure that is based on your username and service name.

<Tabs>
<TabItem value="playground" label="Playground" default>
If you have a publicly accessible service, you will automatically receive a domain to access it. If you're deploying to the [Defang Playground](./defang-playground.md), your domain will be structured as follows:

```
https://<username>-<service-name>--<port>.defang.dev
```
</TabItem>
<TabItem value="byoc" label="BYOC">
If you're using [Defang BYOC](./defang-byoc.md), your domain will be:
If you have a publicly accessible service, you will automatically receive a domain to access it. When using [Defang BYOC](./defang-byoc.md), your domain will be structured as follows:

```
https://<service-name>--<port>.<project-name>.<username>.defang.app
```
</TabItem>
</Tabs>

### Sample Configuration

Expand Down Expand Up @@ -72,9 +61,9 @@ const service = new defang.DefangService("serviceName", {

You can also bring your own domain to a Defang project. This allows you to use your own domain name to access your services, and varies a little bit depending on your setup.

### BYOC or Defang Playground
### BYOC without Cloud-hosted DNS

If you are using [Defang BYOC](./defang-byoc.md) and *do not* have your domain's DNS hosted with your cloud provider, or if you are using the [Defang Playground](./defang-playground.md), you will need to follow this flow:
If you are using [Defang BYOC](./defang-byoc.md) and *do not* have your domain's DNS hosted with your cloud provider, you will need to follow this flow:

1. Add the `domainname` to your service definition.
2. Run `defang compose up` to deploy your project.
Expand Down Expand Up @@ -109,7 +98,7 @@ services:
</TabItem>
<TabItem value="pulumi" label="Pulumi">
:::warning
As of now, the Pulumi provider does not support [Defang BYOC](./defang-byoc.md) and the [Defang Playground](./defang-playground.md) does not support bringing your own domain, since it is not for production use.
As of now, the Pulumi provider does not support [Defang BYOC](./defang-byoc.md).
:::
</TabItem>
</Tabs>
Expand All @@ -118,7 +107,6 @@ As of now, the Pulumi provider does not support [Defang BYOC](./defang-byoc.md)

| Provider | BYOD |
| --- | --- |
| [Playground](/docs/providers/playground) | ✅ no apex domains |
| [AWS](/docs/providers/aws) | ✅ |
| [DigitalOcean](/docs/providers/digitalocean) | ❌ |
| [GCP](/docs/providers/gcp) | ✅ |
1 change: 0 additions & 1 deletion docs/concepts/estimation.md
Original file line number Diff line number Diff line change
Expand Up @@ -67,7 +67,6 @@ defang compose up [--provider aws|gcp|digitalocean] [--mode affordable|balanced|

| Provider | Estimation Support |
|----------------|:------------------:|
| Playground | ❌ |
| AWS | ✅ |
| DigitalOcean | ❌ |
| GCP | ✅ |
Expand Down
4 changes: 0 additions & 4 deletions docs/concepts/managed-llms/managed-language-models.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ Each cloud provider offers their own managed Large Language Model services. AWS

| Provider | Managed Language Models |
| --- | --- |
| [Playground](/docs/providers/playground#managed-llms) | ✅ |
| [AWS Bedrock](/docs/providers/aws#managed-llms) | ✅ |
| [DigitalOcean GenAI](/docs/providers/digitalocean#future-improvements) | ❌ |
| [GCP Vertex AI](/docs/providers/gcp#managed-llms) | ✅ |
Expand Down Expand Up @@ -45,6 +44,3 @@ Defang has a [*Managed LLM sample*](https://github.com/DefangLabs/samples/tree/m
:::


## Managed LLM on Playground
If you are using the Managed LLM feature on [Defang Playground](/docs/concepts/defang-playground), please note that your `MODEL` (model ID) will be limited to a default model chosen by Defang.
To access a full range of models, consider using [Defang BYOC](/docs/concepts/defang-byoc).
1 change: 0 additions & 1 deletion docs/concepts/managed-llms/openai-access-gateway.md
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,6 @@ This can be configured through the following environment variables:

| Provider | Managed Language Models |
| --- | --- |
| [Playground](/docs/providers/playground#managed-services) | ✅ |
| [AWS Bedrock](/docs/providers/aws#managed-llms) | ✅ |
| [DigitalOcean GenAI](/docs/providers/digitalocean#future-improvements) | ❌ |
| [GCP Vertex AI](/docs/providers/gcp#managed-llms) | ✅ |
1 change: 0 additions & 1 deletion docs/concepts/managed-storage/managed-mongodb.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ Managed MongoDB is a service that allows you to store and retrieve large amounts

| Provider | Managed MongoDB |
| --- | --- |
| [Playground](/docs/providers/playground#managed-services) | ⚠️ Unmanaged |
| [AWS](/docs/providers/aws#managed-storage) | ✅ DocumentDB |
| [DigitalOcean](/docs/providers/digitalocean#future-improvements) | ⚠️ Unmanaged |
| [GCP](/docs/providers/gcp#future-improvements) | ✅ Firestore |
Expand Down
1 change: 0 additions & 1 deletion docs/concepts/managed-storage/managed-object-storage.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,6 @@ Managed Object Storage, like AWS S3, is a service that allows you to store and r

| Provider | Managed Object Storage |
| --- | --- |
| [Playground](/docs/providers/playground#managed-services) | ❌ |
| [AWS](/docs/providers/aws#managed-storage) | ❌ |
| [DigitalOcean](/docs/providers/digitalocean#future-improvements) | ❌ |
| [GCP](/docs/providers/gcp#future-improvements) | ❌ |
1 change: 0 additions & 1 deletion docs/concepts/managed-storage/managed-postgres.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ Postgres, or PostgreSQL, is a powerful open-source relational database system kn

| Provider | Managed Postgres |
| --- | --- |
| [Playground](/docs/providers/playground#managed-services) | ⚠️ Unmanaged |
| [AWS](/docs/providers/aws#managed-storage) | ✅ RDS Postgres |
| [DigitalOcean](/docs/providers/digitalocean#future-improvements) | ⚠️ Unmanaged |
| [GCP](/docs/providers/gcp#managed-storage) | ✅ Cloud SQL Postgres |
Expand Down
1 change: 0 additions & 1 deletion docs/concepts/managed-storage/managed-redis.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ Redis is an in-memory data structure store widely used for caching, real-time an

| Provider | Managed Redis |
| --- | --- |
| [Playground](/docs/providers/playground#managed-services) | ⚠️ Unmanaged |
| [AWS](/docs/providers/aws#managed-storage) | ✅ Elasticache |
| [DigitalOcean](/docs/providers/digitalocean#future-improvements) | ⚠️ Unmanaged |
| [GCP](/docs/providers/gcp#managed-redis) | ✅ Memorystore |
Expand Down
19 changes: 1 addition & 18 deletions docs/concepts/networking.mdx
Original file line number Diff line number Diff line change
Expand Up @@ -2,8 +2,6 @@
title: Networking
description: Defang helps you safely configure your services' networking.
---
import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

# Networking

Expand Down Expand Up @@ -106,26 +104,11 @@ services:

### Internal DNS

Internal communication is handled slightly differently between the Defang Playground and Defang BYOC.

<Tabs>
<TabItem value="playground" label="Playground" default>
Internal communication between services in the Defang Playground follows the following pattern:

```
http://<username>-<service-name>:<port>
```

The Defang CLI applies the `<username>` prefix when it detects service names in the values of environment variables.
</TabItem>
<TabItem value="byoc" label="BYOC">
Internal communication between services in Defang BYOC follows the following pattern:
Internal communication between services follows this pattern:

```
http://<service-name>:<port>
```
</TabItem>
</Tabs>

### Custom Network CIDR

Expand Down
3 changes: 0 additions & 3 deletions docs/concepts/observability.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,9 +13,6 @@ When you deploy a service using the `defang compose up`, the CLI will automatica
Defang has a tutorial on how you can [monitor your services' status and logs](/docs/tutorials/monitoring-your-services).
:::

:::warning
Keep in mind that the [Defang Portal](./portal.md) only displays services deployed to Defang Playground.
:::

## Tail

Expand Down
1 change: 0 additions & 1 deletion docs/concepts/one-off-jobs.md
Original file line number Diff line number Diff line change
Expand Up @@ -137,7 +137,6 @@ One off jobs are deployed as temporary containers on the same infrastructure as

| Provider | Release Task Support |
|----------------|:--------------------:|
| Playground | ✅ |
| AWS | ✅ |
| DigitalOcean | ❌ |
| GCP | ✅ |
Expand Down
7 changes: 1 addition & 6 deletions docs/concepts/portal.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,15 +5,10 @@ description: You can log into the Defang Portal to view the state of your Defang

# Portal

You can log into the Defang Portal at [portal.defang.dev](https://portal.defang.dev) using your [Defang account](./accounts.md) to view the state of your Defang services running in the Defang Playground for non-production applications.
You can log into the Defang Portal at [portal.defang.dev](https://portal.defang.dev) using your [Defang account](./accounts.md) to view the state of your Defang services.

You can use the Portal to get an overview of your [services](/docs/concepts/services), view the logs for each service, quickly access exposed ports, view environment variables, and more. The Portal is also where you manage your [workspaces](./workspaces.md), invite team members, and configure billing.

:::info
The Defang Portal displays services deployed to Defang Playground.
To view services deployed to Defang BYOC, please check out [Monitoring Your Services](/docs/tutorials/monitoring-your-services).
:::

:::tip
Need help with a failing deployment? Defang provides a tool to help [debug](/docs/concepts/debug) in your application.
:::
2 changes: 1 addition & 1 deletion docs/concepts/pulumi.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ import TabItem from '@theme/TabItem';
# Pulumi

:::warning
Pulumi support is currently only available for Defang Playground. We are working on support for Defang BYOC.
Pulumi support is currently only available for deploying to Defang's infrastructure. We are working on support for Defang BYOC.
:::

[Pulumi](https://www.pulumi.com) is a modern infrastructure-as-code toolkit that allows developers to use a programming language like Typescript to provision and manage cloud resources.
Expand Down
1 change: 0 additions & 1 deletion docs/concepts/railpack.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,6 @@ services:

| Provider | Railpack Support |
|----------------|:----------------:|
| Playground | ✅ |
| AWS | ✅ |
| DigitalOcean | ❌ |
| GCP | ✅ |
1 change: 0 additions & 1 deletion docs/concepts/scaling.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,6 @@ Auto-scaling systems typically rely on:

| Provider | Auto-Scaling Support |
|----------------|:--------------------:|
| Playground | ❌ |
| AWS | ✅ |
| DigitalOcean | ❌ |
| GCP | ✅ |
Expand Down
21 changes: 5 additions & 16 deletions docs/concepts/services.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,8 +3,6 @@ title: Services
description: Defang allows you to deploy services, defined as containers, to the cloud.
---

import Tabs from '@theme/Tabs';
import TabItem from '@theme/TabItem';

# Services

Expand All @@ -19,20 +17,11 @@ Defang identifies services by using your [account username](/docs/concepts/accou
Service names are defined in your Compose file or in your Pulumi program.
:::

<Tabs>
<TabItem value="playground" label="Playground" default>
Domains for services in Playground follow the following pattern:
```
<username>-<service-name>--<port>.prod1a.defang.dev
```
</TabItem>
<TabItem value="byoc" label="BYOC">
Domains for services in Defang BYOC follow the following pattern:
```
<service-name>--<port>.<project-name>.<username>.defang.app
```
</TabItem>
</Tabs>
Domains for services follow this pattern:

```
<service-name>--<port>.<project-name>.<username>.defang.app
```


### Service Deployment
Expand Down
6 changes: 3 additions & 3 deletions docs/intro/faq/questions.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,7 @@ import {Button, ButtonGroup, FormGroup, FormLabel} from "@mui/material"

### Which cloud/region is the app being deployed to?

- In the [Defang Playground](/docs/concepts/defang-playground), the app is deployed to AWS `us-west-2`. In the [Defang BYOC](/docs/concepts/defang-byoc) model, the region is determined by your Defang BYOC [Provider](/docs/providers) settings.
- The region is determined by your [Defang BYOC](/docs/concepts/defang-byoc) [Provider](/docs/providers) settings.

### Can I bring my own AWS or other cloud account?

Expand Down Expand Up @@ -66,10 +66,10 @@ import {Button, ButtonGroup, FormGroup, FormLabel} from "@mui/material"
## Feature Comparisons

### Is Defang a run-time platform?
- No. Defang is not a run-time platform. Instead, it lets you host and run your application on a [cloud provider](/docs/providers) of your choice. You can think of it as a tool that makes it way easier to deploy to that cloud provider. We do provide [Defang Playground](/docs/concepts/defang-playground), but it is meant to be used as a testing environment only.
- No. Defang is not a run-time platform. Instead, it lets you host and run your application on a [cloud provider](/docs/providers) of your choice. You can think of it as a tool that makes it way easier to deploy to that cloud provider.

### What is the difference between Defang and platforms such as Vercel, fly.io, Railway, Render, or Heroku?
- Defang is a tool that helps you get your application deployed to a [cloud provider](/docs/providers) of your choice, and it is not a platform. Unlike platforms, Defang does not host your application. We do provide [Defang Playground](/docs/concepts/defang-playground), but it is meant to be used as a testing environment only.
- Defang is a tool that helps you get your application deployed to a [cloud provider](/docs/providers) of your choice, and it is not a platform. Unlike platforms, Defang does not host your application.

### What is the difference between Defang and tools such as SST?
- Defang is cloud-agnostic and language-agnostic, meaning that it is designed to work with different [cloud providers](/docs/providers), and programming languages. Since Defang is not tied to just one cloud or language, this allows for greater flexibility in a wide range of cases. Another difference is that Defang follows the [Compose specification](https://docs.docker.com/compose/compose-file/), allowing it to work smoothly with various container platforms such as Docker.
Expand Down
Loading
Loading