Create the Config Type

To push a schema, it’s config type must first be created. Navigate to the Config Types page in the Miru dashboard.

Click + New Config Type and name the config type Mobility with slug mobility.

Config Type slugs are permanent and cannot be changed after creation.

Config Type Slugs

The config type slug is a unique identifier for a config type. It’s used by both the CLI and SDK to link a config schema to its corresponding config type.

All config schemas must include the $miru_config_type_slug field at the root level. We’ve already included this field in mobility.schema.yaml.

mobility.schema.yaml
$miru_config_type_slug: "mobility"
...

Install the CLI

Schemas are pushed via the Miru command-line interface (CLI).

Run the installation command in your local machine’s terminal.

curl -fsSL https://raw.githubusercontent.com/miruml/cli/main/install.sh | sh

The script requires curl, tar, grep, and cut to be installed. Review the contents of the installation script here.

The Miru CLI supports macOS and Linux. Windows is not supported.

Login to the CLI

Run the login command.

miru login

Retrieve your authentication token here.

Paste the token into the CLI.

Please retrieve your authentication token from the following URL:
🔗 https://configs.miruml.com/configs?cli_auth=true

🔑 Paste your authentication token: **********

Validating authentication token...
✅ Successfully logged in as Benjamin

Push to Miru

Navigate back to the root of the getting-started repository.

miru schema push ./schemas/mobility.schema.yaml

You’ll see a confirmation message that your schema was successfully pushed.

📦 Attempting to push 1 config schemas...

🏁 Successfully pushed schema for mobility config type
    commit: a8340d496013f4e33bb5d59fbebf057a80c44dbf
    branch: main
    origin: https://github.com/miruml/getting-started.git
    git file path: schemas/mobility.schema.yaml


 Successfully uploaded 1 config schemas

Visit the Config Types page and click into the Mobility config type to verify the schema was uploaded successfully.

Git information is pulled from the local git repository. If you don’t have access to view the remote repository (specified locally) or the commit hasn’t yet been pushed to the remote repository, git related links in Miru will be invalid.