Skip to content

This utility allows the user to manage docker-based ISC product instances

License

Notifications You must be signed in to change notification settings

ontariosystems/iscenv

Repository files navigation

ISCEnv

Latest Release CLA assistant Build Status Go Report Card GoDoc

This utility allows the user to manage docker-based ISC product instances. These instances are meant to be used as development environments on a Linux host.

Usage

The command consists of a single command line utility iscenv. This utility is self-documenting. Please refer to its help for further documentation on each command.

Caveats

  • Do not add a default namespace to the root user on the instance, this will break features that wrap csession as it can no longer use the -U switch

Known issues

  • Orphaned plugins are occasionally left running after the primary process exits. This prevents upgrades. They can be killed by (after stopping all running iscenv containers) executing killall iscenv

Future changes

Rejected Features

  • Make all commands return the instance name rather than the container ID We're using full logging now rather than specific items being printed to stdout
  • Add Service wrappers for the containers which will restart them on reboot We want iscenv to remain thin, users should do this themselves
  • Have prep update the deployment service Removing the deployment service from ISCEnv altogether
  • Add a command that reads a simple configuration file to set up a specific environment
    Just use a simple bash script
  • Make "prep" an external that does the ssh to the container, make another internal weird named prep that it uses
    The purpose of this was to allow prep to be called again on an existing instance. Instead just recreate the instance using start --rm.
  • Add the ability to recognize when running in a repository and name the instance after the repository, use Gem to determine the version, use a .file to determine the port.
    This could be a secondary tool but does not belong as part of this tool. It ties us too many external systems and complicates this simple single purpose tool.