armand1m / armand1m/microservices

development: Commands CLI

Open
#1 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
No language data
Stars
16
Forks
0
PR merge metrics
No merged PRs in 30d

Description

# Proposal

Create a CLI for handling the microservices environment state

## Why we need this

To create this environment, you need to:

- Create a directory.
- `cd directory`
- `git init`
- `git submodule add https://github.com/armand1m/microservices-compose-utils ./commands`
- `git submodule add https://github.com/armand1m/core-services`.
- Create a `docker-compose.yml` file with this content:
```yml
version: '2'
services:
consul:
extends:
file: ./core-services/services.yml
service: consul_service

gateway:
extends:
file: ./core-services/services.yml
service: fabio_service
links:
- consul
```

To add a service to the recently created environment, you need to:

- `git clone https://github.com/armand1m/microservice-barebone ./my-service`
- `cd ./my-service`
- `git submodule add https://github.com//`
- Edit the `docker-compose.yml` to extend and run the added service. Let's say you are adding `armand1m/bucket-service`. The file would look like this after the modifications:

```yml
service:
extends:
file: ./bucket-service/service.yml
service: service
volumes:
- ./data:/data
depends_on:
- consul
links:
- consul

consul:
extends:
file: ./core-services/services.yml
service: consul_service

gateway:
extends:
file: ./core-services/services.yml
service: fabio_service
links:
- consul
```

Contributor guide

No contributing guide indexed for this repository

Research direction

Start by reviewing the manual environment setup in the issue, including the commands submodule, core-services submodule, and docker-compose.yml examples. Define the CLI workflow for creating an environment and adding a service; done means those setup steps are handled through the CLI.

Written by the indexing model from the issue text.

Assessment

Tech stack
docker-compose, git
Domain
cli, devops
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.