Skip to content

Commit

Permalink
Improve dev. experience
Browse files Browse the repository at this point in the history
  • Loading branch information
Leon99 committed Jul 28, 2019
1 parent f4f204d commit 70fff9d
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 11 deletions.
2 changes: 2 additions & 0 deletions Monyk.sln
Original file line number Diff line number Diff line change
Expand Up @@ -35,7 +35,9 @@ Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution
.gitignore = .gitignore
azure-pipelines.yml = azure-pipelines.yml
Directory.Build.props = Directory.Build.props
docker-compose-infra-only.yml = docker-compose-infra-only.yml
LICENSE = LICENSE
Monyk.sln.startup.json = Monyk.sln.startup.json
README.md = README.md
EndProjectSection
EndProject
Expand Down
32 changes: 21 additions & 11 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,19 +18,33 @@ Alerts can be posted via WebHook (e.g. via Slack).

Monyk consist of the following loosely-coupled components:

1. *GroundControl* allows you to specify *monitors* via its REST API and will take care of triggering the *checks* according to the specifications.
1. *GroundControl* allows you to specify *monitors* via its REST API and takes care of triggering the *checks* according to the specifications.
2. *Probes* actually perform the checks. You may want to put many of those around the globe - it's optimized for minimal resource consumption.
3. *Lab* processes the results of the checks.
3. *Lab* allows you to configure *actions* to be performed on receiving check results via its REST API and processes the results of the checks.

### OK how do I use it?

This section covers launching Monyk using default setting for development environment:

- databases re-created on start-up
- mock data initially added to the databases to help kick-start things
- *GroundControl* API is accessible from browser via https://localhost:42113/swagger
- *Lab* API is accessible from browser via https://localhost:42133/swagger

See [Details](#Details) section for details on preparing it to run in the wild.

Note that all the further commands assume that you have cloned the repository:

```Shell
git clone https://github.com/leon99/monyk
cd monyk
```

#### Run/debug using Visual Studio

1. Run `docker-compose -f .\docker-compose-infra-only.yml up` to launch just the required infrastructure.
2. Use [SwitchStartupProject](https://bitbucket.org/thirteen/switchstartupproject/) to launch all the Monyk components from VS at once. An appropriate config file for it is included here.

#### Run using Docker Compose

`docker-compose up`
Expand All @@ -44,21 +58,17 @@ cd monyk
5. Run *Lab*: `dotnet run --project src/Monyk.Probe.Main`
6. (Optional) [Install Seq](https://docs.getseq.net/docs/getting-started-with-docker) to make use of semantic logging support

Either method will launch Monyk using default setting for development environment:

- databases re-created on start-up
- mock data initially added to the databases to help kick-start things
- *GroundControl* API is accessible from browser via https://localhost:42113/swagger
- *Lab* API is accessible from browser via https://localhost:42133/swagger

See [Configuration](#configuration) for details on preparing it to run in the wild.

#### Hold on, but you said there will be no rocket science?

Feel free to improve things and submit a PR 🖖

## Details

### Installation

Using Docker images ([leon99/monyk-groundcontrol](https://hub.docker.com/r/leon99/monyk-groundcontrol), [leon99/monyk-probe](https://hub.docker.com/r/leon99/monyk-probe), [leon99/monyk-lab](https://hub.docker.com/r/leon99/monyk-lab)) is the recommended way to run Monyk in non-development environments.

### Configuration

Configuration can be done using any of the following methods (in order of priority, starting with the highest):
Expand All @@ -73,4 +83,4 @@ When configuring using environment variables, use `MONYK_` prefix and `__` as a

### Recipes

- [Terraform](https://www.terraform.io) with [REST API Provider](https://github.com/Mastercard/terraform-provider-restapi) can be used to manage monitors as part of an infrastructure-as-a-code solution.
- [Terraform](https://www.terraform.io) with [REST API Provider](https://github.com/Mastercard/terraform-provider-restapi) can be used to manage Monyk as part of an infrastructure-as-a-code solution.

0 comments on commit 70fff9d

Please sign in to comment.