Configuration
When the juno
command is run from your terminal or used in a CI environment, it will automatically attempt to locate a config file named juno.config.ts
or juno.config.js
or juno.config.json
within your project's root directory.
The Juno config file defines the settings and options needed for managing and deploying your satellites and other project modules, ensuring consistency across environments.
A basic config file looks like this:
import { defineConfig } from "@junobuild/config";
export default defineConfig({
satellite: {
id: "qsgjb-riaaa-aaaaa-aaaga-cai",
source: "build"
},
orbiter: {
id: "eeeee-fffff-ddddd-11111-cai"
}
});
At the top level, the Juno configuration includes two main sections:
satellite
(required): This defines the behavior of your satellite.orbiter
(optional): This is useful to automatically map your analytics in your application.
To apply any changes you make in your configuration, execute the juno config command with the CLI.
Satellite Configuration
Satellites are the core component of your application in Juno. The satellite configuration defines how the satellite operates, including its identifier, datastore, storage, authentication, and more. This configuration is crucial for managing the satellite’s behavior and deploying it across different environments.
The satellite configuration is defined in your Juno configuration file. Below is a detailed explanation of how to configure it.