Gatsby

In this guide, we will discuss how to set up a Gatsby project, that uses Onboardbase to manage its secrets (environment variables)

📘

This section assumes you already have a project set up in Onboardbase Dashboard. If you don't, please create an account and get started!

📘

To make integration faster the team at Onboardbase has released an open-source gatsby starter kit you can check it out here

Create a Gatsby Project

We would be deploying the demo version of the Gatsby project.

From anywhere comfortable in your terminal, run:

 npm init gatsby

Change directory into the Gatsby App folder you just created

cd my-gatsby-site

Add a remote git URL.

git remote add origin [REMOTE_GIT_URL]

git push --set-upstream origin main

Finally, start the project with:

npm run develop

// or

yarn run develop

Install Onboardbase CLI

Follow the installation guide to set up Onboardbase CLI for your machine.

Verify installation with onboardbase --version which would output the version of the CLI you just installed.

Authenticate Onboardbase CLI

From anywhere in your terminal, run onboardbase login, and accept to open the page in a browser.

On the authorization page, enter your email, and a confirmation link would be sent to the email. Click on the link, and your CLI should be authorized. Check your terminal to confirm.

Setup Onboardbase CLI

After successful installation, from the Gatsby Project directory in your terminal, run:

onboardbase setup

This would list all your projects, select the react project, select the development environment and accept to add .onboardbase.yaml to your .gitignore file.

This would create an .onboardbase.yaml file that has all the details you selected during the setup and this would be used by the build script to know which secrets to pull into your react project.

Building with Onboardbase CLI

Since we have all our secrets on Onboardbase, we would be using the build tool from Onboardbase to load secrets into the project.

To do this, modify your start script inside the package.json instead of having this:

  "scripts": {
    "develop": "gatsby develop",
    "start": "gatsby develop",
    "build": "gatsby build",
    "serve": "gatsby serve",
    "clean": "gatsby clean"
  }

To this:

"scripts": {
    "develop": "onboardbase run --command=\"gatsby develop"",
    "start": "onboardbase run --command=\"gatsby develop"",
    "build": "onboardbase run --command=\"gatsby build"",
    "serve": "onboardbase run --command=\"gatsby serve"",
    "clean": "onboardbase run --command=\"gatsby clean""
},

Notice how we now use onboardbase run to run the start and build process, instead of the base gatsby scripts.

To test this, start the development server with:

yarn run develop

Which should import all your Onboardbase projects

The secrets are available through: process.env.ENV_KEY_STORED_IN_ONBOARDBASE.

Awesome!