Skip to content

Latest commit

 

History

History
87 lines (74 loc) · 2.41 KB

README.md

File metadata and controls

87 lines (74 loc) · 2.41 KB

Nulecule Assistants

Copyright 2015 Tomas Radej [email protected]

This DAP (DevAssistant Package) contains assistants for working with containerized apps using the Nulecule specification.

To use these assistants, you need to install DevAssistant version 0.11.0 or later. If you are running Fedora 22 Beta or Rawhide, you can get DevAssistant by running:

dnf install devassistant

You can then install this DAP by running da pkg install nulecule. To update this DAP, run da pkg update nulecule.

Contents of the DAP

The creator assistant prepares a project directory with all necessary files. These will be filled out based on information provided by the user. To find more information about running this assistant, execute this in the terminal:

da create nulecule -h

The extra > validate assistant inspects the project's directory, determines if all necessary files are in their place, and runs a Nulecule validator script on the Nulecule file. To execute this assistant, run the following in your app's directory:

da extra nulecule validate

Examples

I want to create a Nulecule-compatible application called MyApp, with Kubernetes support enabled by default. I then run:

da create nulecule -n MyApp --author "Tomas Radej" --email "[email protected]"
--license MIT --description "My first Nulecule App" --kubernetes

The assistant automatically creates directory contents in ./MyApp, which will then look like this:

.
├── artifacts
│   └── kubernetes
│       ├── MyApp-pod.yaml
│       └── MyApp-service.yaml
├── Dockerfile
├── LICENSE
├── Nulecule
└── README.md

and the Nulecule file like this:

---
specversion: 0.0.2
id: MyApp-app

metadata:
  name: MyApp
  appversion: 0.0.1a
  description: My first Nulecule App
  license:
    name: MIT
  authors: [ "Tomas Radej <[email protected]>" ]
  homepage: 

graph:
  - name: MyApp
    artifacts:
      kubernetes:
        - file://artifacts/kubernetes/MyApp-pod.yaml
        - file://artifacts/kubernetes/MyApp-service.yaml

Note: At the moment, the assistants don't check for dependencies because some of them are not officially released and/or packaged yet. Similarly, the validator script is bundled with this assistant now. All these problems will be fixed in future versions and are not to stay.