Skip to content

Commit 08739a0

Browse files
committed
added screenshots to kubernetes example, placed previous Chronos iteration teams in a separate 'contributors' document, and edited contributing README
1 parent c4f7ab9 commit 08739a0

File tree

5 files changed

+69
-53
lines changed

5 files changed

+69
-53
lines changed

CONTRIBUTING.md

Lines changed: 11 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -14,19 +14,21 @@ Chronos welcomes all pull requests.
1414
6. Create a pull request to `master`.
1515

1616
## Getting started
17-
- `npm run bot`: Run Node and Electron at the same time to start Chronos app
18-
- To make changes to codebase on the Main Process
17+
- `npm run dev:app` and `npm run dev:electron`: Run Node and Electron at the same time to start Chronos app
18+
- To make changes to codebase on the Main Process:
1919
- Files in the main process must be compiled prior to starting the app
20-
- In the terminal un Chronos directory, input `tsc` to comile typescript files
21-
- Once compiled, `npm run both`
22-
* Note** If typescript is not installed, `npm install -g typescript`
20+
- In the terminal in Chronos directory, input `tsc` to compile typescript files
21+
- Once compiled, `npm run dev:app` and `npm run dev:electron`
22+
* Note: If typescript is not installed, `npm install -g typescript`
2323

2424
## Issues
2525

26-
Please do not hesitate to file issues. Chronos is based off of community feedback and is always looking for ways to get better. The team behind Chronos is interested to hear about your experience and how we can improve it.
26+
Please do not hesitate to file issues that detail bugs or offer ways to enhace Chronos.
2727

28-
Please do not hesitate to submit issues that promote bugs or offer ways to enhance to Chronos. When submitting issues, ensure your description is clear and has instructions to be able to reproduce the issue.
28+
Chronos is based off of community feedback and is always looking for ways to get better. The team behind Chronos is interested to hear about your experience and how we can improve it.
2929

30-
## Get in touch
30+
When submitting issues, ensure your description is clear and has instructions to be able to reproduce the issue.
3131

32-
We use GitHub as a platform of communication between users and developers to promote transparency. We thrive off of the community support and feedback
32+
## Get In Touch
33+
34+
We use GitHub as a platform of communication between users and developers to promote transparency, community support and feedback.
130 KB
Loading
334 KB
Loading

