Git Product home page Git Product logo

ozburo / garden Goto Github PK

View Code? Open in Web Editor NEW

This project forked from garden-io/garden

0.0 1.0 0.0 104.94 MB

Development orchestrator for Kubernetes, containers and functions.

Home Page: https://garden.io

License: Mozilla Public License 2.0

Shell 0.52% TypeScript 96.06% JavaScript 1.01% Ruby 0.04% Dockerfile 0.46% PowerShell 0.10% HTML 0.08% CSS 0.06% HCL 0.12% Go 0.02% PEG.js 0.55% Mustache 0.20% Python 0.11% Java 0.16% Vue 0.12% Rust 0.38% Open Policy Agent 0.01% Jinja 0.01%

garden's Introduction

Garden

If you love Garden, please ★ star this repository to show your support 💚. Looking for support? Join our Discord.

Garden

Quickstart   •   Website   •   Docs   •   Examples   •   Blog   •   Discord

Garden is a tool that combines rapid development, testing, and DevOps automation in one platform. It is designed for teams developing applications that run on Kubernetes and for DevOps Engineers writing infrastructure as code. This repository contains the source of Garden core along with its documentation and examples.

You can get started in minutes with the new Garden Web Dashboard. Just click the link and follow the interactive guide to deploy your first example project with Garden.

Short tour of the features of the Garden Web Dashboard including command history, visualized dependency graph, and the Garden dev console

With Garden you can:

  • Test and develop with smart caching and live reloading.
  • Build container images and push them to any number of registries, automatically, as you write.
  • Use remote Kubernetes clusters as your development environment with developer namespaces.
  • Declare your entire stack in a single file (or many files), including how it's built, deployed and tested from infrastructure to application code.

Installation

The fastest way to get started with Garden is by following our quickstart guide.

Otherwise:

curl -sL https://get.garden.io/install.sh | bash

For more installation options, see the installation guide.

Demo

Garden dev deploy

Interactive environments

Preview Garden with our new interactive and install-free cloud-based playgrounds ✨.

Click a button to start your Killercoda or Google Cloud Shell environment 👇🏼.

Killercoda logo in black and white. Open in Cloud Shell

If you find any bugs 🐛 or have suggestions to improve our labs please don't hesitate to reach out by creating an issue here or by asking in our Discord Community🌸

Usage

Make sure you have Garden installed and Kubernetes running locally (e.g. with Minikube or Docker for Desktop) before deploying the project.

If you have a garden.yml file in your project, you can run garden commands from the root of your project. If you don't have a garden.yml file, clone the quickstart project:

git clone https://github.com/garden-io/garden-quickstart.git

Now start the dev console with:

garden dev

Build with:

build

Deploy with:

deploy

Test with:

test

Exit with exit.

To create a preview environment on every pull request, simply add the following to your CI pipeline:

garden deploy --env preview

A developer wants to run an end-to-end test from their laptop as they code. Simple:

garden test --name my-e2e-test

Garden also has a special mode called "sync mode" which live reloads changes to your running services—ensuring blazing fast feedback while developing. To enable it, simply run:

garden deploy --sync

Docs

For a more thorough introduction to Garden and comprehensive documentation, visit our docs.

How Garden Works

The Stack Graph is a key feature of Garden that enables efficient development, testing, and DevOps automation. The Stack Graph allows you to declare the dependency structure of your project and track changes to avoid unnecessary builds, deploys and test runs. It's like CI/CD config that you can additionally use for development. Without the Stack Graph, many of these functionalities that distinguish Garden from its competitors would not be possible or would be much less efficient.

  • Efficient builds and deploys: The Stack Graph allows Garden to determine which parts of your project have changed and need to be rebuilt or redeployed, avoiding unnecessary work and speeding up the development process.

  • Automated testing: Garden can automatically run tests for the parts of your project that have changed, thanks to the Stack Graph. This saves time because all parts of your dependency graph are known and cached.

  • DevOps automation: The Stack Graph allows Garden to automate many aspects of the DevOps process, including building, testing, and deploying your project.

For more information on the Stack Graph and how Garden works, see:

Plugins

Garden is pluggable: how actions are executed depends on the plugins used. Our Kubernetes plugin is currently the most popular, followed by our Terraform and Pulumi plugins. For a more thorough introduction to Garden and its plugins, visit our docs:

Community

Join our Discord community to ask questions, give feedback or just say hi 🙂

Contributing

Garden accepts contributions! Please see our contributing guide for more information.

License

Garden is licensed according to Mozilla Public License 2.0 (MPL-2.0).

garden's People

Contributors

edvald avatar eysi09 avatar vvagaytsev avatar thsig avatar dependabot[bot] avatar orzelius avatar stefreak avatar walther avatar 10ko avatar shumailxyz avatar mkhq avatar twelvemo avatar timbeyer avatar drubin avatar benstov avatar worldofgeese avatar vkorbes avatar shankyjs avatar baspetersdotjpeg avatar swist avatar xenoscopic avatar solomonope avatar mitchfriedman avatar sixhobbits avatar highb avatar janario avatar mattpolzin avatar dcharbonnier avatar trymbill avatar mjgallag avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.