Skip to content
Open
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
24 changes: 24 additions & 0 deletions omnilab-ats/exposed_ui/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,24 @@
# Omnilab Android Test Studio

Setup for Omnilab ATS exposed UI testbed.

## Deployment

The testbed can be deployed using docker compose running the following inside this directory

```sh
docker compose up -d
```

This will setup an exposed instance (without any authentication) at <http://localhost:8000> and an instance behind basic auth (Omnilab ATS does not provide any authentication) at <http://localhost:8001> (creds are `admin`:`changeme`).

The testbed can then be stopped and removed running the following from within the same directory

```sh
docker compose down
```

## Resources

- <https://source.android.com/docs/core/tests/development/android-test-station/ats-user-guide>
- <https://android.googlesource.com/platform/tools/multitest_transport/+/refs/heads/multitest-transport-dev>
51 changes: 51 additions & 0 deletions omnilab-ats/exposed_ui/docker-compose.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,51 @@
services:
mtt:
image: gcr.io/android-mtt/mtt:prod
container_name: mtt
ports:
- "8000:8000"
volumes:
- /var/run/docker.sock:/var/run/docker.sock
environment:
- MTT_CONTROL_SERVER_PORT=8000
- OPERATION_MODE=on_premise
- IS_OMNILAB_BASED=true
restart: unless-stopped
networks:
- internal
nginx:
image: nginx:alpine
ports:
- "8001:80"
configs:
- source: nginx_config
target: /etc/nginx/nginx.conf
- source: htpasswd
target: /etc/nginx/.htpasswd
depends_on:
- mtt
restart: unless-stopped
networks:
- internal

networks:
internal:

configs:
nginx_config:
content: |
events { worker_connections 1024; }
http {
server {
listen 80;
location / {
auth_basic "ATS";
auth_basic_user_file /etc/nginx/.htpasswd;
proxy_pass http://mtt:8000;
}
}
}

htpasswd:
content: |
admin:$2y$05$7eaUZOK1Q7SuT9tv67PwvulFo7/ysDHS8bKM6G4rENSJZdEMlMa42