Giter Site home page Giter Site logo

swanager's Introduction

swanager

Development

Golang (1.7.5+) needs to be installed and set up

$ git clone [email protected]:dokkur/swanager.git && cd swanager
$ go get -u
$ go run swanager.go

Build

Simple:

./build.sh

Full:

TAG=latest DELETE_BUILD_IMAGE=0 GOLANG_BUILD_IMAGE=golang:1.8 ./build.sh

All params are optional.

Param Default value Description
TAG latest Tag of resulting image swanager:TAG
DELETE_BUILD_IMAGE 1 Whether of not, delete golang build image
GOLANG_BUILD_IMAGE golang:1.8 Golang build image

Run

Docker container

docker run -d -v /var/run/docker.sock:/var/run/docker.sock swanager

Required mounted resource is a docker socket to manage docker.

Configure swanager container:

Env vars Default value Description
SWANAGER_PORT 4945 API port
SWANAGER_LOG stdout Logfile
SWANAGER_MONGO_URL mongodb://127.0.0.1:27017/swanager mongodb url
SWANAGER_DB_NAME swanager Mongodb database name
SWANAGER_PATH_PREFIX /data Service mount points root
SWANAGER_LOCAL_SECRET_KEY - Secret key, to authenticate local services (if none, won't be authenticated)

Docker stack file

You may want to store mongodb to mounted volume, just check swanager.yml

Start

docker stack deploy --compose-file swanager.yml swanager

Stop

docker stack rm swanager

swanager's People

Contributors

da4nik avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

swanager's Issues

формат ответа /api/v1/session

приходит такое:

{"token":{"token":"f2be4174-ac8a-1e68-df0b-fcfbdfa0c4a2d886ec5dbff7fd27","last_used":"2017-03-18T15:16:38.180540736Z"}}

@da4nik так и планировалось, чтобы был ключ token внутри объекта token?

published port

Предложение:

  1. запретить принудительно указывать, какой порт должен быть открыт снаружи
  2. в эндпоинт /services в объектах Service брать фактический экспоуженный published_ports Docker-ом (сейчас если при создании передать туда 0 в качестве External Port, swarm сам выберет внешний порт, но его потом никак получить нельзя)

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.