@@ -4,45 +4,83 @@ Yorkie cluster on kubernetes
4
4
5
5
## Table of Contents
6
6
7
- - Getting Started
8
- - Prerequisites
9
- - Instructions
10
- - Development
11
- - Project Requirements
12
- - Project Structure
13
- - About Yorkie
14
- - Roadmap
15
- - Uploads
7
+ - [ Getting Started] ( #getting-started )
8
+ - [ Prerequisites] ( #prerequisites )
9
+ - [ Instructions] ( #instructions )
10
+ - [ Development] ( #development )
11
+ - [ Project Structure] ( #project-structure )
12
+ - [ About Yorkie] ( #about-yorkie )
13
+ - [ Roadmap] ( #roadmap )
16
14
17
15
## Getting Started
18
16
19
- (WIP)
17
+ If you want to setup and test yorkie cluster on k8s,
18
+ just clone this repository and follow instructions bellow.
20
19
21
20
### Prerequisites
22
21
23
- - (WIP)
22
+ - ` minikube ` : local k8s for deploying yorkie cluster in local environment
23
+ - ` kubectl ` : k8s cli for deploying & testing yorkie cluster
24
24
25
25
### Instructions
26
26
27
27
``` bash
28
- (WIP)
28
+ # 1. clone repository
29
+ git clone https://github.com/Krapi0314/yorkie-kubernetes.git
30
+
31
+ # 2. change to project directory
32
+ cd yorkie-kubernetes
33
+
34
+ # 3. start minikube cluster
35
+ minikube start
36
+
37
+ # 4. enable minikube ingress addon
38
+ minikube addons enable ingress
39
+
40
+ # 5. start minikube tunneling for local connection
41
+ minikube tunnel
42
+
43
+ # 6. deploy all minikube manifests in minikube cluster
44
+ kubectl apply -f minikube --recursive
45
+
46
+ # 7. test yorkie api!
47
+ const client = new yorkie.Client(' http://localhost' );
29
48
```
30
49
31
- ## Development
50
+ For play with more fun stuff,
32
51
33
- ### Project Components
52
+ ``` bash
53
+ # 8. deploy monitoring tools if you want to see metrics
54
+ # (ignore json error, it's grafana json file, not k8s manifest file)
55
+ kubectl apply -f monitoring --recursive
34
56
35
- - (WIP)
57
+ # 9. enter grafana web url in your browser
58
+ curl http://localhost
36
59
37
- ### Project Structure
60
+ # 10. clone dashboard repository for admin dashboard!
61
+ # (change REACT_APP_ADMIN_ADDR to http://localhost)
62
+ git clone https://github.com/yorkie-team/dashboard.git
38
63
39
- ** Kubernetes**
64
+ # 11. clone yorkie-tldraw repository for real-time collaboration whiteboard!
65
+ # (change REACT_APP_YORKIE_RPC_ADDR to http://localhost)
66
+ git clone https://github.com/Krapi0314/yorkie-tldraw.git
67
+ ```
40
68
41
- (WIP)
69
+ ## Development
70
+
71
+ ### Project Structure
72
+
73
+ - ` kompose ` : k8s manifests converted from yorkie docker-compose files
74
+ - ` minikube ` : k8s manifests for local k8s cluster (minikube)
75
+ - ** istio & envoy sidecar is not implemented to simplify**
76
+ ** yorkie cluster architecture in local environment, and also instruction guide**
77
+ - ` monitoring ` : k8s manifest for monitoring tool (prometheus & grafana)
42
78
43
79
### About Yorkie
44
80
45
- Yorkie is an open source document store for building collaborative editing applications. Yorkie uses JSON-like documents(CRDT) with optional types.
81
+ Yorkie is an open source document store for building
82
+ collaborative editing applications.
83
+ Yorkie uses JSON-like documents(CRDT) with optional types.
46
84
47
85
Yorkie references
48
86
@@ -51,13 +89,7 @@ Yorkie references
51
89
52
90
## Roadmap
53
91
54
- ### ** Phase 1**
55
-
56
- - [x] (WIP)
57
-
58
-
59
- ## Updates
60
-
61
- ### ** v0.0.1**
62
-
63
- - (WIP)
92
+ - [x] yorkie broadcasting cluster mode on minikube (local)
93
+ - [ ] yorkie broadcasting cluster mode on GKE (cloud)
94
+ - [ ] yorkie cluster mode (other architectural approach) on minikube (local)
95
+ - [ ] yorkie cluster mode (other architectural approach) on GKE (cloud)
0 commit comments