Skip to content

Commit

Permalink
Merge pull request #269 from keirthana/update-to-en-US
Browse files Browse the repository at this point in the history
Move to en-US
  • Loading branch information
keirthana authored Jan 17, 2025
2 parents 7730b1b + 9d1d502 commit ae1b535
Show file tree
Hide file tree
Showing 114 changed files with 247 additions and 251 deletions.
10 changes: 2 additions & 8 deletions .custom_wordlist.txt
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ amd
AMI
ams
anbox
anonymization
ANR
anv
AOSP
Expand Down Expand Up @@ -69,14 +68,10 @@ Coturn
CPUs
crashdump
Crashpad
Cryptographic
cryptographic
CSV
CTS
CUDA
customisable
customisation
customisations
CustomLocale
CVE
CVEs
Expand All @@ -103,6 +98,7 @@ EFI
EFS
EGL
EINVAL
emugl
EmuGL
EOL
ERD
Expand Down Expand Up @@ -227,17 +223,14 @@ preseed
preselected
PyJWT
PyPI
Quickstart
quickstart
radv
Rasterization
rasterization
RDNA
rc
README
rebased
RenderDoc
Renderdoc
renderdoc
renderer
RenderThread
Expand Down Expand Up @@ -367,3 +360,4 @@ presigned
upstream
upstreams
YouTube
Authorise
4 changes: 2 additions & 2 deletions .sphinx/spellingcheck.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -2,14 +2,14 @@ matrix:
- name: rST files
aspell:
lang: en
d: en_GB
d: en_US
dictionary:
wordlists:
- .wordlist.txt
- .custom_wordlist.txt
output: .sphinx/.wordlist.dic
sources:
- _build/**/*.html|!_build/venv/**/*.html|!_build/reference/cmd-ref/appliance/**/*.html|!_build/reference/cmd-ref/amc/**/*.html
- _build/**/*.html|!_build/venv/**/*.html|!_build/reference/cmd-ref/appliance/**/*.html|!_build/reference/cmd-ref/amc/**/*.html|!_build/reference/api-reference/**/*.html|!_build/reference/ams-configuration/index.html
pipeline:
- pyspelling.filters.html:
comments: false
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ We welcome your engagement with the Anbox Cloud community and appreciate all con

### Style and language

