GithubHelp home page GithubHelp logo

mbrukman / dotmesh Goto Github PK

View Code? Open in Web Editor NEW

This project forked from dotmesh-io/dotmesh

0.0 0.0 0.0 23.66 MB

dotmesh (dm) is like git for your data volumes (databases, files etc) in Docker and Kubernetes

Home Page: https://dotmesh.com

License: Apache License 2.0

Makefile 0.45% Go 87.00% Python 0.10% Shell 12.35% JavaScript 0.09%

dotmesh's Introduction

dotmesh: git for data

Dotmesh is a git-like CLI for capturing, organizing and sharing application states.

In other words, it's a snapshotting tool for databases and other filesystem states.

The application states that dotmesh captured are stored in datadots.

It can capture the state of multiple databases, each one in a subdot, in a single atomic commit.

installing on docker (Mac or Ubuntu 16.04+)

Install the dotmesh client dm:

sudo curl -sSL -o /usr/local/bin/dm \
    https://get.dotmesh.io/$(uname -s)/dm

Make the client binary executable.

sudo chmod +x /usr/local/bin/dm

Then use the client to install dotmesh-server, assuming you have Docker installed and your user account has access to the Docker daemon.

dm cluster init
Checking suitable Docker is installed... yes, got 17.12.0-ce.
Checking dotmesh isn't running... done.
Pulling dotmesh-server docker image...
[...]

This will set up a single-instance cluster on your local machine.

Verify that the dm client can talk to the dotmesh-server:

dm version

If the installation fails, please report an issue. You can also experiment in our online learning environment. Thanks!

See the installation docs for more details, including installing dotmesh on Kubernetes.

getting started guide

Try our hosted tutorial!

Alternatively, try the hello Dotmesh on Docker guided tutorial.

what is a datadot?

A datadot allows you to capture your application's state and treat it like a git repo.

A simple example is to start a PostgreSQL container using a datadot called myapp:

docker run -d --volume-driver dm \
    -v myapp:/var/lib/postgresql/data --name postgres postgres:9.6.6

This creates a datadot called myapp, creates the writeable filesystem for the default master branch in that datadot, mounts the writeable filesystem for the master branch into /var/lib/postgresql/data in the postgres container, and starts the postgres container, like this:

myapp dot with master branch and postgres container's /data volume attached

First, switch to it, which, like cd'ing into a git repo, makes it the "current" dot -- the dot which later dm commands will operate on by default:

dm switch myapp

You can then see the dm list output:

dm list
  DOT      BRANCH  SERVER   CONTAINERS  SIZE       COMMITS  DIRTY
* myapp    master  a1b2c3d  /postgres   40.82 MiB  0        40.82 MiB

The current branch is shown in the BRANCH column and the current dot is marked with a * in the dm list output.

what's next?

dotmesh's People

Contributors

binocarlos avatar lukemarsden 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.