Skip to content

Latest commit

 

History

History
51 lines (30 loc) · 6.74 KB

README.md

File metadata and controls

51 lines (30 loc) · 6.74 KB

Dev Container for Ignition Module Development

Ignition 8.1.43 Ignition Module Tools Version

This solution provides a Development Container with a complete Ignition Module SDK development environment.

Features:

  • 📦 Containerized with all required dependencies pre-installed.
  • 🔌 VSCode Gradle and Java Extensions installed.
  • ☕️ Ignition Sidecar Container with Debugging and Module Hot-loading enabled.

Getting Started

There are only a few prerequisites to get started with Ignition Module Development using this solution:

Usage

There is some automatic scaffolding done the very first time you open this solution in a Devcontainer with VSCode. If you want to customize some of the base scaffolding, modify the role defaults file at .devcontainer/roles/ignition-module-devcontainer/defaults/main.yml.

Once you're happy with the values here, you can open the solution in a container by invoking the Command Palette (Ctrl-Shift-P (Windows/Linux) or Cmd-Shift-P (macOS)) and selecting Remote-Containers: Rebuild and Reopen in Container.

open-in-container

It will take a few minutes for the development container to build and open, followed by initialization of the Java and Gradle VSCode extensions. Once everything finally settles out, you should be able to start development on your module.

As part of this solution, a sidecar container with Ignition will be deployed. This Ignition Gateway is setup for remote debugging as well as loading of unsigned development modules. You can deploy your module to the running gateway by running the deployModl task (either from the Gradle extension on the left-hand side of VSCode or by running ./gradlew deployModl in the terminal).

deployModl example

Once completed, you can then inspect the Gateway Web UI by opening the forwarded port in the Ports section in VSCode. Hit Ctrl-` to toggle the view of the bottom window if necessary. You can open the forwarded port shown by clicking on the 🌐 icon.

forwarded-ports

Navigate to Config->Modules and observe that your module has been built and loaded into the running Ignition gateway. Note the URL above--this can be used to connect a Designer and conduct additional testing.

module-config-page

Shutting down

In order to stop the dev container simply close the VSCode window. The dev container and the associated Ignition sidecar will shutdown and be in a stopped state. Resuming from this state will be much quicker than the initial setup/provisioning process.