ENGDOCS-1600-extensions (#18071)

* ENGDOCS-1600-extensions

* ENGDOCS-1600-extensions

* oauth image

* resize images

---------

Co-authored-by: Allie Sadler <alliesadler@f693mt7fh6.home>
This commit is contained in:
Allie Sadler 2023-09-08 09:45:51 +01:00 committed by GitHub
parent a518247534
commit 93e4a87320
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
6 changed files with 4 additions and 4 deletions

View File

@ -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,

Binary file not shown.

After

Width:  |  Height:  |  Size: 74 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 24 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 104 KiB

Binary file not shown.

After

Width:  |  Height:  |  Size: 232 KiB

View File

@ -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: