Skip to content
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

Update index.md Domain name alias #304

Merged
merged 4 commits into from
Jan 9, 2024
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
28 changes: 16 additions & 12 deletions public-site/docs/src/docs/topic-domain-names/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -10,20 +10,18 @@ There can be several domain names mapped to [application components](../topic-co
>
> - prod (_blank_)
> - playground (`playground`)
> - dev (`dev`)

## Canonical name

```text
[componentName]-[appName]-[envName].[clusterName].[clusterEnvNamepace].radix.equinor.com
```

The authoritative name for a specific component in a specific cluster. In general you don't want this since you want to access the **active cluster** — for that you need the [public name](#public-name). The _canonical name_ can be useful when debugging, however.
The authoritative name for a specific component in a specific cluster. The _canonical name_ can be useful when debugging, however.

- Always allocated
- Automatically allocated
- One per component
- Never changes its target, even if cluster becomes active/inactive

Examples:

Expand All @@ -37,13 +35,6 @@ Examples:
[componentName]-[appName]-[envName].[clusterEnvNamepace].radix.equinor.com
```

Each cluster type has exactly one **active cluster**, which can change.

For instance, the Radix admins can have two `prod` clusters, `prod-27` and `prod-28` while performing a migration. Only one of those two will be the active cluster. At the end of the migration, `prod-28` becomes active and all traffic should be directed there.

The _public name_ always points to components in the active cluster, and is the domain name that should be publicised. It is also the domain name that has [Uptime guarantees](../topic-uptime/).

- Only allocated for **active clusters**
- Automatically allocated
- One per component

Expand All @@ -61,7 +52,6 @@ Examples:

The _app default alias_ is a convenience domain name to make it easier to publish and use your application. It points to a specific component and environment in your application, and allows a reasonable URL to be distributed to end-users without the hassle of setting up [external aliases](#external-alias).

- Only allocated for **active clusters**
- One per application
- [Defined in `radixconfig.yaml`](../../references/reference-radix-config/#dnsappalias)

Expand All @@ -70,6 +60,21 @@ Examples:
- `myapp.app.playground.radix.equinor.com`
- `oneapp.app.radix.equinor.com`

## App alias

```text
[appName].[clusterEnvNamepace].radix.equinor.com
```
`dnsAlias` creates one or several DNS aliases in the form of `<alias>.radix.equinor.com` for the specified environment and component. There are few reserved aliases which cannot be used:

- Difference from App default alias - it does not have `app.` domain before `radix.equinor.com` and there can be multiple aliases per application, per environment, per component
- [Defined in `radixconfig.yaml`](../../references/reference-radix-config/#dnsalias)

Examples:

- `myapp.playground.radix.equinor.com`
- `oneapp.radix.equinor.com`

## External alias

```text
Expand All @@ -78,7 +83,6 @@ Examples:

For ultimate customisation of your domain names, you can "bring your own" domain into Radix with an _external alias_. There is a [detailed guide](../../guides/external-alias/) on how to configure this.

- Only allocated for **active clusters**
- Multiple allowed per component
- [Defined in `radixconfig.yaml`](../../references/reference-radix-config/#dnsexternalalias)
- Requires external DNS alias management
Expand Down
21 changes: 17 additions & 4 deletions public-site/docs/src/guides/jobs/notifications.md
Original file line number Diff line number Diff line change
Expand Up @@ -8,10 +8,22 @@ next: environment-variables

When job and batch status needs to be monitored, their statuses can be [pulled](./#get-a-state-of-a-batch). Another option is to use job component [notifications](../../references/reference-radix-config/#notifications), posted to one of Radix application components.

The URL to the Radix application component or job component endpoint can be specified in the `webhook` option in the `notifications` section in the [radixconfig.yaml](../../references/reference-radix-config/). This is an endpoint where a Radix batch events will be posted when any of the running jobs or batches for this job component changes states. Notification about changes are sent by a `POST` method with an `application/json` `ContentType` with a [Radix batch event format](#radix-batch-event), which extends the [Radix batch status](./job-manager-and-job-api/#get-a-state-of-a-batch) format with a field `event`:
* `Create` - this event is sent when a new Radix batch or job is created.
* `Update` - this event is sent when an existing Radix batch or one of its jobs, including single job, has changed state.
* `Delete` - this event is sent when an existing Radix batch or job is deleted.
The URL to the Radix application component or job component endpoint can be specified in the `webhook` option in the `notifications` section in the [radixconfig.yaml](../../references/reference-radix-config/). This is an endpoint where a Radix batch events will be posted when any of the running jobs or batches for this job component changes states. Notification about changes are sent by a `POST` method with an `application/json` `ContentType` with a [Radix batch event format](#radix-batch-event), which extends the [Radix batch status](./job-manager-and-job-api/#get-a-state-of-a-batch) format with fields
* `name` - internal name of the batch or a single job. In both cases the name begins with `batch-`
* `created`, `started`, `ended` - timestamp of corresponding batch live cycle event
* `status` - status of a batch or a single job
* `event`:
* `Create` - this event is sent when a new Radix batch or job is created.
* `Update` - this event is sent when an existing Radix batch or one of its jobs, including single job, has changed state.
* `Delete` - this event is sent when an existing Radix batch or job is deleted.
* `batchType`:
* `job` - single job
* `batch` - batch of jobs
* `jobStatuses` - list of statuses of only changed jobs. This list can be empty when the common properties are changed (e.g. only `started`, `status`).

Fields in the `jobStatus` list items:
* `jobId` - optional name, specified for the job within `JobDescription`
* `batchName` - name of a batch for job in a batch. It is not provided for single jobs.

`notifications` and `webhook` can be specified on a job component configuration level and/or on `environmentConfig` level. Property in the `environmentConfig` will override those on the component level, if present.

Expand Down Expand Up @@ -46,6 +58,7 @@ The URL to the Radix application component or job component endpoint can be spec
"ended": "2022-03-02T15:54:00+01:00",
"status": "Succeeded",
"event": "Update",
"batchType": "batch",
"jobStatuses": [
{
"jobId": "job1",
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -1057,7 +1057,6 @@ spec:

`www`, `app`, `api`, `console`, `webhook`, `playground`, `dev`, `grafana`, `prometheus`, `canary`, `cost-api`.


In the example above, the component **frontend** hosted in environment **prod** will be accessible from `myapp.radix.equinor.com` (or for the Playground: `myapp.playground.radix.equinor.com`), in addition to the default endpoint provided for the frontend component `frontend-myapp-prod.radix.equinor.com` (or for the Playground: `frontend-myapp-prod.playground.radix.equinor.com`).

## `dnsExternalAlias`
Expand Down
Loading