Skip to content

Cloud Native Software Development with Kubernetes and Docker - simply run "devspace up" in any of your projects and start coding directly on top of Kubernetes (works with minikube, self-hosted and cloud-based clusters)

License

Notifications You must be signed in to change notification settings

musicformellons/devspace

 
 

Repository files navigation

DevSpace Workflow

DevSpace - Cloud Native Development with Kubernetes

Build Status Go Report Card Slack Tweet

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 DevSpace?

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

  • iterate quickly: no more building and pushing images on every change, use hot reloading instead (e.g. with nodemon)
  • keep your existing workflow and tools: the DevSpace CLI works with every IDE (no plugins required)
  • access cluster-internal services and data during development
  • 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

Follow this link for the Install & Quickstart Guide.

After installing the DevSpace CLI, you can create a DevSpace for any existing project with just a single command:

devspace up

Take a look at the Install & Getting Started Guide to see how to get started with a DevSpace.

Note: Don't worry, you can use devspace reset to reset your project and go back to local development.

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

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.

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. Ensure you are running golang version 1.11.4 or greater for go module support.
  2. Check-out the project: git clone https://github.com/covexo/devspace && cd devspace
  3. Make changes to the code (dependencies are downloaded when you run any go command such as go build)
  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 under the Apache 2.0 open source license.

About

Cloud Native Software Development with Kubernetes and Docker - simply run "devspace up" in any of your projects and start coding directly on top of Kubernetes (works with minikube, self-hosted and cloud-based clusters)

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Go 99.2%
  • Other 0.8%