This the multi-page printable view of this section.Click here to print.

Return to the regular view of this page.

Bootstrap

Table of Contents

To create an application requires a simple bootstrap which contains the core Service's that are required to run the application.

For example, this site is generated with a microkernel based application and it uses a bootstrap similar to the following:

 1package main
 2
 3import (
 4  "github.com/peter-mount/documentation/tools/hugo"
 5  "github.com/peter-mount/documentation/tools/pdf"
 6  "github.com/peter-mount/go-kernel"
 7  "log"
 8)
 9
10func main() {
11  err := kernel.Launch(
12    &hugo.Hugo{},
13    &pdf.PDF{},
14  )
15  if err != nil {
16    log.Fatal(err)
17  }
18}

Here it defines two services which must be started. Each one is declared by passing an empty instance of the required Service's to the Launch method. The kernel will then deploy each one.

The order they are listed here will be used to determine which one starts first, although this can be affected by any dependencies on services that have already been deployed.