Skip to content

leopardslab/clocal-azure

Repository files navigation

An emulation engine for Azure Services

Clocal-azure provides an easy-to-use test/mocking framework for developing Cloud applications.

Currently features are under development.

πŸš€ Install

Requirements

  • NodeJS (^8.9.4)
  • yarn (^1.6.0)
  • Docker
  • MYSQL
  • MongoDB
$ git clone https://github.com/cloudlibz/clocal-azure.git
$ cd clocal-azure
$ yarn
$ yarn link (Install clocal commands)
$ yarn start <command>
         or
$ clocal <command>

πŸ“š Overview

Clocal-azure spins up the following core Cloud APIs on your local machine:

πŸ“Ÿ Services & Ports

Commands

All Services at once

Step 1: Go to compose.env file and specify the path to create the images for azure functions and azure api app service and azure cosmosdb.

Step 2: Run the shell script as below.

Ubuntu OS: $ yarn service or $ bash compose.sh

Mac OS: $ yarn service or $ bash compose.sh or $ sh compose.sh

Compose-Result

Azure Functions

  • Init Functions
$ clocal function-init <folder>

Azure functions working directory is located in example/azure-functions. You can create a folder inside the location and give the folder location. Then attach the init file where the service starting file. Example: clocal function-init function-sample

  • Start Functions
$ clocal function-start
  • Stop Functions
$ clocal function-stop 

Azure Storage

Azure storage comprises of azure blobs, queues and tables. See the example/azure-storage for sample project.

  • Start Storage
$ clocal storage-start
  • Stop Storage
$ clocal storage-stop
  • Clear all files created
$ clocal storage-clear
  • List files To list all files
$ clocal storage-query

To list specific folder files

$ clocal storage-query folder_name

Azure CosmosDB (Only Windows Supported)

  • Init CosmosDB
$ clocal cosmosdb-init

This will create the in-built image of the Cosmos DB emulator and will be on ready state to start the container.

  • Start CosmosDB
$ clocal cosmosdb-start
  • Stop CosmosDB
$ clocal cosmosdb-stop

Azure SQL Server

  • Start SQL Service
$ clocal sql-start
  • Stop SQL Service
$ exit

Azure KeyVault

  • Start KeyVault
$ clocal keyvault-start
  • Stop KeyVault
$ clocal keyvault-stop

Azure Search

  • Start Search
$ clocal search-start
  • Stop Search
$ cmd + c / ctrl + c

Azure CLI 2.0

  • Start CLI
$ clocal cli-start
  • Exit CLI
$ exit

Azure API App Service

Azure API working directory is located in example/azure-api-service. You can create a folder inside the location and give the folder location. Then attach the init file where the service starting file.

Example: clocal api-start ./ api.json

$ clocal api-start <folder> <init-file>

πŸ“ Example Documents

πŸ“Ί Demo Video Series

πŸ”§ Testing

Before runs the tests, make sure all docker images have been installed.

$ yarn test

πŸ“ Architecture

Sent by Gaurav Pandey

πŸ™‹ Contributing

Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.

πŸ“œ License

This project is licensed under the Apache License 2.0 - see the LICENSE.md file for details

Acknowledgments

The project clocal-azure is initially developed for the Google Summer of Code 2018. Special thanks goes to my mentors Rumesh, Lasitha and Rajika and CloudLibz Organization.

Second phase of clocal-azure carried out for Google Summer of Code 2019. Once again I would like to thank my mentors Rumesh, Sammani, Rajika and Dilantha.