github devspace-sh/devspace v3.0.0

latest releases: v6.3.12, v6.3.11, v6.3.10...
5 years ago

Changes introduced in this pull request:

BREAKING CHANGES:

  • Removed internalRegistry from config
  • Removed registries.auth from config
  • Removed overwrite.yaml in favor of configs.yaml (more details below)
  • Removed --config-overwrite flags for devspace commands
  • Renamed devspace add service / devspace remove service / devspace list services to selector
  • devspace up does not run devspace init anymore if devspace project was not configured already

Major changes:

  • New helm chart (for more informations see https://devspace.cloud/docs/charts/devspace-chart)
  • New devspace analyze command - analyzes a namespace for potential problems, like pods/containers not starting and warning events and prints a small report (for more informations see https://devspace.cloud/docs/cli/analyze)
  • Overriding docker image entrypoints in memory: (for more information see https://devspace.cloud/docs/development/entrypoint-overwrites)
    Devspace is now able to override docker image entrypoints during docker build time. It will append an ENTRYPOINT and CMD command to the Dockerfile in memory and leverage existing cached layers. This makes it possible to have a reliable and easy to understand way of overwriting a container image entrypoint for development, independent of the deployment strategy
  • Helm deploying:
    Devspace now replaces an image in the overwrite values and values.yaml for helm. For example a values.yaml with:
    myimage: mydockeruser/mydockerimage:latest
    
    will be rewritten in memory during devspace dev/deploy to myimage: mydockeruser/mydockerimage:JUSTBUILTTAG by devspace, so you can easily integrate existing charts with devspace. This makes it possible to create helm charts that have a custom values structure instead of using the previous .Values.containers approach. For compatibility reasons devspace will still fill the .Values.containers.configImageKey.image fields during runtime.
  • New configs.yaml (more information on https://devspace.cloud/docs/configuration/multiple-configs):
    You are now able to specify multiple configurations in the configs.yaml. If configs.yaml does not exist it will just use the old config.yaml. The format is:
config1:
  config:
    path: mypath1.yaml
  overrides:
  - path: myoverride1.yaml
  - data:
      images:
        default:
          image: ${ImageName}
  vars:
  - name: ImageName
    question: Please specify the image url
config2:
  config:
    data:
      ...
  overrides:
  - path: myoverride1.yaml

You can list all configs with the devspace list configs command. You can change the active config via devspace use config config2.

  • Config variables (more information on https://devspace.cloud/docs/configuration/variables):
    You are now able to specify variables within the config to make it more dynamic. For example you are now able to specify a config that looks like this:
    deployments:
    - name: ${DeploymentName}
      helm:
        overrideValues:
          myValue: ${MyVariable}
    
    Variables have the form ${Name} and devspace will try to get the value from an environment variable in the form of DEVSPACE_VAR_NAME. If there is no such environment variable found, devspace will ask the user to input them after it loaded the active config. The variable values are stored in the genrated.yaml and are user specific and should not be checked in. You can also define a custom question, default value and regex validation pattern either in the configs.yaml under the configName.vars key or in the vars.yaml if there is only a single config.
    
  • Complete rework of the devspace cloud: (more information on https://devspace.cloud)
    devspace.cloud provisions private hosted kubernetes namespaces for your application. You are also now able to use a private docker registry for your docker images at (dscr.io). In addition you are now also able to connect custom domains and monitor your namespaces within devspace.cloud.

Other changes:

Command Changes:

  • devspace analyze - analyzes the current namespace for problems
  • devspace logs - prints the logs and attaches to the specified terminal pod
  • devspace update config - converts the config into the newest version
  • devspace dev - renamed devspace up command (up still works but is now deprecated)
  • devspace purge - renamed devspace down command (down still works but is not deprecated)
  • devspace login - login to devspace.cloud
  • devspace create/use/remove space - create/use/delete a private namespace within devspace.cloud as target for deployment
  • devspace list configs/spaces/vars

Config Changes:

  • Introduced new config version v1alpha2 (old version is automatically converted, you can also update the config via devspace update config)
  • devspace is now dev
  • moved deployments out of devspace to highest level
  • registries are now prepended to the image in the official form (e.g. myreg.io/myusername/myreponame) instead of defining them separately at the registry level
  • tiller namespace was moved from top level to the helm configuration in deployments, so you are able to deploy to different tiller namespaces
  • it is now possible to specify multiple helm override value files in the config under deployments[].helm.overrides

Smaller changes

  • devspace now detects an active devspace in the parent folders if in the starting working directory no devspace configuration is found
  • devspace tries to rollback the helm chart after a failed deployment
  • reworked the devspace output
  • devspace purge/down now deletes the deployments in reverse order

Documentation:

  • adjusted all examples to the new changes
  • completely reworked documentation (New documentation available at https://devspace.cloud/docs)

Don't miss a new devspace release

NewReleases is sending notifications on new releases.