Overview

What is Tecken?

Tecken is the Mozilla Symbols Server which manages symbols files generated by builds of Mozilla products (upload, download).

Architecture

Rough architecture diagram of Tecken:

Tecken architecture diagram

Symbols service (aka symbols.mozilla.org):

Host: https://symbols.mozilla.org/

The symbols webapp handles upload and download of symbols.

  • upload: The webapp handles incoming uploads with the upload API. It manages upload permissions and bookkeeping of what was uploaded, by whom, and when. It exposes an interface for debugging symbol upload problems.

  • download: The webapp handles download API requests by finding the symbol file in one of the AWS S3 buckets and returning an HTTP redirect to the final location.

Code is in the tecken subdirectory.

Repository structure

Here’s a bunch of top-level directories and what’s in them:

bin/                    -- scripts for running and developing
docker/                 -- Dockerfile and image building bits
docs/                   -- documentation
favicons/               -- favicons used by Symbols webapp
frontend/               -- Symbols webapp JavaScript frontend
schemas/                -- API schemas
tecken/                 -- Symbols service unit tests and code

These directories have test stuff in them:

systemtests/            -- systemtests for Symbols Server

Note

Originally, there was just Tecken which handled upload, download, and symbolication. Then we split symbolication into a separate service named Mozilla Symbolication Server.