diff --git a/content/desktop/extensions-sdk/architecture/_index.md b/content/desktop/extensions-sdk/architecture/_index.md index 7a874523b4..a363f5e12d 100644 --- a/content/desktop/extensions-sdk/architecture/_index.md +++ b/content/desktop/extensions-sdk/architecture/_index.md @@ -13,7 +13,7 @@ Extensions can be composed of three (optional) components: - A backend: One or many containerised services running in the Docker Desktop VM - Executables: Shell scripts or binaries that Docker Desktop copies on the host when installing the extension -![Overview of the three components of an extension](./images/overview.svg) +![Overview of the three components of an extension](./images/extensions-architecture.png?w=600h=400) An extension doesn't necessarily need to have all these components, but at least one of them depending on the extension features. To configure and run those components, Docker Desktop uses a `metadata.json` file. See the @@ -79,7 +79,7 @@ or named pipe, depending on the operating system. If the backend was listening t prevent collision with other applications running on the host or in a container already. Also, some users are running Docker Desktop in constrained environments where they can't open ports on their machines. -![Backend and frontend communication](./images/frontend-backend.svg) +![Backend and frontend communication](./images/extensions-arch-2.png?w=500h=300) Finally, the backend can be built with any technology, as long as it can run in a container and listen on a socket. @@ -97,7 +97,7 @@ the users' machine. When Docker Desktop installs the extension, it copies the executables on the host as defined by the `host` section in the `metadata.json`. See the [ui metadata section](./metadata.md#host-section) for more details. -![Executable and frontend communication](./images/frontend-executables.svg) +![Executable and frontend communication](./images/extensions-arch-3.png?w=250h=300) However, since they're executed on the users' machine, they have to be available to the platform they're running on. For example, if you want to ship the `kubectl` executable, you need to provide a different version for Windows, Mac, diff --git a/content/desktop/extensions-sdk/architecture/images/extensions-arch-2.png b/content/desktop/extensions-sdk/architecture/images/extensions-arch-2.png new file mode 100644 index 0000000000..b7bb370cd8 Binary files /dev/null and b/content/desktop/extensions-sdk/architecture/images/extensions-arch-2.png differ diff --git a/content/desktop/extensions-sdk/architecture/images/extensions-arch-3.png b/content/desktop/extensions-sdk/architecture/images/extensions-arch-3.png new file mode 100644 index 0000000000..8c34fba707 Binary files /dev/null and b/content/desktop/extensions-sdk/architecture/images/extensions-arch-3.png differ diff --git a/content/desktop/extensions-sdk/architecture/images/extensions-architecture.png b/content/desktop/extensions-sdk/architecture/images/extensions-architecture.png new file mode 100644 index 0000000000..6bf88609b2 Binary files /dev/null and b/content/desktop/extensions-sdk/architecture/images/extensions-architecture.png differ diff --git a/content/desktop/extensions-sdk/guides/images/oauth.png b/content/desktop/extensions-sdk/guides/images/oauth.png new file mode 100644 index 0000000000..f433a53d21 Binary files /dev/null and b/content/desktop/extensions-sdk/guides/images/oauth.png differ diff --git a/content/desktop/extensions-sdk/guides/oauth2-flow.md b/content/desktop/extensions-sdk/guides/oauth2-flow.md index e680cb771a..34d3bb6bbe 100644 --- a/content/desktop/extensions-sdk/guides/oauth2-flow.md +++ b/content/desktop/extensions-sdk/guides/oauth2-flow.md @@ -20,7 +20,7 @@ The Authorization Code grant type is used by confidential and public clients to After the user returns to the client via the redirect URL, the application gets the authorization code from the URL and uses it to request an access token. -![Flow for OAuth 2.0](images/oauth2-flow.png) +![Flow for OAuth 2.0](images/oauth.png) The image above shows that: