gaudi

Gaudi allows to share multi-component applications, based on Docker, Go, and YAML.

  • 所有者: marmelab/gaudi
  • 平台:
  • 許可證: MIT License
  • 分類:
  • 主題:
  • 喜歡:
    0
      比較:

Github星跟蹤圖

gaudi Build Status

This project is discontinued. Read about why here.

gaudi is a generator of architecture written in Go and using Docker.
You can use it to start any type of application, and link them together without knowledge of Docker or system configuration.
Using Go, gaudi can build and start your applications in parallel depending on their dependencies.

Check gaudi's website and follows @GaudiBuilder for more information.

gaudi screencast

Basic Usage

Describe any architecture with a simple YAML file (called .gaudi.yml). For instance, for a PHP+MySQL combo:

applications:
    front1:
        type: apache
        links: [app]
        volumes:
            .: /var/www
        custom:
            fastCgi: app
        ports:
            8080: 8080

    app:
        type: php-fpm
        links: [db]
        ports:
            9000: 9000
        volumes:
            .: /var/www

    db:
        type: mysql
        ports:
            3306: 3306

Start this environment (with sudo privileges):

gaudi

gaudi will try to find a .gaudi.yml file in the current folder, and start each application simultaneously, or sequentially if they depend on each other.

Installation

gaudi requires Docker to run.

OSX / Windows: Using Vagrant

The Cethy/vagrant-gaudi repository describes how to install gaudi with Vagrant.

Debian & Ubuntu

wget -O - http://gaudi.io/apt/gaudi.gpg.key, sudo apt-key add -
echo "deb http://gaudi.io/apt/ precise main", sudo tee -a /etc/apt/sources.list

sudo apt-get update
sudo apt-get install gaudi

Other linux systems

On other system you need to install Go 1.2 to install gaudi.

go get github.com/marmelab/gaudi

Check that your PATH includes $GOPATH/bin:

export PATH=$GOPATH/bin:/$PATH

Via Puppet

A puppet module is available to install gaudi.

The gaudi application starts containers with Docker's commands which requires sudo privileges.
Make sure that the GOPATH and GOROOT environment variables are correctly set for the root user (or other user with root privileges).

How Does It Work?

gaudi uses Docker to start all applications in a specific container.
It builds Docker files and specific configuration files from different templates.
All templates are listed in the templates/ folder, one for each application type.

Examples

You can find an example of how to start a Symfony application in the wiki.

Another examples can be found in the examples folder.

Options

See gaudi options.

Configuration

Check How to configure gaudi to build your environment

Types

See all type of applications supported.

Binaries

gaudi can also runs binaries in the current folder.
A binary is not always attached to an application so gaudi allows to configure them in a different field binaries.

See all type of binaries supported.

Build the debian package

Create a gpg key

gpg --gen-key
ls / -R
gpg --armor --export your@email.com --output gaudi.gpg.key

Run makefile

make apt

Contributing

Your feedback about the usage of gaudi in your specific context is valuable, don't hesitate to open GitHub Issues for any problem or question you may have.

All contributions are welcome. New applications or options should be tested with go unit test tool.

License

gaudi is licensed under the MIT Licence, courtesy of marmelab.

主要指標

概覽
名稱與所有者marmelab/gaudi
主編程語言Go
編程語言Go (語言數: 6)
平台
許可證MIT License
所有者活动
創建於2014-01-06 17:25:16
推送於2019-05-04 07:44:19
最后一次提交2019-05-04 09:44:18
發布數2
最新版本名稱0.2.1 (發布於 )
第一版名稱0.2 (發布於 )
用户参与
星數558
關注者數38
派生數27
提交數234
已啟用問題?
問題數34
打開的問題數9
拉請求數55
打開的拉請求數0
關閉的拉請求數1
项目设置
已啟用Wiki?
已存檔?
是復刻?
已鎖定?
是鏡像?
是私有?