You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+51-6Lines changed: 51 additions & 6 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -19,6 +19,7 @@ Minos is a framework which helps you create [reactive](https://www.reactivemanif
19
19
### Roadmap
20
20
21
21
#### 0.6.x
22
+
22
23
*[#78](https://github.com/minos-framework/minos-python/issues/78) Implement a circuit breaker for `minos-broker-kafka`.
23
24
*[#87](https://github.com/minos-framework/minos-python/issues/87) Implement idempotency for `BrokerSubscriber` message processing.
24
25
*[#100](https://github.com/minos-framework/minos-python/issues/100) Create the `minos-serializers-avro` plugin.
@@ -67,6 +68,10 @@ Here is a summary containing the most useful commands:
67
68
68
69
For more information, visit the [`minos-cli`](https://github.com/minos-framework/minos-cli) repository.
69
70
71
+
## Documentation
72
+
73
+
The best place to start learning how to use the Minos Framework is at [Minos Learn](http://www.minos.run/learn/). The official API Reference is publicly available at the [GitHub Pages](https://minos-framework.github.io/minos-python).
74
+
70
75
## QuickStart
71
76
72
77
This section includes a quickstart guide to create your first `minos` microservice, so that anyone can get the gist of the framework.
@@ -80,9 +85,54 @@ The required environment to run this quickstart is the following:
80
85
* A `postgres` instance available at `localhost:5432` with the `foo_db` and `foobar_db` databases accessible with the `user:pass` credentials.
81
86
* Two TCP sockets available to use at `localhost:4545` and `localhost:4546`.
82
87
88
+
89
+
<details>
90
+
<summary>Click to show a <code>docker-compose.yml</code> that provides the <code>kafka</code> and <code>postgres</code> instances ready to be used!</summary>
91
+
92
+
```yaml
93
+
# docker-compose.yml
94
+
version: "3.9"
95
+
services:
96
+
zookeeper:
97
+
restart: always
98
+
image: wurstmeister/zookeeper:latest
99
+
kafka:
100
+
restart: always
101
+
image: wurstmeister/kafka:latest
102
+
ports:
103
+
- "9092:9092"
104
+
depends_on:
105
+
- zookeeper
106
+
environment:
107
+
KAFKA_ADVERTISED_HOST_NAME: kafka
108
+
KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
109
+
postgres:
110
+
restart: always
111
+
image: postgres:latest
112
+
ports:
113
+
- "5432:5432"
114
+
environment:
115
+
- POSTGRES_USER=user
116
+
- POSTGRES_PASSWORD=pass
117
+
```
118
+
119
+
Then, start the environment:
120
+
121
+
```shell
122
+
docker-compose up
123
+
```
124
+
125
+
To create the databases, just run the following command:
126
+
127
+
```shell
128
+
docker-compose exec postgres psql -U user -tc 'CREATE database foo_db'
129
+
docker-compose exec postgres psql -U user -tc 'CREATE database foobar_db'
130
+
```
131
+
</details>
132
+
83
133
Note that these parameters can be customized on the configuration files.
84
134
85
-
### Install the dependencies
135
+
### Install the dependencies
86
136
87
137
If you want to directly use `minos` without the command-line utility, the following command will install the needed packages:
88
138
@@ -96,7 +146,6 @@ pip install \
96
146
minos-broker-kafka
97
147
```
98
148
99
-
100
149
### Configure a Microservice
101
150
102
151
To keep things simpler, this quickstart will create a microservice assuming all the source code is stored on a single `foo/main.py` file. In addition to the source file, a `foo/config.yml` will contain all the configuration stuff.
@@ -1108,10 +1157,6 @@ The plugin packages provide connectors to external technologies like brokers, di
1108
1157
* [minos-broker-kafka](https://minos-framework.github.io/minos-python/packages/plugins/minos-broker-kafka): The `kafka` plugin package.
1109
1158
* [minos-discovery-minos](https://minos-framework.github.io/minos-python/packages/plugins/minos-discovery-minos): The `minos-discovery` plugin package.
1110
1159
1111
-
## Documentation
1112
-
1113
-
The official API Reference is publicly available at the [GitHub Pages](https://minos-framework.github.io/minos-python).
1114
-
1115
1160
## Source Code
1116
1161
1117
1162
The source code of this project is hosted at the [GitHub Repository](https://github.com/minos-framework/minos-python).
0 commit comments