Skip to content
This repository has been archived by the owner on May 29, 2024. It is now read-only.

Booster Catalog Changelog

Tako Schotanus edited this page Mar 12, 2018 · 2 revisions

Feb 1st, 2018 changes

Before February 1st, 2018 the booster catalog consisted of a GitHub repository with a directory structure that defined missions, runtimes and possibly versions and in those directories were .yaml files that contained information about where a booster repository could be found.

Then inside each booster repository pointed to by those .yaml files was another .yaml file, the ".openshiftio/booster.yaml" that contained some extra information about the booster such as its name and its description. Eg, things used to look like this:

booster catalog

- crud
   - nodejs
     - crud-nodejs-booster.yaml
   - vert.x
     - community
       - crud-vertx-community-booster.yaml
     - redhat
       - crud-vertx-redhat-booster.yaml

crud-nodejs-booster.yaml

githubRepo: bucharest-gold/nodejs-rest-http-crud
gitRef: master

nodejs-rest-http-crud/.openshiftio/booster.yaml

name: Node.js - CRUD Example
description: Runs a Node.js application ...

That's how things were before. So what has changed?

  • The ".openshiftio/booster.yaml" has been merged into the catalog. You can remove these files from your booster repositories
  • The .yaml file names in the catalog don't need to be unique anymore and can just be named "booster.yaml"
  • You can add "common.yaml" files to hold common values that will be shared by all booster .yaml files in the same catalog directory and in any sub directories
  • The format of the booster .yaml files itself has changed (described below)
  • Instead of using different branches and tags for our different server environments (master for development, next for staging, vNN for production, openshift-online-free for starter clusters) we now store all that information in the booster descriptor itself

The new catalog will look somewhat like this:

booster catalog

 - crud
   - nodejs
     - booster.yaml
   - vert.x
     - community
       - booster.yaml
     - redhat
       - booster.yaml

crud/nodejs/booster.yaml

name: Node.js - CRUD Example
description: Runs a Node.js application ...
source:
  git:
    url: https://github.com/bucharest-gold/nodejs-rest-http-crud
    ref: master
metadata:
  runsOn: "!starter"
environment:
  staging:
    source:
      git:
        ref: v1.1.0
  production:
    source:
      git:
        ref: v1.0.3

As you can see the directory structure has stayed the same, but the "booster.yaml" file now contains the combined information of the two previous .yaml files along with a whole bunch of new things.

The important differences to note are:

  • GitHub repository references are now full URLs (in preparation to supporting other services besides GitHub)
  • "supportedDeploymentTypes" is now gone and has been replaced by "metadata / runsOn". Here it specifies that it doesn't run on starter clusters, but if you'd use "none" you basically get the same as specifying "supporedDeploymentTypes: zip" before (ie it runs nowhere, you can only download it)
  • There is a new "environments" section that holds the information specific for running in each environment. The environment name is a property freely definable by the server running the Launcher but we'd normally expect values like "development", "staging" and "production". If the name defined by the Launcher matches one in the "environments" section then the values in that section will be applied "on top" of the values found in the root of the .yaml file

More detailed information about the new Booster Catalog format etc, can be found here: HOWTO Create a Booster Catalog (Generic) and HOWTO Create a Booster Catalog (RHOAR)

Clone this wiki locally