Skip to content

Commit

Permalink
Merge pull request #118 from keirthana/clean-images
Browse files Browse the repository at this point in the history
Clean images library
  • Loading branch information
keirthana authored Aug 23, 2024
2 parents 1810daf + bcbe0f2 commit e57baa5
Show file tree
Hide file tree
Showing 98 changed files with 59 additions and 52 deletions.
6 changes: 6 additions & 0 deletions contribute/doc-cheat-sheet.md
Original file line number Diff line number Diff line change
Expand Up @@ -148,6 +148,8 @@ This might damage your hardware!

## Images

The following example uses the Canonical assets manager:

![Alt text](https://assets.ubuntu.com/v1/b3b72cb2-canonical-logo-166.png)

```{figure} https://assets.ubuntu.com/v1/b3b72cb2-canonical-logo-166.png
Expand All @@ -157,6 +159,10 @@ This might damage your hardware!
Figure caption
```

The following example uses local images folder:

![Alt text](/images/icons/create-instance-icon.png)

## Tabs

````{tabs}
Expand Down
4 changes: 2 additions & 2 deletions explanation/anbox-cloud.md
Original file line number Diff line number Diff line change
Expand Up @@ -49,7 +49,7 @@ The diagrams used to explain the architecture in this topic show the recommended

The diagram below depicts the core stack and its components:

![Anbox Cloud core stack|690x398](https://assets.ubuntu.com/v1/2a7f484d-core_stack_updated.png)
![Anbox Cloud core stack|690x398](/images/anbox-cloud-architecture-diagrams/core_stack.png)

The core stack contains one or more Anbox subclusters, a Juju controller, and the Anbox Application Registry (AAR).

Expand Down Expand Up @@ -84,7 +84,7 @@ Outside the Anbox subcluster, you have the following machines:

The diagram below depicts the streaming stack along with the core stack and user specific components:

![Anbox Cloud streaming stack|690x440](https://assets.ubuntu.com/v1/29aa27b6-core_and_streaming_stack_updated.png)
![Anbox Cloud streaming stack|690x440](/images/anbox-cloud-architecture-diagrams/core_and_streaming_stack.png)

When the streaming stack is in use, each Anbox subcluster has the following additional components:

Expand Down
2 changes: 1 addition & 1 deletion explanation/application-streaming.md
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,7 @@ A messaging queue to allow components to communicate.

The following illustration shows how the streaming stack components interact with each other when streaming visual output from an instance:

![Streaming stack sequence|2400x1350](https://assets.ubuntu.com/v1/635d9cc5-streaming_stack.png)
![Streaming stack sequence|2400x1350](/images/streaming-stack/application_streaming_stack_v3.png)

## Streaming an application by creating a session

Expand Down
2 changes: 1 addition & 1 deletion explanation/applications.md
Original file line number Diff line number Diff line change
Expand Up @@ -60,7 +60,7 @@ In general, the bootstrap process goes through the following steps in order:
8. Install the extra data as listed in the application manifest.
9. Execute the `post-start` hook provided by each addon listed in the application manifest.

![Application bootstrap process|571x653](https://assets.ubuntu.com/v1/7eed04fd-application-bootstrap.png)
![Application bootstrap process|571x653](/images/application-bootstrap.png)

The bootstrap process fails if one or more of the following situations happen:

Expand Down
4 changes: 2 additions & 2 deletions explanation/instances.md
Original file line number Diff line number Diff line change
Expand Up @@ -38,7 +38,7 @@ When you create an instance by either launching or initialising an application o
1. Launch the Android container.
1. Execute the `post-start` hook provided by the installed addons.

![Instance start|584x646](https://assets.ubuntu.com/v1/45389cab-instance_start.png)
![Instance start|584x646](/images/instance_start.png)

Launching an instance is successful only if all of the above steps succeed. If there are issues during the process, the status of the instance changes to `error`. You can view the available logs from the instance for further troubleshooting. See {ref}`howto-view-instance-logs`.

Expand All @@ -57,7 +57,7 @@ When an instance is stopped, it executes the following steps in order:
3. Shut down the instance.

Beyond that, the instance will be removed from AMS either because you deleted it or because an error occurred during its runtime.
![Instance stop|575x521](https://assets.ubuntu.com/v1/abb5becf-instance_stop.png)
![Instance stop|575x521](/images/instance_stop.png)

### Possible instance statuses

Expand Down
4 changes: 2 additions & 2 deletions explanation/rendering-architecture.md
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,7 @@ For communication between the hardware composer module on the Android side and A

### For NVIDIA

![Anbox Cloud NVIDIA pipeline|690x440](https://assets.ubuntu.com/v1/73881ec7-NVIDIA_pipeline_updated.png)
![Anbox Cloud NVIDIA pipeline|690x440](/images/rendering-pipelines/NVIDIA_pipeline.png)

For NVIDIA GPUs, we cannot use the NVIDIA driver inside Android because of compatibility issues. Instead, Anbox Cloud uses the [Venus driver](https://docs.mesa3d.org/drivers/venus.html) from the [Mesa project](https://mesa3d.org) to provide a fully conformant Vulkan driver to Android. The Venus driver is located on the Android side and streams Vulkan API calls to a renderer on the Ubuntu side based on the [virglrenderer](https://gitlab.freedesktop.org/virgl/virglrenderer) project. The renderer executes all Vulkan API calls against the actual NVIDIA driver.

Expand All @@ -31,7 +31,7 @@ Starting 1.22.0, Anbox Cloud uses VirGL as the default renderer for NVIDIA GPUs.

### For Intel and AMD

![Anbox Cloud Intel and AMD pipeline|690x440](https://assets.ubuntu.com/v1/70d97e49-Intel_AMD_pipeline_updated.png)
![Anbox Cloud Intel and AMD pipeline|690x440](/images/rendering-pipelines/Intel_AMD_pipeline.png.png)

For AMD and Intel GPUs, Anbox Cloud uses Vulkan as API in the Android space and we use [ANGLE](https://chromium.googlesource.com/angle/angle) on top of Vulkan to circumvent OpenGL ES and EGL. Since the Mesa driver (vendor GPU driver) is available directly in the Android space, we do not have the overhead of the remote procedure call implementation as in the pipeline for NVIDIA.

Expand Down
22 changes: 11 additions & 11 deletions howto/anbox/tls-for-appliance.md
Original file line number Diff line number Diff line change
Expand Up @@ -154,18 +154,18 @@ In the case of the Anbox Cloud Appliance, we want the traffic routed to the AWS
The following example shows a public hosted zone for an example domain name. The two DNS records are added automatically after creation:
![AWS public hosted zone](https://assets.ubuntu.com/v1/28d5d0ad-manage_tls_public-hosted-zone.png)
![AWS public hosted zone](/images/tls/manage_tls_public-hosted-zone.png)
1. To change the DNS service for your domain registration, you must specify the custom name servers that Amazon Route 53 allocated for the domain name. You can find them in the "NS" record for your public hosted zone.
The following example shows the custom name servers for the example domain:
![Custom name servers in Amazon Route 53](https://assets.ubuntu.com/v1/2dfee5bd-manage_tls_custom-name-servers.png)
![Custom name servers in Amazon Route 53](/images/tls/manage_tls_custom-name-servers.png)
Go to your domain provider and configure the DNS settings for your domain there. Specify the name servers listed in Amazon Route 53 as the custom name servers.
The following example shows this configuration for the example domain:
![Configure custom name servers for your domain with your domain provider](https://assets.ubuntu.com/v1/433fdfd9-manage_tls_enter-nameservers.png)
![Configure custom name servers for your domain with your domain provider](/images/tls/manage_tls_enter-nameservers.png)
### Create a public certificate
Expand All @@ -175,14 +175,14 @@ To create a public certificate using the AWS Certificate Manager, you must first
The following example shows a certificate for the example domain name that is pending validation:
![Certificate that is pending validation](https://assets.ubuntu.com/v1/5caeac31-manage_tls_cname-record.png)
![Certificate that is pending validation](/images/tls/manage_tls_cname-record.png)
1. To validate the certificate, follow the instructions in [Validating domain ownership](https://docs.aws.amazon.com/acm/latest/userguide/domain-ownership-validation.html) in the AWS Certificate Manager documentation.
Since you have a public hosted zone for your domain in Amazon Route 53 (see {ref}`sec-configure-routing-info-name-servers`), you can follow the steps for creating records in Route 53.
DNS propagation usually takes a while. When it completes and the validation is successful, the status of the certificate changes to issued, and it is ready to use.
![Valid certificate in AWS Certification Manager](https://assets.ubuntu.com/v1/b95943aa-manage_tls_certificate-status.png)
![Valid certificate in AWS Certification Manager](/images/tls/manage_tls_certificate-status.png)
### Create a load balancer
Expand All @@ -209,20 +209,20 @@ To use the Anbox Cloud Appliance through your domain name, AWS must route the HT
The following example shows a target for the Anbox Cloud Appliance:
![Create a target group for the appliance](https://assets.ubuntu.com/v1/14995bdf-manage_tls_register-targets.png)
![Create a target group for the appliance](/images/tls/manage_tls_register-targets.png)
1. Click **Create target group** to finish the target group creation.
1. Back in the **Listeners and routing** sections on the load balancer creation page, select the target group that you just created for the default action.
1. In the **Secure listener settings** section, select the public certificate that you created through the AWS Certificate Manager.
![Listener settings](https://assets.ubuntu.com/v1/3308aa3a-manage_tls_listener-settings.png)
![Listener settings](/images/tls/manage_tls_listener-settings.png)
1. Check the **Summary**, and if everything looks correct, click **Create load balancer**.
### Direct traffic from your domain to the load balancer
When the load balancer is created, AWS assigns it an automatic DNS name. The following example shows where to find it:
![DNS name of the load balancer](https://assets.ubuntu.com/v1/040220cb-manage_tls_dns-name.png)
![DNS name of the load balancer](/images//tls/manage_tls_dns-name.png)
You now need to route the traffic that goes to your domain name to the load balancer.
Expand All @@ -237,13 +237,13 @@ You now need to route the traffic that goes to your domain name to the load bala
The following example shows the record creation for the example domain:
![Define simple record](https://assets.ubuntu.com/v1/36bcce7f-manage_tls_a-record.png)
![Define simple record](/images/tls/manage_tls_a-record.png)
1. Click **Define simple record** to create the DNS record for your public hosted zone.
The following example shows the DNS record with type `A` for the example domain:
![DNS records for the public hosted zone](https://assets.ubuntu.com/v1/5a4986bd-manage_tls_dns-records.png)
![DNS records for the public hosted zone](/images/tls/manage_tls_dns-records.png)
### Configure the appliance to use the domain name
Expand All @@ -256,4 +256,4 @@ You can now use the new domain name to access the Anbox Cloud Appliance.
The following example shows the certificate for the example domain:
![Certificate for the domain](https://assets.ubuntu.com/v1/cd4c0316-manage_tls_result.png)
![Certificate for the domain](/images/tls/manage_tls_result.png)
3 changes: 2 additions & 1 deletion howto/android/access-instance.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,8 @@ Generate a presigned connection URL in either of the following ways:

**From the Dashboard**

On the *Instances* page, locate a running instance and click *Connect ADB* ( ![Connect ADB|16x16](https://assets.ubuntu.com/v1/51973cea-adb-connect-icon.png) ).
On the *Instances* page, locate a running instance and click *Connect ADB* ( ![Connect ADB|16x16](/images/icons/adb-connect-icon.png) ).

*Authorise* the connection and copy the command provided.

**From the Command Line**:
Expand Down
2 changes: 1 addition & 1 deletion howto/android/create-virtual-device.md
Original file line number Diff line number Diff line change
Expand Up @@ -42,4 +42,4 @@ Once the configuration is in place, create the application in AMS:

After creating the application, you can stream it through the UI of the Anbox Stream Gateway (see {ref}`tut-getting-started-dashboard`) or your own custom client application built with the Streaming SDK (see {ref}`sec-streaming-sdk`).

![Virtual device|690x662,100%](https://assets.ubuntu.com/v1/4cc5a115-application_virtual-device.png)
![Virtual device|690x662,100%](/images/application_virtual-device.png)
2 changes: 1 addition & 1 deletion howto/application/delete-application.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ Once you're sure you want to remove the application, you can delete it via the d

## Using the dashboard

On the *Applications* page, click *Delete* ( ![delete application icon](/images/delete-icon.png) ) and confirm the deletion.
On the *Applications* page, click *Delete* ( ![delete application icon](/images/icons/delete-icon.png) ) and confirm the deletion.

## Using the CLI

Expand Down
2 changes: 1 addition & 1 deletion howto/application/pass-custom-data.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@ When you start a streaming session, you can pass in custom data through the Anbo

* When starting the session through the web dashboard, provide your custom data through the "Extra data" field.

![Specify extra data in the web dashboard](https://assets.ubuntu.com/v1/16e9a133-manage_applications_extra-data.png)
![Specify extra data in the web dashboard](/images/manage_applications_extra-data.png)

* When starting the session through the Stream Gateway API, provide your custom data through the `extra_data` field. See [Create session](https://canonical.github.io/anbox-cloud.github.com/latest/anbox-stream-gateway/#/session/handle-new-session) in the Anbox Stream Gateway documentation.

Expand Down
4 changes: 2 additions & 2 deletions howto/application/stream-application.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ The dashboard has in-browser streaming capabilities through WebRTC. It uses the

When creating an instance, make sure you select the *Enable Streaming* capability to be able to stream your application. You can also set the desired streaming attributes using the *Virtual display* options available for an instance.

You can start a streaming session for any of the successfully created applications. Once the associated instance is created and ready, click *Stream* ( ![stream icon](/images/join-session-icon.png) ) to start the stream.
You can start a streaming session for any of the successfully created applications. Once the associated instance is created and ready, click *Stream* ( ![stream icon](/images/icons/stream-icon.png) ) to start the stream.

To understand how the streaming stack of Anbox Cloud works, see {ref}`exp-application-streaming`.

Expand Down Expand Up @@ -58,7 +58,7 @@ The downloaded `.csv` file has the following statistics:

### Sharing a streaming session

To share your stream with users without an account, click *Set up sharing* ( ![set up sharing icon](/images/share-stream-icon.png) ) on the *Instances* page.
To share your stream with users without an account, click *Set up sharing* ( ![set up sharing icon](/images/icons/share-stream-icon.png) ) on the *Instances* page.

Set your stream title and expiration details and generate a link that can be shared with others.

Expand Down
18 changes: 9 additions & 9 deletions howto/install-appliance/install-on-aws.md
Original file line number Diff line number Diff line change
Expand Up @@ -63,17 +63,17 @@ Open the [Amazon EC2 console](https://console.aws.amazon.com/ec2/) and log in.

On the EC2 dashboard, click **Launch Instance** to start the Launch Instance Wizard.

![Start the Launch Instance Wizard|690x451](https://assets.ubuntu.com/v1/17073a3d-install_appliance_launch-wizard.png)
![Start the Launch Instance Wizard|690x451](/images/appliance-on-aws/install_appliance_launch-wizard.png)

### Select the AMI

To select the Amazon Machine Image (AMI), type "Anbox Cloud" in the search field of the **Application and OS Images** section.

![Search for the Anbox Cloud Appliance AMI](https://assets.ubuntu.com/v1/ab7e13d9-install_appliance_search-ami.png)
![Search for the Anbox Cloud Appliance AMI](/images/appliance-on-aws/install_appliance_search-ami.png)

Choose either the Arm variant or the x86 variant and click **Select**.

![Select the Amazon Machine Image (AMI)](https://assets.ubuntu.com/v1/bf6e7864-install_appliance_select-ami.png)
![Select the Amazon Machine Image (AMI)](/images/appliance-on-aws/install_appliance_select-ami.png)

You will be presented with the pricing information. Click **Continue** to confirm.

Expand All @@ -83,15 +83,15 @@ AWS offers various instance types. The Anbox Cloud Appliance images are supporte

In the **Instance type** section, select the instance type that is most suitable for what you're planning to do. For example, if you just want to try out the Anbox Cloud Appliance, an instance type with GPU support and limited CPU and memory is sufficient. See {ref}`sec-minimum-hardware-requirements`.

![Choose an instance type](https://assets.ubuntu.com/v1/e967ac16-install_appliance_instance-type.png)
![Choose an instance type](/images/appliance-on-aws/install_appliance_instance-type.png)

In this example, we picked `g4dn.2xlarge`, which provides 8 vCPUs, 32 GB of memory and a single NVIDIA Tesla T4 GPU.

### Select a key pair

In the **Key pair (login)** section, choose an existing key pair or create one if you don't have one yet. Make sure to save the private key in a secure location.

![Choose or create a key pair](https://assets.ubuntu.com/v1/b58cd719-install_appliance_key-pair.png)
![Choose or create a key pair](/images/appliance-on-aws/install_appliance_key-pair.png)

### Configure the network

Expand All @@ -101,7 +101,7 @@ To allow external access, several ports in the security group attached to the AW

For reference, all required ports are documented in {ref}`ref-requirements`.

![Configure the security group](https://assets.ubuntu.com/v1/f0af08ae-install_appliance_security-group.png)
![Configure the security group](/images/appliance-on-aws/install_appliance_security-group.png)

### Add storage

Expand All @@ -112,7 +112,7 @@ The instance requires sufficient storage to work correctly. For optimal performa

Anbox Cloud uses the additional volume exclusively to store all of its data, including its instances. Using a separate volume isolates it from the operating system, which increases performance. If no additional EBS volume is added, the Anbox Cloud Appliance automatically creates an image on the root disk, which is used to store any data. However, this is not recommended.

![Add storage](https://assets.ubuntu.com/v1/9b717248-install_appliance_add-storage.png)
![Add storage](/images/appliance-on-aws/install_appliance_add-storage.png)

In this example, we use three storage volumes:

Expand All @@ -126,11 +126,11 @@ If you don't have any specific requirements, we recommend choosing the same conf

You should now review the instance summary. If everything is correct, click **Launch instance**.

![Launch the instance](https://assets.ubuntu.com/v1/8a7a34d1-install_appliance_launch-instance.png)
![Launch the instance](/images/appliance-on-aws/install_appliance_launch-instance.png)

AWS will verify your configuration, subscribe you to the product and launch the instance.

![Launch status](https://assets.ubuntu.com/v1/1ccac988-install_appliance_launch-status.png)
![Launch status](/images/appliance-on-aws/install_appliance_launch-status.png)

## Access the appliance

Expand Down
Loading

0 comments on commit e57baa5

Please sign in to comment.