Giter VIP home page Giter VIP logo

datomic-box's Introduction

Description

Spin up a running Datomic Free box from the commandline. Done.

The default box is a 1GB Ubuntu box on EC2 running openjdk Java version 7 but all this can be configured.

Usage

Let's deploy a datomic box to EC2!

$ git clone [email protected]:cldwalker/datomic-box.git; cd datomic-box

# add EC2 credentials
$ lein pallet add-service aws aws-ec2 ACCESS_KEY_ID SECRET_ACCESS_KEY

# Create the box and install all packages
$ lein pallet up --phases configure,install
# To see how it's progressing tail the log file e.g. tail -f logs/target-IP-ADDR.log

# Manual steps that I hope to automate
$ ssh user@IP-ADDR
# On the box
$ sudo initctl start datomic

You know have a datomic-free transactor running as an upstart job!

At this point, there are multiple paths you could take:

Connect to Public Transactor

To open up datomic ports for use from your machine:

  • Select the datomic-box security group under the Security Groups section of your EC2 dashboard.
  • On the Inbound tab, create a new TCP rule for ports 4334-4336.
  • Use Source 0.0.0.0/0 to have it available to anyone. To just allow your computer, put your IP in this format: IP-ADDR/32
  • Click 'Apply Rule Changes'
  • Verify the ports are open: telnet IP-ADDR PORT

You should now be able to access your transactor with uri: datomic:free://IP-ADDR-OR-DOMAIN/DATABASE

Run a Public Datomic App

TODO

Configuration

Since this is all based on pallet, refer to its documentation frequently.

To configure the following, modify src/datomic_box/core.clj on your fork:

  • datomic - modify datomic-crate options map passed to datomic/datomic
  • java - modify java-crate options map passed to java/server-spec
  • OS, instance size, etc. - modify node options on default-node-spec
  • provider - Use lein pallet providers to see available providers. Use lein pallet add-service to add your own.

Credits

None of this would be possible without pallet and the datomic-crate.

Bugs/Issues

Please report them on github.

License

See LICENSE.TXT

TODO

  • Provide a lein command to generate a pallet.clj in a project.
  • Create a datomic box with lein pallet up.
  • Open up configs of all crates

datomic-box's People

Contributors

cldwalker avatar

Watchers

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