Develop your app

Overview

Walhall’s primary functions are to help you develop apps with microservice architectures and deploy them to Kubernetes. The apps derive their code from repositories linked from your GitHub organization.

When you link your organization to GitHub, Walhall imports the repositories as modules. Users in your organization can include these modules in multiple different apps.

This section describes how to develop apps and build modules.

How do I create an app in Walhall?

See “Build and deploy your first app” in the “Get started” section.

What is a module?

A module is a code repository that has been linked to Walhall from your GitHub organization. Modules can be added to apps and deployed together as part of microservice architectures.

Screenshot: Modules in an app

When you deploy your app, Walhall will allocate a development environment and build an image for each of your modules.

They will each be assigned their own IP address—unless you include BiFrost in your app, in which case a single API URL will be created for routing requests to all of the modules.

How do I create a module?

See the “Add custom module” page for information on how to add your existing code repository to Walhall as a module.

If you want to create a new one from scratch, then we recommend using one of our pre-made blueprints. These are boilerplate modules that come pre-configured to work with Walhall’s deployment process and CI/CD pipeline. Currently, we offer the following blueprints:

What is BiFrost?

BiFrost is an open-source API gateway and core authentication layer.

When you use BiFrost in your app, it auto-discovers the endpoints from all of your modules and exposes them as a single API. It also includes a join table for sharing data between modules.

There are a few requirements that your modules must meet in order to connect to BiFrost. Click here for instructions.