Get started with Walhall

Follow these instructions to get up and running with your Walhall account and create your first app with microservices reused from the marketplace.

Registration process

There are two registration flows:

  1. Organization admins who wish to onboard their GitHub organization to Walhall;
  2. Organization users who wish to register for Walhall as part of an organization that’s already been added.

Please note the beta limitations section at the bottom of the page.

Register your organization

To register your GitHub organization in Walhall:

  1. First, make sure that your organization allows third-party application access. There are two ways to do this:
    1. Remove the third-party access restrictions for the organization. To do this, go to your GitHub Organization settings > Third-party access and click “Remove restrictions.”
      Screenshot: Third-party access restrictions
    2. When authorizing Walhall to access your GitHub account in step 5, you can explicitly grant organization access by clicking the “Grant” button next to your organization name.
      Screenshot: Grant organization access to Walhall
  2. Go to https://app.walhall.io and click the Sign up link in the lower right.
  3. Enter your beta access code and click Register your organization.
  4. Read and accept the required legal notices by checking the box at the bottom.
  5. Click the button and follow the OAuth process to authorize Walhall to access your GitHub account.
  6. You will be returned to Walhall, where you will see a list of your GitHub organizations; select the organization you want to register with Walhall.

Your organization will then be created to Walhall, and you will be assigned to it. Walhall also creates a personal organization with your username for testing purposes. At this point, you’ll be logged in to Walhall and can start using the platform.

There is no special process for inviting your users to your organization in Walhall. They can add themselves during the Walhall registration process.

Register as a user of an organization

  1. Go to https://app.walhall.io.
  2. Click the Sign up link in the lower right.
  3. Toggle the No I don’t option in the lower left and then click the Join your organization button on the right.
  4. Read and accept the required legal notices by checking the box at the bottom.
  5. Click the button and follow the OAuth process to authorize Walhall to access your GitHub account.
  6. You will be returned to Walhall, where you will see a list of your GitHub organizations; select the organization you want to join.

That’s it—now you can get started using Walhall.

Create your first app

  1. Log in to Walhall.
  2. Enter a name in the text field on the home screen and click Create.
  3. Walhall will load a list of logic modules to include in your app, as well as the core modules BiFrost and Midgard.
    • BiFrost and Midgard are included in the app by default. If you don’t want to use them, then click the Exclude button in their respective windows.
      Screenshot: Exclude BiFrost from app
    • If you decide to include Midgard, you can choose which framework it should use to build itself from the dropdown menu to the right of the description.
      Screenshot: Set Midgard framework
    • Underneath BiFrost, you’ll see a list of backend services—i.e., logic modules that provide the backend functionality behind your app’s business logic. Click Add on each one you want to include in your app.
      Screenshot: Add backend services to your app
    • When you add a backend service to your app, its respective client will become available to add to the app as well. Micro-frontends provide basic frontend interfaces for interacting with the backend services, and are loaded into the Midgard application. Screenshot: Add client to your app
    • Walhall also includes a number of service blueprints—boilerplate services that come pre-configured to communicate with BiFrost and Walhall. Blueprints are available in a number of different frameworks. In the box labeled Custom Logic Module, choose the framework of your choice, enter a name for your blueprint service, and click the check mark button.
  4. When you’re done adding modules, click Create in the top left corner.

Congratulations! You’ve created your first Walhall app. However, nothing’s deployed yet—at this point, you have the opportunity to start developing your app before it goes live.

If you go to your GitHub account, you will see that Walhall has forked repositories for Midgard and/or all of the logic modules you selected. The Midgard repository has the same name that you gave your app.

Screenshot: Forked modules from Walhall

Deploy the app

Now it’s time to deploy your app to the development environment. Go back to the app overview screen in Walhall. In the top left, you’ll see a Deploy to Development button—go ahead and click it. A message will display at the top when the deployment is finished.

BiFrost URL

If your app includes BiFrost, then an API URL will appear next to BiFrost. This is the URL of the API that BiFrost constructed from all of your app’s backend services.

If you click the URL, you’ll be taken to the homepage of your app’s backend. Click the API link to go to your app’s API documentation, provided via SwaggerUI.

Midgard URL

If your app includes Midgard, then a frontend URL will appear in the Midgard box. This is the URL of the web app constructed by Midgard from its core features and those provided by the clients.

If you click the frontend URL, you’ll be taken to the default login screen for Midgard:

Screenshot: Midgard home

Click the Register button at the bottom, create yourself an account, and then go back and log in.

Once you’ve logged in, you will see a fully-functional web app generated from the forked Midgard repository. For each client you selected during creation, you will see a tab in the left-hand navigation:

Screenshot: Logic module tabs

Next steps

Congratulations! You’ve deployed a fully functional microservice app in minutes without writing any code. Now that the code is in your GitHub account, you can customize Midgard and the logic modules to provide whatever functionality you need.

Here are some ideas for what you can do next:

Beta limitations

Walhall is currently in closed beta. The following limitations to app and environment creation apply:

  • Both user access management and source code management are handled through GitHub. We will open this up to other version control systems (e.g., Gitlab, Bitbucket) in the future.
  • The number of applications is limited to 20, with a maximum of 3 environments each.
  • Walhall currently only offers the creation of development, staging, and demo environments; the option to create and manage production environments will be added later.
  • The role-based access model is not yet activated in Walhall. Each member of an organization in Walhall has full access to all applications for that organization and can delete and edit environments and applications.
  • Walhall works best in the latest version of Google Chrome.

Troubleshooting: Walhall can’t fork Midgard/logic module more than once

One current limitation of using Walhall with GitHub is the fact that you cannot fork the same repository into the same GitHub account twice. This issue will occur whenever you make a second or third app using the same logic module or the same flavor of Midgard.

Follow these steps to add a logic module to a new app when it’s already been forked to your account:

  1. Clone the repository of the logic module you want to add to the new app (henceforth “Repo A”).
  2. Create a new GitHub repository (henceforth “Repo B”) and then clone it.
  3. Copy the contents from Repo A into Repo B and commit the changes.
  4. Go to your app’s overview page in Walhall.
  5. Click Create module.
  6. Enter the name of Repo B.
  7. Specify Frontend (for Midgard) or Backend (for a logic module) and the framework used.
  8. Enter the URL of Repo B, including your GitHub account name, and click Create and Add.
  9. Finally, go back to Repo B in GitHub and create a new tag.

This will trigger the deployment process and add the logic module to your new Walhall app.