contributors.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
## People
2+
[Josh James](https://github.com/joshjames289)
3+
[Elise Nie](https://github.com/elisanie)
4+
[Gahl Peled](https://github.com/GP3-RS)
5+
[Troy Prejusa](https://github.com/tprejusa)
6+
[Vince Ho](https://github.com/hodesza)
7+
[Matt Jiang](https://github.com/mattljiang)
8+
[Derek Lam](https://github.com/DerekQuoc)
9+
[Kit Loong Yee](https://github.com/kitloong1)
10+
[Tim Atapagra](https://github.com/timpagra),
11+
[Mohtasim Chowdhury](https://github.com/mohtasim317),
12+
[Ousman Diallo](https://github.com/Dialloousman),
13+
[Michelle Herrera](https://github.com/mesherrera),
14+
[Duane McFarlane](https://github.com/Duane11003),
15+
[Ben Mizel](https://github.com/ben-mizel),
16+
[Jenae Pennie](https://github.com/jenaepen),
17+
[Chris Romano](https://github.com/robicano22),
18+
[Natalie Umanzor](https://github.com/nmczormick),
19+
[John Donato](https://github.com/jdonuto),
20+
[Iris Wong](https://github.com/wiris316),
21+
[Jon Cruz](https://github.com/Jrcrz),
22+
[Elena Atencio](https://github.com/elenaatencio),
23+
[Lucie Seidler](https://github.com/LucieSeidler),
24+
[Jeffrey Na](https://github.com/jeffreyNa),
25+
[Brisa Zhu](https://github.com/beezoo10),
26+
[Kelsi Webb](https://github.com/kelsicw),
27+
[Justin Poirier](https://github.com/jcpoirier20)

examples/kubernetes/README.md

Lines changed: 31 additions & 44 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
# Chronos Kubernetes Example
22

3-
This example demonstrates how `Chronos` can be used to track health metrics of a Kubernetes cluster when deployed with a Prometheus monitoring server. The folders in this example include the following:
3+
This example demonstrates how **Chronos** can be used to track health metrics of a Kubernetes cluster when deployed with a Prometheus monitoring server. The folders in this example include the following:
44
- *client*: A React application (in the *client* folder) that requests a random number from a Node/Express API
55
- *server*: The Node/Express API that responds with the random number. This is where the **Chronos** package is actually imported and executed.
66
- *launch*: YAML files describing the *deployment* and *service* configurations for the client, server, and Prometheus server
@@ -9,41 +9,48 @@ This example demonstrates how `Chronos` can be used to track health metrics of a
99
## Install Docker Desktop
1010
This example has been developed and tested using the Kubernetes Engine packaged in the Docker Desktop application.
1111

12-
Follow instructions online to download/install Docker Desktop and to **enable the Kubernetes Engine**. The examples will not work without the Kubernetes Engine enabled.
12+
1. Follow instructions online to download/install Docker Desktop and to **enable the Kubernetes Engine**.
13+
14+
<p align="center">
15+
<img alt="enabled kubernetes engine in docker" src="../../assets/examples_enable_kubernetes_engine.png">
16+
</p>
17+
18+
1319
## Build the Client
14-
`cd` into the *client* folder and run the following command:
20+
1. `cd` into the *client* folder and run the following command:
1521
```
1622
docker build -t frontend:1.0 .
1723
```
18-
**Mac Users:** Alternatively running the above command, `cd` into the scripts folder and run the `buildClient.sh` script
24+
**Mac Users:** Alternative to running the above command, `cd` into the scripts folder and run the `buildClient.sh` script
1925

20-
<br>
2126

2227
## Build the Server
23-
First, add a `.env` file to the *server* folder that contains the following key/value pairs:
28+
1. Add a `.env` file to the *server* folder that contains the following key/value pairs:
2429

2530
```
2631
CHRONOS_DB = MongoDB or PostgreSQL
27-
CHRONOS_URI = The URI to the desired MongoDB or PostgreSQL database to save health metrics via **Chronos**
32+
CHRONOS_URI = The URI to the desired MongoDB or PostgreSQL database to save health metrics via Chronos
2833
```
34+
2. Then look at the `package.json` file in the server folder and **note how `@chronosmicro/tracker` is included as a dependency:**
2935

30-
Then look at the `package.json` file in the server folder and note how `@chronosmicro/tracker` is included as a dependency:
36+
- If the @chronosmicro/tracker dependency is listed as a **remote npm package** (i.e. `"@chronosmicro/tracker": "^8.0.3"`), no further work is needed.
3137

32-
- If the @chronosmicro/tracker dependency is listed as a remote npm package (i.e. `"@chronosmicro/tracker": "^8.0.1"`), no further work is needed.
38+
- If the @chronosmicro/tracker dependency is listed as a **local npm package** (i.e. `"@chronosmicro/tracker": "file:./chronos_npm_package"`), the Docker build will require that the Chronos code is in this folder. Either:
39+
- Copy the _chronos_npm_package_ folder in manually, and **go to step 3**
40+
- **OR**
41+
- If you are a Mac user, you can use the `buildServer.sh` script to automate this process and **skip step 3**
42+
- Do this by `cd`ing into the *scripts* folder and run the buildServer script with `./buildServer.sh` - the process of copying in the *chronos_npm_package* folder, performing the Docker build, and then removing the copied in folder is automated.
3343

34-
- If the @chronosmicro/tracker dependency is listed as a local npm package (i.e. `"@chronosmicro/tracker": "file:./chronos_npm_package"`), the Docker build will require that the the Chronos code is in this folder. Either copy the _chronos_npm_package_ folder in manually, or see note below to automate this process **if you are a Mac user**.
44+
3. (skip if you used the `buildServer.sh` script)
3545

3646
`cd` into the *server* folder and run the following command:
3747
```
3848
docker build -t backend:1.0 .
3949
```
4050

41-
**Mac Users:** If @chronosmicro/tracker is included as a local npm package, the process of copying in the *chronos_npm_package* folder, performing the Docker build, and then removing the copied in folder is automated by `cd` into the *scripts* folder and running the `buildServer.sh` script.
42-
43-
<br>
4451

4552
## Deploy the Cluster
46-
`cd` into the launch folder and run the following commands to start the services and deployments described in the YAML files:
53+
1. `cd` into the launch folder and run the following commands to start the services and deployments described in the YAML files:
4754
```
4855
kubectl apply -f clusterRole.yml
4956
kubectl apply -f promConfig.yml
@@ -52,18 +59,21 @@ kubectl apply -f backend.yml
5259
kubectl apply -f frontend.yml
5360
```
5461

55-
**Mac Users:** Alternatively to running the above commands, `cd` into the *scripts* folder and run the `startKuber.sh` script
56-
62+
**Mac Users:** Alternative to running the above commands, `cd` into the *scripts* folder and run the `startKuber.sh` script.
5763

5864
#
59-
console.logs in your terminal should now indicate "kubernetesmetrics saved in *postgresql* or *mongodb* database"
6065

61-
Your microservice health metrics can now be viewed at the given `CHRONOS_URI` or, preferrably, in the Electron.js desktop application.
62-
#
66+
2. Check in Docker desktop if your containers have been created. You should see something similar to the following:
67+
68+
<p align="center">
69+
<img alt="Kubernetes containers created" src="../../assets/examples_kubernetes_created.png">
70+
</p>
6371

6472

73+
Your microservice health metrics can now be viewed at the given `CHRONOS_URI` or, preferrably, in the Electron.js desktop application.
74+
#
6575
## Teardown the Cluster
66-
`cd` into the launch folder and run the following commands to stop the running services and deployments:
76+
1. `cd` into the launch folder and run the following commands to stop the running services and deployments:
6777
```
6878
kubectl delete -f clusterRole.yml
6979
kubectl delete -f promConfig.yml
@@ -72,33 +82,10 @@ kubectl delete -f backend.yml
7282
kubectl delete -f frontend.yml
7383
```
7484

75-
**Mac Users:** Alternatively to running the above commands, `cd` into the *scripts* fodler and run the `stopKuber.sh` script
85+
**Mac Users:** Alternative to running the above commands, `cd` into the *scripts* folder and run the `stopKuber.sh` script
7686

7787
## Contributing
7888
Chronos hopes to inspire an active community of both users and developers. For questions, comments, or contributions, please submit a pull request.
7989

80-
## People
81-
[Josh James](https://github.com/joshjames289)
82-
[Elise Nie](https://github.com/elisanie)
83-
[Gahl Peled](https://github.com/GP3-RS)
84-
[Troy Prejusa](https://github.com/tprejusa)
85-
[Vince Ho](https://github.com/hodesza)
86-
[Matt Jiang](https://github.com/mattljiang)
87-
[Derek Lam](https://github.com/DerekQuoc)
88-
[Kit Loong Yee](https://github.com/kitloong1)
89-
[Tim Atapagra](https://github.com/timpagra),
90-
[Mohtasim Chowdhury](https://github.com/mohtasim317),
91-
[Ousman Diallo](https://github.com/Dialloousman),
92-
[Michelle Herrera](https://github.com/mesherrera),
93-
[Duane McFarlane](https://github.com/Duane11003),
94-
[Ben Mizel](https://github.com/ben-mizel),
95-
[Jenae Pennie](https://github.com/jenaepen),
96-
[Chris Romano](https://github.com/robicano22),
97-
[Natalie Umanzor](https://github.com/nmczormick)
98-
[John Donato](https://github.com/jdonuto)
99-
[Iris Wong](https://github.com/wiris316)
100-
[Jon Cruz](https://github.com/Jrcrz)
101-
[Elena Atencio](https://github.com/elenaatencio)
102-
10390
## License
10491
[MIT](LICENSE)

0 commit comments

Comments
 (0)