Skip to content
Open
Changes from 1 commit
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
23 changes: 23 additions & 0 deletions sites/upsun/src/add-services/_index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,9 +11,9 @@
Because the services are included in your project, you can manage them through Git
and they're backed up together with the rest of your project.

Your project defines the services configuration from a top-level key called `services`, which is placed in a unified configuration file like `{{< vendor/configfile "services" >}}`.

Check warning on line 14 in sites/upsun/src/add-services/_index.md

View workflow job for this annotation

GitHub Actions / Lint markdown (upsun)

Line must be at most 140 characters

If you don't need any services (such as for a static website), you don't need to include this configuration. Read on to see how to add services.

Check warning on line 16 in sites/upsun/src/add-services/_index.md

View workflow job for this annotation

GitHub Actions / Lint markdown (upsun)

Line must be at most 140 characters

## Add a service

Expand Down Expand Up @@ -47,7 +47,7 @@

This YAML file contains a dictionary defining all of the services you want to use.
The top-level key `services` defines an object of all of the services to be provisioned for the project.
Below that, come custom service names ({{<variable "SERVICE_NAME" >}}; in the example, `mariadb` and `postgresql`), which you use to identify the service in step 2.

Check warning on line 50 in sites/upsun/src/add-services/_index.md

View workflow job for this annotation

GitHub Actions / Lint markdown (upsun)

Line must be at most 140 characters

You can give it any name you want with lowercase alphanumeric characters, hyphens, and underscores.

Expand All @@ -65,9 +65,9 @@

| Name | Type | Required | Description |
| --------------- | ---------- | ----------------- | ----------- |
| `type` | `string` | Yes | One of the [available services](#available-services) in the format `type:version`. |

Check warning on line 68 in sites/upsun/src/add-services/_index.md

View workflow job for this annotation

GitHub Actions / Lint markdown (upsun)

Misaligned table fence
| `configuration` | dictionary | For some services | Some services have additional specific configuration options that can be defined here, such as specific endpoints. See the given service page for more details. |

Check warning on line 69 in sites/upsun/src/add-services/_index.md

View workflow job for this annotation

GitHub Actions / Lint markdown (upsun)

Misaligned table fence
| `relationships` | dictionary | For some services | Some services require a relationship to your app. The content of the dictionary has the same type as the `relationships` dictionary for [app configuration](/create-apps/app-reference/single-runtime-image.md#relationships). The `endpoint_name` for apps is always `http`. |

Check warning on line 70 in sites/upsun/src/add-services/_index.md

View workflow job for this annotation

GitHub Actions / Lint markdown (upsun)

Misaligned table fence

##### Resources (CPU, RAM, disk)

Expand Down Expand Up @@ -215,6 +215,29 @@
<!-- To update the versions in this table, use docs/data/registry.json -->
{{% supported-services %}}

### Running other services as applications

While Upsun publishes and maintains service images for the list above, you can also run any other service as an application in your project as long as they rely on a http-based interface for their respective clients.

To connect through the internal network to a service running as an application from your main application in your project, add a relationship in your application configuration block. Replace `chroma` in the example below with the name of your service application.

```yaml {location=".upsun/config.yaml"}
applications:
myapp:
source:
root: "myapp"
type: "python:3.12"
relationships:
chroma: "chroma:http"
```

You can find the documented `.upsun/config.yaml` configurations and setup steps for the following services:

| Name | Type | Runtime |
| ------------------- | --------------- | ----------------- |
| [Chroma](chroma.md) | Vector Database | Python |
| [Qdrant](qdrant.md) | Vector Database | Composable image |

### Service versions

These services generally follow [semantic versioning conventions](https://semver.org/).
Expand Down
Loading