devspace

command module
v1.0.0 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Sep 15, 2018 License: Apache-2.0 Imports: 3 Imported by: 0

README

DevSpace Workflow

DevSpace - Cloud-Native Development with Kubernetes

Build Status Go Report Card Join the community on Spectrum Chart

With a DevSpace, you can build, test and run code directly inside any Kubernetes cluster. You can run devspace up in any of your projects and the client-only DevSpace CLI will start a DevSpace within your Kubernetes cluster. Keep coding as usual and the DevSpace CLI will sync any code change directly into the containers of your DevSpace. No more waiting for re-building images, re-deploying containers and restarting applications on every source code change. Simply edit your code with any IDE and run your code instantly inside your DevSpace.

Why use a DevSpace?

Program inside any Kubernetes cluster (e.g. minikube, self-hosted or cloud platform) and:

  • iterate quickly: no more re-building and pushing images on every change
  • save time with hot reloading tools (e.g. nodemon)
  • keep your existing workflow: code with your favorite IDE and desktop tools
  • access cluster-internal services and data with ease
  • debug efficiently with port forwarding and terminal proxying
  • migrate to Docker & Kubernetes within minutes

Demo

This demo shows how to run devspace up directly from the terminal inside Visual Studio Code. However, the DevSpace CLI is not a plugin and will work with any terminal. In this example, we are starting a DevSpace for a React application.

DevSpace CLI Demo

Installation

These commands will install the devspace CLI and add it to the PATH environment variable. For more details, see the full Install Guide.

For Windows
  1. Open CMD with admin rights.
  2. Run this install script:
curl -s "https://raw.githubusercontent.com/covexo/devspace/master/scripts/installer-win.bat" >"%Temp%\install-devspace.bat"
"%Temp%\install-devspace.bat" "%PROGRAMFILES%\devspace"
del "%Temp%\install-devspace.bat"

Note: After running the install script, you should reopen the terminal window to refresh the environment variables.

For Linux
curl --silent "https://api.github.com/repos/covexo/devspace/releases/latest" | sed -nr 's!.*"(https://github.com[^"]*devspace-linux-amd64)".*!\1!p' | xargs -n 1 curl -L -o devspace && chmod +x devspace && sudo mv devspace /usr/local/bin
For Mac
curl --silent "https://api.github.com/repos/covexo/devspace/releases/latest" | sed -nr 's!.*"(https://github.com[^"]*devspace-darwin-amd64)".*!\1!p' | xargs -n 1 curl -L -o devspace && chmod +x devspace && sudo mv devspace /usr/local/bin

Quickstart

The DevSpace CLI allows you to create a DevSpace for any existing project with just a single command:

devspace up

Take a look at the Getting Started Guide on our documentation page to start coding with a DevSpace.

Note: Don't worry, with the cleanup command devspace reset, you can easily reset your project and go back to local development.

Documentation

Here you can find some links to the most important pages of our documentation:

Architecture

Architecturally, the DevSpace CLI is a client-side software that interacts with services within your Kubernetes cluster. While the DevSpace CLI can deploy required services (e.g. image registry, Tiller server, Kaniko build pods) automatically, you can also configure it to use already deployed or externally hosted services.

DevSpace CLI Architecture

For a more detailed description of the internals of the DevSpace CLI, take a look at the Architecture Documentation.

Note: Any interaction between your local computer and your DevSpace is passed through your Kubernetes API server, so you should ensure that your API server is protected with a suitable configuration for using TLS.

Contributing

As any open source projects, we are looking forward to your contributions.

Reporting Issues

If you find a bug while working with the DevSpace CLI, please open an issue on GitHub and let us know what went wrong. We will try to fix it as quickly as we can.

Feedback & Feature Requests

You are more than welcome to open issues in this project to:

Contributing Code

This project is mainly written in Golang. To contribute code,

  1. Check-out the project: git clone https://github.com/covexo/devspace && cd devspace
  2. Install the dependencies: dep ensure -v (requires Installing Dep)
  3. Make changes to the code (add new dependencies to the Gopkg.toml)
  4. Build the project, e.g. via go build -o devspace.exe

License

You can use the DevSpace CLI for any private or commercial projects because it is licensed unter the Apache 2.0 open source license.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL