• This repository has been archived on 10/Apr/2020
  • Stars
    star
    903
  • Rank 50,580 (Top 1.0 %)
  • Language
    JavaScript
  • License
    Apache License 2.0
  • Created about 11 years ago
  • Updated over 5 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

azk is a lightweight open source development environment orchestration tool. Instantly & safely run any environment on your local machine.

azk ![Gitter](https://badges.gitter.im/Join Chat.svg) Code Climate

A development environment orchestration tool

azk lets developers easily and quickly install and configure their development environments. Period.

Usage of azk

Quick start

Installing

$ curl -Ls http://azk.io/install.sh | bash

Requirements:

For further details, please see the docs.

Using azk

Starting a new project

If you are starting a new application project, you can already use azk to obtain the proper runtime as well the corresponding generators for your chosen language and then generate the application's basic structure. An example in Node.js would look like this:

$ cd ~/projects
$ azk shell --image azukiapp/node # obtaining the runtime
    # mkdir app-name
    # npm init                    # building the application's basic structure
    ...
    # exit
$ cd app-name
$ azk init
azk: `node` system was detected at 'app-name'
azk: 'Azkfile.js' generated

$ azk start

Using azk with an existing project

When you have an application project that's already started, and want to use azk to streamline its development environment, all you have to do is:

$ cd [my_application_folder]
$ azk init
azk: 'Azkfile.js' generated
...
$ azk start

Main features

  • Multiplatform: Works both on Linux & Mac OS X (requires 64-bit platform);
    • Windows planned. Want azk to run in Windows? Thumbs up here: #334
  • Images: via azk images, Docker Registry or run your own Dockerfile;
  • Built-in load-balancer;
  • Built-in file sync;
  • Automatic start-up (and reload) script;
  • Logging;
  • And simple and easy to use DSL to describe systems architecture;

Documentation

You can find our documentation online at: http://docs.azk.io/

Run Project button

Clicking the Run Project button (or "azk button") on a GitHub repo is the best way to quickly and safely run its code on your local machine.

Run project

To add a Run Project button to a repo, you'll just need to add an Azkfile.js to the project and put the following badge in your README.md file (the following example is for a hypothetical repository with the URL https://github.com/username/repo and a branch called azkfile containing the Azkfile.js):

[![Run project](https://s3-sa-east-1.amazonaws.com/assets.azk.io/run-project.png)](http://run.azk.io/start/?repo=username/repo&ref=azkfile)

Check out the Run Project Gallery for examples of up to date forks of popular projects using it.

Deploying

After you locally run a project using Run Project button, deploying it to DigitalOcean is very simple.

First, put your personal access token into a .env file:

$ cd path/to/the/project
$ echo "DEPLOY_API_TOKEN=<YOUR-PERSONAL-ACCESS-TOKEN>" >> .env

Then, just run the following:

$ azk shell deploy

Find further instructions on how to deploy to DigitalOcean using azk here.

Basic Vocabulary

System of Systems

azk is based on the concept of System of Systems. Accordingly, applications (your code), services and workers (such as databases, webservers and queue systems) are treated as systems that communicate with each other and together make the primary system. Using this paradigm, azk installs and manages development environments. While this may seem overkill at first, it actually makes it a lot easier to manage the development and execution environments of an application (in its parts - the "systems" - or in its entirety - the full "system of systems").

Images

In order to automate the provisioning of development environments, azk uses pre-built custom images. These images follow the Docker standard and can be found in: azk images, Docker Index or Dockerfile.

Azkfile.js

Azkfile.js files are the cornerstone of how to use azk. These simple manifest files describe the systems that make your system of systems as well as the images used in their execution. They also describe parameters and execution options.

More information here.

Contributions

Check our Contributing Guide for instructions on how to help the project!

Share the love and star us here in Github!

License

"Azuki", "azk" and the Azuki logo are copyright (c) 2013-2016 Azuki Serviços de Internet LTDA.

azk source code is released under Apache 2 License.

Check LEGAL and LICENSE files for more information.

More Repositories

1

libnss-resolver

A Linux extension that adds support to the /etc/resolver/[suffix].
C
44
star
2

elixir-rethinkdb

A Elixir client driver for RethinkDB.
Elixir
43
star
3

elixir-protobuf

Google Protocol Buffer to Elixir
Elixir
20
star
4

plowman

Alternative to Git Server for Openruko - Elixir/Erlang based
Elixir
16
star
5

docker-deploy-digitalocean

Easily deploy your app to a DigitalOcean droplet
Python
13
star
6

docker-php-fpm

PHP with FPM Dockerfile for trusted automated Docker builds.
PHP
12
star
7

azkdemo

Simple example of node app to run in azk
HTML
12
star
8

ex_azure

Azure wrapper for Elixir using :erlazure.
Elixir
11
star
9

docker-deploy

Easily deploy your app to a remote server using azk
Shell
9
star
10

images.azk.io

Azuki images repository for azk.
JavaScript
8
star
11

ecto-rethinkdb

Rethinkdb adapter for Ector
Elixir
8
star
12

exdocker

A lightweight Elixir client for the Docker Remote API
Elixir
6
star
13

i18n-cli

A lightweight (not asynchronous) i18n module for creating cli tools
JavaScript
5
star
14

homebrew-azk

azk repository for Homebrew
Ruby
5
star
15

azkfile-init-examples

systems examples separated by folders. Just use `azk init` on root folder to generate the Azkfile.js
PHP
5
star
16

azk-dev

Basic npm package to assist in the development of azk projects.
JavaScript
4
star
17

azk-manifest

Manifest, generator, parser, system base...
JavaScript
4
star
18

exmeck

meck in more elixir vibe ;)
Elixir
4
star
19

azk-agent

Azk virtual machine to execute a dev environment
Lua
4
star
20

azk-dns

A simple dns server for internal use azk-agent
Elixir
4
star
21

azk-core

azk core functions and utilities
JavaScript
4
star
22

cli-router

Router to Cli
JavaScript
4
star
23

docker-elixir

Elixir Dockerfile for trusted automated Docker builds.
Shell
4
star
24

azukiapp.github.io

Landing page for azk
JavaScript
4
star
25

docker-node

Node.js Dockerfile for trusted automated Docker builds.
Makefile
4
star
26

docker-mongodb

MongoDB Dockerfile for trusted automated Docker builds.
Makefile
4
star
27

scarecrow

Api server and monitor to azukiapp service.
Elixir
3
star
28

tasks-service

Services integration between tasks and issues managers for the `azk`
JavaScript
3
star
29

azk-parser

parse, create and update Azkfile.js
JavaScript
3
star
30

castborg

AST searcher and modifier
JavaScript
3
star
31

azk-projects-boilerplate

azk projects boilerplate to start new npm packages
JavaScript
3
star
32

meli-questions

Mercado Livre messages
Ruby
3
star
33

azkdemo-services

Simple example of node app with ngrok and mailcatcher
JavaScript
3
star
34

docker-postgres

PostgreSQL Dockerfile for trusted automated Docker builds.
Shell
3
star
35

docker-php-apache

PHP with Apache Dockerfile for trusted automated Docker builds.
PHP
3
star
36

halex

A elixir tools to handle the HAL specification
Elixir
3
star
37

gitbook-plugin-hotjar

Hotjar analytics support for Gitbook
JavaScript
3
star
38

azkfs

Fast filesystem to share files between host and guest vms
C
2
star
39

azkiso

Customizing boot2docker to use AZK
2
star
40

file-async

fs-extra async functions (bluebird promisified)
JavaScript
2
star
41

docker-dig

Shell
2
star
42

docker-mysql

MySQL Dockerfile for trusted automated Docker builds.
Makefile
2
star
43

luenv

Simple Lua version management (like rbenv)
Shell
2
star
44

docker-ruby

Ruby Dockerfile for trusted automated Docker builds.
Makefile
2
star
45

github-pivotal

Integration between github and pivotal.
JavaScript
2
star
46

azk-ready-projects-list

List of working projects with an Azkfile.js
2
star
47

php-translation

PHP tranaslation kit
Shell
2
star
48

docker-jruby

JRuby Dockerfile for trusted automated Docker builds.
Makefile
1
star
49

luadist-nodish

Package to install nodish with luadist
1
star
50

azktcl

Base image used in azk
Makefile
1
star
51

luadist-lustache

Package to install lustache with luadist
1
star
52

start-script

Shell
1
star
53

crash-report-sender

sends crash reports to be analysed
JavaScript
1
star
54

repo.azukiapp.com

Homepage repositories of Azuki
JavaScript
1
star
55

www.azk.io

Ruby
1
star
56

docker-debian

Docker image to run Linux Debian (jessie) by Azuki
Makefile
1
star
57

docker-python

Python Dockerfile for trusted automated Docker builds.
Shell
1
star
58

luadist-ljsyscall

Package to install ljsyscall with luadist
1
star
59

docker-web-based

Web Base Dockerfile for trusted automated Docker builds.
Makefile
1
star
60

hello_phoenix

Simple example of Phoenix (Elixir) to run with azk
CSS
1
star
61

box-elixir

Wercker box for elixir
1
star
62

react-native-avsc

Wrapper for use avsc in react-native
JavaScript
1
star
63

oracle-xe-11g

1
star
64

docker-apache2

Apache Dockerfile for trusted automated Docker builds.
Shell
1
star
65

docker-ngrok

ngrok Dockerfile for trusted automated Docker builds
Shell
1
star
66

static-nginx-boilerplate

static sites with azk, nginx and node example
JavaScript
1
star
67

azkfile-ast-history-compare

JavaScript
1
star
68

docker-erlang

Erlang Dockerfile for trusted automated Docker builds.
Shell
1
star
69

dsl-helper

A small tool to help create DSLs in JavaScript
JavaScript
1
star
70

file-sharing-benchmarks

Scripts and tools used to execute some benchmarks for different approaches of file sharing between Mac OS X and Azk containers.
JavaScript
1
star