This guide will show you how to register your project with Juno using the Juno API. Once your project is registered, you’ll be able to use Juno's services, like email and file storage.

The Juno Documentation serves as a way to make HTTP requests to Juno without the need for an SDK or CLI. When a new release of Juno is deployed, all documentation will be automatically regenerated to ensure it stays up to date.

Step 1: Provide Your Email to the Infra Team

As an Engineering Manager (EM), you will need to provide your email to the Infra team. It's best to use the same email you use for other BoG services for consistency.

If you need to change your email or if a new EM joins the project, the Infra team is responsible for updating or deleting users as necessary. In such cases, contact the Infra team to ensure proper role and email updates for the new EM or email change.

Step 2: Infra Registers Your Project

After receiving your email, the Infra team will follow the Infra Internal Project Registration Playbook to register your email and project.

Upon success, the Infra team will send you Admin credentials to proceed.

Step 3: Generating API Keys for Your Project

With your new Admin credentials, you’ll need to generate API keys for your project to access all Juno services.

To generate a new API Key:

  1. Go to the interactive Juno Documentation.
  2. Find the /auth/key POST request.
  3. Click on Try it out
  4. Enter your credentials and click Execute

<aside> 🛑

Make sure to store this API key securely and never, ever, expose it.

</aside>

Step 4: Installing and Configuring the Juno SDK

After generating your API key, follow these steps:

  1. Install the Juno SDK: You can install the Juno SDK for your project using the appropriate package manager.

    npm install juno-sdk # for projects using npm
    pnpm add juno-sdk # for projects using pnpm
    yarn add juno-sdk # for projects using yarn
    bun install juno-sdk # for projects using bun
    
  2. Configure the SDK: Provide the API key to the Juno SDK in your project’s configuration to start accessing Juno services.

    import juno from "juno-sdk";
    
    // Call this somewhere in your program before using any of Juno's services
    juno.init({
      apiKey: "<your api key>",
      baseUrl: "<base url of running juno instance>"
    });
    
    // We can then call any of the service methods, e.g. email, file services