microserve-docksal

Deploy and configure the Docksal development environment.


Keywords
development-environment, development-tools, drupal, puppet, puppet-module
License
MIT
Install
puppet module install microserve-docksal --version 1.9.1

Documentation

Build Status

docksal

Table of Contents

  1. Description
  2. Setup - The basics of getting started with docksal
  3. Usage - Configuration options and additional functionality
  4. Limitations - OS compatibility, etc.
  5. Development - Guide for contributing to the module

Description

Installs and configures the docksal (github.com/docksal/docksal) program both for use by individual developers and in the 'CI' configuration. Does not manage configurations.

Setup

What docksal affects

Installs the fin cli to /usr/local/fin so that any user can execute it. Also creates user-specific config files in /.docksal/docksal.env and assumes full control over that file.

Setup Requirements

Requires docker installed. For Mac requires docker installed either natively, or virtualbox installed.

Beginning with docksal

Installing docksal globally is as simple as include docksal. Doing this will not affect individual user configuration files.

Usage

Install and configure docksal for the user demo

Install docksal globally and take control over the demo user's configuration file. This will control the file /home/demo/.docksal/docksal.env and install the default configuration options.

include docksal

docksal::config { 'demo': }

Install and configure docksal for a non-default home path

Although we assume that the home path of the user is /home/<username>, this is not applicable to mac nor to all users. If you need to override this value, it is as simple as:

include docksal

docksal::config { 'root':
  home_directory => '/root'
}

Install and configure with the CI variable set

Docksal CI mode is useful when you want to have CI server managed development environments. You can create the config for that by using:

include docksal

docksal::config { 'ci_user':
  home_directory => '/var/ci_runner',
  ci => true
}

Adding custom environment variables

To add custom environment variables to the docksal.env files managed by puppet, you can pass in the env parameter. For example:

include docksal

docksal::config { 'ci_user':
  home_directory => '/var/ci_runner',
  env => {
    HOSTING_ENVIRONMENT => 'qa'
  }
}

Limitations

  • User home directory default doesn't ever work for macos