> ## Documentation Index
> Fetch the complete documentation index at: https://developers.stellar.org/llms.txt
> Use this file to discover all available pages before exploring further.

# Architecture

> In general stellar-etl runs by.

## Architecture Overview

![](https://mintcdn.com/stellardevelopmentfoundation/nXKshiEJBuAoHF5T/img/hubble/stellar_overall_architecture.png?fit=max\&auto=format\&n=nXKshiEJBuAoHF5T\&q=85\&s=696bd8116eab6b35c4195d936c5e640f)

![](https://mintcdn.com/stellardevelopmentfoundation/nXKshiEJBuAoHF5T/img/hubble/stellar_etl_architecture.png?fit=max\&auto=format\&n=nXKshiEJBuAoHF5T\&q=85\&s=9f986ff67ebcdd4e73b266628d8568da)

In general stellar-etl runs by:

* Read raw data from the Stellar network
* This can be done by running a stellar-etl export command to export data between a start and end ledger
  * stellar-etl has the ability to read from two different sources:
    * Captive-core directly to get LedgerCloseMeta
    * A data lake of compressed LedgerCloseMeta files from Ledger Exporter
* Tranforms the LedgerCloseMeta XDR into an easy to parse JSON format
* Optionally uploads the JSON files to GCS or any other cloud storage service

More detailed information about stellar-etl and examples can be found in the [stellar-etl](https://github.com/stellar/stellar-etl/tree/master) repo.
