Skip to content
Snippets Groups Projects
__________  _____________ ___      .___             __                .__
\______   \/   _____/    |   \   __| _/_______  ___/  |_  ____   ____ |  |
 |     ___/\_____  \|    |   /  / __ |/ __ \  \/ /\   __\/  _ \ /  _ \|  |
 |    |    /        \    |  /  / /_/ \  ___/\   /  |  | (  <_> |  <_> )  |__
 |____|   /_______  /______/   \____ |\___  >\_/   |__|  \____/ \____/|____/
                  \/                \/    \/

Installation

go get git.psu.edu/k8s/devtool

This will add devtool to your go bin. Make sure the go bin is on your $PATH.

Help

A tool used by software engineering to build applications.

Usage:
  devtool [command]

Available Commands:
  build       build the application
  ci          Build tools for the CI system
  clean       delete the helm release(s)
  config      Manage the projects build configuration
  help        Help about any command
  run         run the application
  start       start the minikube environment
  version     displays the software version

Flags:
      --config string   config file (default is $HOME/.devtool.yaml)
  -h, --help            help for devtool

Use "devtool [command] --help" for more information about a command.

Configuration

The devtool commands can be configured through CLI arguments, through ENV variables, or a global configuration file (~/.devtool.yaml)

k8s:
  provider: kind
minikube:
  memory: 8192
  cpu: 6
  k8s:
    version: v1.15.0
kind:
  name: devtool
  workers: 2
  k8s:
    version: v1.15.7
build:
  skipCompile: false
  runTests: true
  openServices: false
  webaccess:
    user: crh5255

Local-Only Deployments

The devtool supports deploying additional charts locally to simulate development resources. This eliminates the need to alter/maintain charts to add resources that will never be needed in production environments.

{
  "name": "accounts-service",
  "language": "java",
  "deployables": [
    {
      "name": "accounts-service",
      "dockerfile": "Dockerfile",
      "chart": "cm/eio-swe-service",
      "chartVersion": "0.14.0",
      "localConfig": "config/local.yml"
    },
    {
      "name": "accounts-service-postgres",
      "chart": "postgresql",
      "chartVersion": "0.18.1",
      "localConfig": "config/local-postgres.yml",
      "localOnly": true

    }
  ],
  "localEnvVars": ["OAUTH_CLIENT_ID"],
  "localSecrets": ["OAUTH_CLIENT_SECRET","OAUTH_JWK"]
}

config/local-postgres.yml:

service:
  type: NodePort
enabled: true
postgresUser: accounts_service_user
postgresPassword: secret
postgresDatabase: accounts_service