jumppad icon indicating copy to clipboard operation
jumppad copied to clipboard

Tools

Open nicholasjackson opened this issue 4 years ago • 1 comments

The bash version of shipyard used to have a tools command which ran an interactive terminal containing common tools such as HashiCorp command line tools and KubeCtl.

We need to bring this feature to Shipyard. The tools container should be run as follows.

shipyard tools

If an existing tools container is running then a shell to this container will be attached

If the tools container is not running then it will be started.

In addition we need to improve the user experience for the tools container.

At present you define the tools container as follows:

container "tools" {
  image   {
    name = "shipyardrun/tools:latest"
  }

  command = ["tail", "-f", "/dev/null"]

  # Nomad files
  volume {
    source      = "./nomad_config"
    destination = "/files/nomad"
  }

  network = "network.cloud"
  
  env {
    key = "NOMAD_ADDR"
    value = "http://nomad-http.cloud.shipyard:4646"
  }
}

Tools should be rolled into a custom resource called tools and many of the following options should be automatically set:

  • Kube config files for running Kubernetes clusters should be automatically be mounted
  • Environment variables for Nomad and Kubernetes clusters should be automatically set
  • Should be possible to specify a custom tools container
  • Networks are automatically attached
  • As a stretch goal there should be a feature where the networks/variables on a tools container are automatically updated as the state changes.

nicholasjackson avatar Feb 15 '20 07:02 nicholasjackson

I see some parallels with the usecases described in:

https://discord.com/channels/771742803196772402/771742803196772405/861695860127957022 https://discord.com/channels/771742803196772402/771742803196772405/861695889889558588

gc-ss avatar Jul 08 '21 12:07 gc-ss