Anbox Cloud documentation follows [Diátaxis](https://diataxis.fr/) principles. Before starting to contribute, we encourage you to familiarise yourself with Diátaxis.
Anbox Cloud documentation follows [Diátaxis](https://diataxis.fr/) principles. Before starting to contribute, we encourage you to get familiar with Diátaxis.

To accommodate different kinds of audience, try to:

Expand Down
8 changes: 4 additions & 4 deletions contribute/anbox-style-guide.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@
(style-guide)=
# Anbox Cloud Documentation Style Guide

Anbox Cloud documentation’s navigational structure, style, and content follows the Diátaxis systematic framework for technical documentation authoring. So the information is categorised into tutorials, how-to guides, reference material, and explanatory text. See [Diátaxis](https://diataxis.fr/).
Anbox Cloud documentation’s navigational structure, style, and content follows the Diátaxis systematic framework for technical documentation authoring. So the information is categorized into tutorials, how-to guides, reference material, and explanatory text. See [Diátaxis](https://diataxis.fr/).

This product-specific style guide lists any extra guidelines or deviations from the [Ubuntu style guide](https://docs.ubuntu.com/styleguide/en).

Expand Down Expand Up @@ -78,7 +78,7 @@ Use hyphens when the starting letter of a word is in capital case or starts with
## Terminology

* It’s always “Anbox Cloud Appliance” when used in full form and “appliance” when used generically.
* Always use product name in full form with capitalisation - "Anbox Cloud".
* Always use product name in full form with capitalization - "Anbox Cloud".
* Within the context of Anbox Cloud, such as AMS, you can use the term "Anbox images" or "Anbox instances". When documenting about LXD images or containers that contain Anbox specific configuration from a big picture point of view,such as the architecture, use the term as "LXD images" or "LXD containers". When there is scope for ambiguity, elaborate and use as "LXD images with Anbox Cloud configuration".
* Use *charmed deployment* vs *appliance* to differentiate the [variants](https://documentation.ubuntu.com/anbox-cloud/en/latest/explanation/anbox-cloud/#variants) of Anbox Cloud.
* Use *Upgrade* to denote a change that results in a different product version and *Update* for making changes to configuration or deployment but don't change the version of the product.
Expand Down Expand Up @@ -115,7 +115,7 @@ Load custom shapes:
1. Go to **File** > **Open Library from** > **Device**.
2. Select the [`anbox-cloud-docs/images/anbox-drawio.xml`](/images/anbox-drawio.xml) file.

Configure custom styles and colours:
Configure custom styles and colors:

1. Go to **Extras** > **Configuration**.
2. Paste the following configuration:
Expand Down Expand Up @@ -279,7 +279,7 @@ Configure custom styles and colours:

Always use font `ubuntu` and the standard font size is 15pt.

Use only the provided colours. See the colour palette at [`https://design.ubuntu.com/brand/colour-palette/`](https://design.ubuntu.com/brand/colour-palette/) .
Use only the provided colors. See the [Ubuntu color palette](https://design.ubuntu.com/brand/colour-palette).

Once created, upload images along with their source files to the [images](/images/) folder of the documentation repository.

Expand Down
2 changes: 1 addition & 1 deletion contribute/landing.md
Original file line number Diff line number Diff line change
Expand Up @@ -13,7 +13,7 @@ Contributing to our documentation is straightforward. We only require that all c

In order to contribute, you will need to set up a [GitHub](https://github.com/) account and a [git environment](https://github.com/canonical/open-documentation-academy/blob/main/getting-started/install_git.md). The [Getting Started guide](https://github.com/canonical/open-documentation-academy/blob/main/getting-started/get_started.md) from the Canonical Open Documentation Academy is a useful resource for people who are new to contributing using the Ubuntu command line.

The navigational structure, style, and content of our documentation follows the Diátaxis systematic framework for technical documentation. This categorises the documentation into tutorials, how-to guides, reference material and explanatory text.
The navigational structure, style, and content of our documentation follows the Diátaxis systematic framework for technical documentation. This categorizes the documentation into tutorials, how-to guides, reference material and explanatory text.

Consistency is vital in documentation, which is why we request contributors to follow the {ref}`style-guide`. We also set up the following GitHub actions to run automatically on every pull request raised against our docs repository:

Expand Down
2 changes: 2 additions & 0 deletions custom_conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -129,6 +129,8 @@
'howto/update/upgrade-anbox': '../../upgrade/upgrade-anbox',
'howto/update/upgrade-appliance': '../../upgrade/upgrade-appliance',
'howto/update/control-updates': '../../upgrade/landing',
'howto/addons/customise-android-example': '../customize-android-example',
'howto/install/customise-installation': '../customize-installation',
}

############################################################
Expand Down
4 changes: 2 additions & 2 deletions explanation/aaos.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,9 +9,9 @@ Since the 1.21.0 release, in addition to providing images based on the Android O

The [Vehicle Abstraction Layer (VHAL)](https://source.android.com/docs/automotive/vhal) enables Android Automotive to communicate with and control the different vehicle hardware controls.

Until the 1.24.0 release, if you created your own VHAL implementation by following the [our instructions for customising the Anbox VHAL](https://documentation.ubuntu.com/anbox-cloud/en/latest/howto/android/custom-vhal/) and loaded it as an addon during the Android runtime, vehicle properties and configurations were not visible on the Anbox Cloud dashboard. With the 1.24.0 release, Anbox Cloud has introduced a VHAL adapter that acts as a bridge between the Anbox runtime and the VHAL implementation for data transmission. The Anbox VHAL adapter processes messages sent from the Anbox runtime, performs operations against the VHAL implementation(such as retrieving a list of property configurations), and sends the results back to the Anbox runtime. As a result, vehicle properties and configurations are now visible on the Anbox Cloud dashboard for the third-party VHAL implementations.
Until the 1.24.0 release, if you created your own VHAL implementation by following the [our instructions for customizing the Anbox VHAL](https://documentation.ubuntu.com/anbox-cloud/en/latest/howto/android/custom-vhal/) and loaded it as an addon during the Android runtime, vehicle properties and configurations were not visible on the Anbox Cloud dashboard. With the 1.24.0 release, Anbox Cloud has introduced a VHAL adapter that acts as a bridge between the Anbox runtime and the VHAL implementation for data transmission. The Anbox VHAL adapter processes messages sent from the Anbox runtime, performs operations against the VHAL implementation(such as retrieving a list of property configurations), and sends the results back to the Anbox runtime. As a result, vehicle properties and configurations are now visible on the Anbox Cloud dashboard for the third-party VHAL implementations.

However, if a third-party VHAL implementation is loaded during Android runtime, on the Anbox Cloud Dashboard, some vehicle property values may still not be accessible while others may not be editable on the Anbox Cloud dashboard, due to [permission controls](https://source.android.com/docs/automotive/vhal/previous/properties#vehicle-props) that categorise vehicle properties as read-only, write-only, or read-write.
However, if a third-party VHAL implementation is loaded during Android runtime, on the Anbox Cloud Dashboard, some vehicle property values may still not be accessible while others may not be editable on the Anbox Cloud dashboard, due to [permission controls](https://source.android.com/docs/automotive/vhal/previous/properties#vehicle-props) that categorize vehicle properties as read-only, write-only, or read-write.

Anbox Cloud offers an [Anbox-specific VHAL HIDL interface](https://github.com/canonical/vendor_canonical_interfaces). By using this HIDL, the VHAL implementation allows the Anbox VHAL adapter to modify non-writable and access non-readable vehicle property values without encountering permission issues. See the {ref}`how-to guide <howto-integrate-hidl>` on instructions for setting this up with your VHAL implementation.

Expand Down
2 changes: 1 addition & 1 deletion explanation/addons.md
Original file line number Diff line number Diff line change
@@ -1,7 +1,7 @@
(exp-addons)=
# Addons

Addons provide a way to extend and customise images in Anbox Cloud. Once you have created addons, you can create hooks for them that are triggered based on events in the life cycle of an instance. You can create addons independently and later attach it to individual applications.
Addons provide a way to extend and customize images in Anbox Cloud. Once you have created addons, you can create hooks for them that are triggered based on events in the life cycle of an instance. You can create addons independently and later attach it to individual applications.

## Best practices while using addons

Expand Down
6 changes: 3 additions & 3 deletions explanation/anbox-cloud.md
Original file line number Diff line number Diff line change
Expand Up @@ -132,16 +132,16 @@ For LXD storage, Anbox Cloud uses a ZFS storage pool, which it creates automatic

While a loop file is easy to set up, it is much slower than a block device. Therefore, we recommend using a block device that is dedicated to LXD storage only.

If you are doing a full deployment, configure the storage before starting the deployment. See {ref}`customise storage when deploying with Juju <sec-customise-storage-juju>` or {ref}`customise storage when deploying on bare metal <sec-customise-storage-bare-metal>` for instructions. If you skip the configuration, Anbox Cloud sets up a loop-file with an automatically calculated size, which is not recommended.
If you are doing a full deployment, configure the storage before starting the deployment. See {ref}`customize storage when deploying with Juju <sec-customize-storage-juju>` or {ref}`customize storage when deploying on bare metal <sec-customize-storage-bare-metal>` for instructions. If you skip the configuration, Anbox Cloud sets up a loop-file with an automatically calculated size, which is not recommended.

If you are using the Anbox Cloud Appliance, you are prompted during the initialisation process to specify the storage location, and, if you choose a loop file, its size. When choosing a size, keep in mind that the loop file cannot be larger than the root disk, and that it will cause the disk to fill up as the loop file grows to its maximum size over time. The created storage pool is used to store all Anbox Cloud content, including the instances created by Juju.
If you are using the Anbox Cloud Appliance, you are prompted during the initialization process to specify the storage location, and, if you choose a loop file, its size. When choosing a size, keep in mind that the loop file cannot be larger than the root disk, and that it will cause the disk to fill up as the loop file grows to its maximum size over time. The created storage pool is used to store all Anbox Cloud content, including the instances created by Juju.

(sec-juju-bundles)=
## Juju bundles

The charmed Anbox Cloud variant provides two different Juju bundles:

* The `anbox-cloud-core` bundle provides a minimised version of Anbox Cloud. This version is sufficient if you don't want to use the Anbox Cloud streaming stack.
* The `anbox-cloud-core` bundle provides a minimized version of Anbox Cloud. This version is sufficient if you don't want to use the Anbox Cloud streaming stack.

For more information, see the [charm page](https://charmhub.io/anbox-cloud-core).

Expand Down
2 changes: 1 addition & 1 deletion explanation/anbox-security.md
Original file line number Diff line number Diff line change
Expand Up @@ -102,7 +102,7 @@ The following table shows which Android security features are supported in Anbox

### Security-Enhanced Linux (SELinux)

Currently, Anbox Cloud disables SELinux in Android. The reason for this is that SELinux conflicts with AppArmor, which is by default enabled in LXD. Anbox Cloud utilises the security features provided by LXD and therefore relies on AppArmor instead of SELinux.
Currently, Anbox Cloud disables SELinux in Android. The reason for this is that SELinux conflicts with AppArmor, which is by default enabled in LXD. Anbox Cloud utilizes the security features provided by LXD and therefore relies on AppArmor instead of SELinux.

In future releases, it might be possible to run AppArmor and SELinux in parallel. In this case, the decision to disable SELinux will be reconsidered.

Expand Down
12 changes: 6 additions & 6 deletions explanation/application-streaming.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,11 +5,11 @@ This guide covers the usage of the streaming stack and assumes that you know how

## Streaming stack overview

The streaming stack is based on [WebRTC](https://webrtc.org/) and integrates with GPUs from different vendors to enable low latency video encoding mandatory for any real time streaming use case. It is highly customisable but requires some functional understanding.
The streaming stack is based on [WebRTC](https://webrtc.org/) and integrates with GPUs from different vendors to enable low latency video encoding mandatory for any real time streaming use case. It can be highly customized but requires some functional understanding.

WebRTC is a peer to peer protocol, but clients must first find each other through a central server. The server does not need to know about the content of the messages between the clients, it only has to forward the messages from one peer to another.

The stream gateway exists to enable clients find each other through sessions. Sessions contain user data, application information and more, but most importantly, they provide an entry point for both the client and the instance to start a communication process called signalling. Signalling is a process by which both peers exchange messages and establish optimal codecs, network routes and content types.
The stream gateway exists to enable clients find each other through sessions. Sessions contain user data, application information and more, but most importantly, they provide an entry point for both the client and the instance to start a communication process called signaling. Signaling is a process by which both peers exchange messages and establish optimal codecs, network routes and content types.

Each component of the stack plays a specific role:

Expand Down Expand Up @@ -43,11 +43,11 @@ While streaming an application, session creation can happen in two ways as illus

### Session creation

A session is created by calling the gateway API at `POST /1.0/sessions`. The returned object contains information about the created session as well as a web socket `url` that is necessary to start the signalling process.
A session is created by calling the gateway API at `POST /1.0/sessions`. The returned object contains information about the created session as well as a web socket `url` that is necessary to start the signaling process.

### Signalling process
### Signaling process

Using the session information, the signalling process between the client and the instance starts:
Using the session information, the signaling process between the client and the instance starts:

1. The instance creates an offer containing the desired streams (video, audio, binary) as well as codec information.
2. The client replies to that offer by accepting or refusing it.
Expand Down Expand Up @@ -77,5 +77,5 @@ If you do not enable streaming when launching the instance, you cannot enable it
## Related topics

* {ref}`sec-deploy-anbox-cloud-juju` (installs streaming stack)
* [Signalling](https://www.html5rocks.com/en/tutorials/webrtc/infrastructure/)
* [Signaling](https://www.html5rocks.com/en/tutorials/webrtc/infrastructure/)
* {ref}`ref-codecs`
8 changes: 4 additions & 4 deletions explanation/applications.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,12 +5,12 @@ Applications are one of the main objects managed by Anbox Management Service (AM

## Application requirements

To run on the Anbox Cloud platform, applications must fulfil the following requirements:
To run on the Anbox Cloud platform, applications must fulfill the following requirements:

* The application *should not* download any additional resources on regular startup to contribute to short startup times. If additional resources need to be downloaded, this can be done during the application bootstrap phase.
* The application *must not* require the *Google Play services* to be available as Anbox Cloud does not include them.

If your application fulfils these requirements but you are still having issues running it on Anbox Cloud, file a [bug report](https://bugs.launchpad.net/anbox-cloud/+filebug).
If your application fulfills these requirements but you are still having issues running it on Anbox Cloud, file a [bug report](https://bugs.launchpad.net/anbox-cloud/+filebug).

(sec-application-status)=
## Possible application statuses
Expand All @@ -31,12 +31,12 @@ If you encounter the `error` or the `unknown` status, see if you can identify th
(sec-application-bootstrap)=
## Bootstrap process

When creating an application from a directory, a tarball, or a zip archive, AMS will perform a bootstrap process, which builds the application and synchronises it across all LXD nodes in the cluster. There are major benefits that the bootstrap process provides:
When creating an application from a directory, a tarball, or a zip archive, AMS will perform a bootstrap process, which builds the application and synchronizes it across all LXD nodes in the cluster. There are major benefits that the bootstrap process provides:

* It enables AMS to launch an instance for an application without installing the APK every time.
* It dramatically speeds up the startup time of a regular instance.

Furthermore, an application is synchronised within the LXD cluster, which enables AMS to continue to work when nodes are being removed from the cluster through scaling down or lost from the cluster unexpectedly.
Furthermore, an application is synchronized within the LXD cluster, which enables AMS to continue to work when nodes are being removed from the cluster through scaling down or lost from the cluster unexpectedly.

A temporary base instance is created and used for bootstrapping during the application creation. For example, you might see the following output for `amc ls` right after creating an application:

Expand Down
Loading

0 comments on commit ae1b535

Please sign in to comment.