Skip to content

Commit 2a80284

Browse files
authored
docs: improve grammar and link to image (#31)
* docs: improve grammar and link to image * docs: improve grammar on readme * docs: update .gitignore
1 parent 340d7aa commit 2a80284

10 files changed

+112
-109
lines changed

.gitignore

+2-1
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
.DS_Store
12
.idea/
23
.history/
34
.vscode
@@ -112,4 +113,4 @@ venv.bak/
112113
*.iml
113114

114115
_lint.yaml
115-
values.dev.yaml
116+
values.dev.yaml

README.md

+5-5
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
# Piper
22
![alt text](https://www.rookout.com/wp-content/uploads/2022/10/ArgoPipeline_1.0_Hero.png.webp?raw=true)
33

4-
Welcome to Piper! Piper is open source project that aimed at providing multibranch pipeline functionality to Argo Workflows, allows users to create distinct Workflows based on Git branches.
4+
Welcome to Piper! Piper is an open-source project aimed at providing multibranch pipeline functionality to Argo Workflows, allowing users to create distinct Workflows based on Git branches.
55

66
## Table of Contents
77

@@ -14,8 +14,8 @@ Welcome to Piper! Piper is open source project that aimed at providing multibran
1414

1515
## Getting Started
1616

17-
Piper configures a webhook in git provider and listens to the webhooks sends. It will create a Workflow CRD out of branches that contains `.workflows` folder.
18-
This folder should contain declarations of the templates and main DAG that will be running.
17+
Piper configures a webhook in the git provider and listens to the webhooks sent. It will create a Workflow CRD out of branches that contain a `.workflows` folder.
18+
This folder should contain declarations of the templates and the main DAG that will be running.
1919
Finally, it will submit the Workflow as a K8s resource in the cluster.
2020
To access more detailed explanations, please navigate to the [Documentation site](https://piper.quickube.com).
2121

@@ -34,8 +34,8 @@ If you encounter any issues or bugs while using Piper, please help us improve by
3434
## How to Contribute
3535

3636
If you're interested in contributing to this project, please feel free to submit a pull request. We welcome all contributions and feedback.
37-
Please check out our [Contribution guidelines for this project](docs/CONTRIBUTING.md)
37+
Please check out our [contribution guidelines for this project](docs/CONTRIBUTING.md).
3838

3939
## License
4040

41-
This project is licensed under the Apache License. Please see the [LICENSE](LICENSE) file for details.
41+
This project is licensed under the Apache License. Please see the [LICENSE](LICENSE) file for details.

docs/CONTRIBUTING.md

+18-18
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ git checkout -b my-feature
1616
```bash
1717
git commit -s -m "fix: Add new feature"
1818
```
19-
* please make sure you commit as described in [conventional commit](https://www.conventionalcommits.org/en/v1.0.0/)
19+
* Please make sure you commit as described in [conventional commit](https://www.conventionalcommits.org/en/v1.0.0/)
2020
6. Push your changes to your forked repository:
2121
```bash
2222
git push origin my-feature
@@ -28,16 +28,16 @@ git push origin my-feature
2828
We welcome and appreciate contributions from the community. If you have developed a new feature, improvement, or bug fix for Piper, follow these steps to submit a pull request:
2929

3030
1. Make sure you have forked the Piper repository and created a new branch for your changes. Checkout [How To Contribute](#How-to-contribute).
31-
2. commit your changes and push them to your forked repository.
31+
2. Commit your changes and push them to your forked repository.
3232
3. Go to the Piper repository on GitHub.
3333
4. Click on the "New Pull Request" button.
34-
5. Select your branch and provide a [descriptive title](#pull-request-nameing) and detailed description of your changes.
34+
5. Select your branch and provide a [descriptive title](#pull-request-naming) and a detailed description of your changes.
3535
6. If your pull request relates to an open issue, reference the issue in the description using the GitHub issue syntax (e.g., Fixes #123).
3636
7. Submit the pull request, and our team will review your changes. We appreciate your patience during the review process and may provide feedback or request further modifications.
3737

3838
### Pull Request Naming
3939

40-
The name should follow conventional commit naming.
40+
The name should follow Conventional Commits naming.
4141

4242
## Coding Guidelines
4343

@@ -49,8 +49,8 @@ To maintain a consistent codebase and ensure readability, we follow a set of cod
4949
* Use meaningful variable and function names.
5050
* Make sure your code is properly formatted and free of syntax errors.
5151
* Run tests locally.
52-
* Check that the feature documented.
53-
* Add new packages only if necessary and already existing one, can't be used.
52+
* Check that the feature is documented.
53+
* Add new packages only if necessary and if an already existing one can't be used.
5454
* Add tests for new features or modification.
5555

5656
## Helm Chart Development
@@ -76,28 +76,28 @@ brew install helm
7676
```bash
7777
brew install kubectl
7878
```
79-
3. isntall docker
79+
3. install docker
8080

8181
4. install ngrok
8282
```bash
8383
brew install ngrok
8484
```
85-
6. install 5
85+
5. install kind
8686
```bash
8787
brew install kind
8888
```
8989

9090
Deployment:
91-
1. make sure docker are running.
92-
2. create tunnel with ngrok using `make ngrok`, save the `Forwarding` address.
93-
3. create `values.dev.yaml` file that contains subset of chart's `value.yaml` file. check [example of values file](https://github.com/quickube/piper/tree/main/examples/template.values.dev.yaml) rename it to `values.dev.yaml` and put in root directory.
94-
4. use `make deploy`. it will do the following:
95-
* deploy a local registry as container
96-
* deploy a kind cluster as container with configuration
97-
* deploy nginx reverse proxy in the kind cluster
98-
* deploy Piper with the local helm chart
99-
5. validate using `curl localhost/piper/healthz`.
91+
1. Make sure Docker is running.
92+
2. Create a tunnel with ngrok using `make ngrok`, and save the `Forwarding` address.
93+
3. Create a `values.dev.yaml` file that contains a subset of the chart's `values.yaml` file. Check the [example of values file](https://github.com/quickube/piper/tree/main/examples/template.values.dev.yaml), rename it to `values.dev.yaml`, and put it in the root directory.
94+
4. Use `make deploy`. It will do the following:
95+
* Deploy a local registry as a container
96+
* Deploy a kind cluster as a container with configuration
97+
* Deploy nginx reverse proxy in the kind cluster
98+
* Deploy Piper with the local helm chart
99+
5. Validate using `curl localhost/piper/healthz`.
100100

101101
## Debugging
102102

103-
For debugging the best practice is to use Rookout. To enable this function pass a Rookout token in the chart `rookout.token` or as existing secret `rookout.existingSecret`
103+
For debugging, the best practice is to use Rookout. To enable this function, pass a Rookout token in the chart `rookout.token` or as an existing secret `rookout.existingSecret`.
+19-17
Original file line numberDiff line numberDiff line change
@@ -1,64 +1,66 @@
11
## Environment Variables
22

33
Piper uses the following environment variables to configure its functionality.
4-
The helm chart populates them using [values.yaml](https://github.com/quickube/piper/tree/main/helm-chart/values.yaml) file
4+
The helm chart populates them using the [values.yaml](https://github.com/quickube/piper/tree/main/helm-chart/values.yaml) file.
55

66
### Git
77

88
- GIT_PROVIDER
9-
The git provider that Piper will use, possible variables: GitHub | Gitlab | Bitbucket
9+
The git provider that Piper will use, possible variables: GitHub | GitLab | Bitbucket
1010

1111
* GIT_TOKEN
1212
The git token that will be used to connect to the git provider.
1313

1414
- GIT_URL
15-
the git url that will be used, only relevant when running gitlab self hosted
15+
The git URL that will be used, only relevant when running GitLab self-hosted.
1616

1717
- GIT_ORG_NAME
1818
The organization name.
1919

2020
* GIT_ORG_LEVEL_WEBHOOK
21-
Boolean variable, whether to config webhook at the organization level. Defaults to `false`.
21+
Boolean variable, whether to configure the webhook at the organization level. Defaults to `false`.
2222

2323
* GIT_WEBHOOK_REPO_LIST
24-
List of repositories to configure webhooks to.
24+
List of repositories to configure webhooks for.
2525

2626
* GIT_WEBHOOK_URL
27-
URL of Piper ingress, to configure webhooks.
27+
URL of Piper ingress to configure webhooks.
2828

2929
* GIT_WEBHOOK_AUTO_CLEANUP
30-
Boolean variable that, if true, will cause Piper to automatically cleanup all webhooks that it creates when they are no longer necessary.
31-
Notice that there is a race condition between a pod that is being terminated and the new one being scheduled.
30+
Boolean variable that, if true, will cause Piper to automatically clean up all webhooks it creates when they are no longer necessary.
31+
Note that there is a race condition between a pod being terminated and a new one being scheduled.
3232

3333
* GIT_ENFORCE_ORG_BELONGING
34-
Boolean variable that, if true, will cause Piper to enforce organizational belonging of git event creator. Defaults to `false`.
34+
Boolean variable that, if true, will cause Piper to enforce the organizational belonging of the git event creator. Defaults to `false`.
3535

3636
* GIT_FULL_HEALTH_CHECK
37-
Boolean variable that, if true, enables full health checks on webhooks. A full health check contains expecting and validating ping event from a webhook.
38-
Doesn't work for Bitbucket, because the API call doesn't exist on that platform.
37+
Boolean variable that, if true, enables full health checks on webhooks. A full health check involves expecting and validating a ping event from a webhook.
38+
This doesn't work for Bitbucket because the API call doesn't exist on that platform.
3939

4040
### Argo Workflows Server
4141

4242
* ARGO_WORKFLOWS_TOKEN
4343
This token is used to authenticate with the Argo Workflows server.
4444

4545
* ARGO_WORKFLOWS_ADDRESS
46-
The address of Argo Workflows Server.
46+
The address of the Argo Workflows server.
4747

4848
* ARGO_WORKFLOWS_CREATE_CRD
49-
Boolean variable that deterines whether to directly send Workflows instructions or create a CRD in the Cluster.
49+
Boolean variable that determines whether to directly send Workflows instructions or create a CRD in the Cluster.
5050

5151
* ARGO_WORKFLOWS_NAMESPACE
5252
The namespace of Workflows creation for Argo Workflows.
5353

5454
* KUBE_CONFIG
55-
Used to configure Argo Workflows client with local kube configurations.
55+
Used to configure the Argo Workflows client with local kube configurations.
5656

5757
### Rookout
5858

5959
* ROOKOUT_TOKEN
60-
The token used to configure Rookout agent. If not provided, will not start the agent.
60+
The token used to configure the Rookout agent. If not provided, the agent will not start.
61+
6162
* ROOKOUT_LABELS
62-
The labels to label instances at Rookout, defaults to "service:piper"
63+
The labels to label instances in Rookout, defaults to "service:piper".
64+
6365
* ROOKOUT_REMOTE_ORIGIN
64-
The repo URL for source code fetching, default:"https://github.com/quickube/piper.git".
66+
The repo URL for source code fetching, defaults to "https://github.com/quickube/piper.git".

docs/configuration/health_check.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,8 @@
11
## Health Check
22

3-
currently not supported for gitlab / bitbucket
3+
Currently not supported for GitLab / Bitbucket
44

5-
The following examples shows a health check being executed every 1 minute as configured in the helm chart under `livenessProbe`, and triggered by `/healthz` endpoint:
5+
The following example shows a health check being executed every 1 minute as configured in the helm chart under `livenessProbe`, and triggered by the `/healthz` endpoint:
66

77
```yaml
88
livenessProbe:
@@ -19,15 +19,15 @@ livenessProbe:
1919
2020
The mechanism for checking the health of Piper is:
2121
22-
1. Piper set health status of all webhooks to not-healthy.
22+
1. Piper sets the health status of all webhooks to not healthy
2323
24-
2. Piper requests ping from all the webhooks configured.
24+
2. Piper requests a ping from all the configured webhooks.
2525
26-
3. Git Provider send ping to `/webhook` endpoint, this will set the health status to `healthy` with timeout of 5 seconds.
26+
3. The Git provider sends a ping to the `/webhook` endpoint, which will set the health status to `healthy` with a timeout of 5 seconds.
2727

28-
4. Piper check the status of all webhooks configured.
28+
4. Piper checks the status of all configured webhooks.
2929

3030
Therefore, the criteria for health checking are:
3131

3232
1. The registered webhook exists.
33-
2. The webhook send a ping in 5 seconds.
33+
2. The webhook sends a ping within 5 seconds.

docs/getting_started/installation.md

+11-11
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,7 @@
11
## Installation
22

33
You must deploy Piper to a cluster with a pre-existing Argo Workflows deployment.
4-
Piper will create a CRD that Argo Workflows will pick, so install or configure Piper to create those CRDs in the right namespace.
4+
Piper will create a CRD that Argo Workflows will pick up, so install or configure Piper to create those CRDs in the right namespace.
55

66
Please check out [values.yaml](https://github.com/quickube/piper/tree/main/helm-chart/values.yaml) file of the helm chart configurations.
77

@@ -36,11 +36,11 @@ Piper will use git to fetch the `.workflows` folder and receive events using web
3636

3737
To pick which git provider you are using provide `gitProvider.name` configuration in helm chart (Currently we only support GitHub and Bitbucket).
3838

39-
Also configure you organization (Github), workspace (Bitbucket) or group (Gitlab) name using `gitProvider.organization.name` in helm chart.
39+
Also configure your organization (GitHub), workspace (Bitbucket) or group (GitLab) name using `gitProvider.organization.name` in helm chart.
4040

4141
#### Git Token Permissions
4242

43-
The token should have access for creating webhooks and read repositories content.</br>
43+
The token should have access to create webhooks and read repository content.</br>
4444
<b>For GitHub</b>, configure `admin:org` and `write:org` permissions in Classic Token. </br>
4545
<b>For Bitbucket</b>, configure `Repositories:read`, `Webhooks:read and write` and `Pull requests:read` permissions (for multiple repos use workspace token). </br>
4646
<b>For Gitlab</b>, configure `read_api`, `write_repository` and `api` (for multiple repos use group token with owner role). </br>
@@ -50,38 +50,38 @@ The token should have access for creating webhooks and read repositories content
5050
The git token should be passed as secret in the helm chart at `gitProvider.token`.
5151
The token can be passed as parameter via helm install command using `--set piper.gitProvider.token=YOUR_GIT_TOKEN`
5252

53-
Alternatively, you can consume an already existing secret by configuring `piper.gipProvider.existingSecret`.
54-
The key should have the name `token`. You can be create a Secret using this command:
53+
Alternatively, you can use an already existing secret by configuring `piper.gipProvider.existingSecret`.
54+
The key should be named token `token`. You can create a Secret using this command:
5555

5656
```bash
5757
kubectl create secret generic piper-git-token --from-literal=token=YOUR_GIT_OKEN
5858
```
5959

6060
#### Webhook creation
6161

62-
Piper will create a webhook configuration for you, for the whole organization or for each repo you configure.
62+
Piper will create a webhook configuration for you, either for the whole organization or for each repo you configure.
6363

6464
Configure `piper.webhook.url` with the address of Piper that you exposed using an Ingress or Service with `/webhook` postfix.
6565

6666
For organization level configuration: `gitProvider.webhook.orgLevel` to `true`.
6767

6868
For granular repo webhook provide list of repos at: `gitProvider.webhook.repoList`.
6969

70-
Piper implements graceful shutdown, it will delete all the webhooks when terminated.
70+
Piper implements a graceful shutdown; it will delete all the webhooks when terminated.
7171

7272
#### Status check
7373

74-
Piper will handle status checks for you.
75-
It will notify the GitProvider for the status of Workflow for specific commit that triggered Piper.
74+
Piper will handle status checks for you.
75+
It will notify the GitProvider of the status of the Workflow for the specific commit that triggered Piper.
7676
For linking provide valid URL of your Argo Workflows server address at: `argoWorkflows.server.address`
7777

7878
---
7979

8080
### Argo Workflow Server (On development)
8181

82-
Piper will use REST API to communicate with Argo Workflows server for linting or for creation of workflows (ARGO_WORKFLOWS_CREATE_CRD). Please follow this [configuration](https://argoproj.github.io/argo-workflows/rest-api/).
82+
Piper will use the REST API to communicate with the Argo Workflows server for linting or creating workflows.
8383

84-
To lint the workflow before submitting it, please configure the internal address of Argo Workflows server (for example, `argo-server.workflows.svc.cluster.local`) in the field: `argoWorkflows.server.address`. Argo will need a [token](https://argoproj.github.io/argo-workflows/access-token/) to authenticate. please provide the secret in `argoWorkflows.server.token`, Better to pass as a references to a secret in the field `argoWorkflows.server.token`.
84+
To lint the workflow before submitting it, please configure the internal address of Argo Workflows server (for example, `argo-server.workflows.svc.cluster.local`) in the field: `argoWorkflows.server.address`. Argo will need a [token](https://argoproj.github.io/argo-workflows/access-token/) to authenticate. Please provide the secret in `argoWorkflows.server.token`. It is better to pass it as a reference to a secret in the field `argoWorkflows.server.token`.
8585

8686
#### Skip CRD Creation (On development)
8787

docs/index.md

+7-7
Original file line numberDiff line numberDiff line change
@@ -1,19 +1,19 @@
11
# Introduction
22

3-
<p align="center">
4-
<img src="https://www.quickube.com/wp-content/uploads/2022/10/ArgoPipeline_1.0_Hero.png.webp?raw=true" />
3+
<p>
4+
<img src="https://www.rookout.com/wp-content/uploads/2022/10/ArgoPipeline_1.0_Hero.png.webp?raw=true" alt="ArgoPipeline"/>
55
</p>
66

77
Welcome to Piper!
88

9-
Piper is an open source project that aimed at providing multibranch pipeline functionality to Argo Workflows. This allows users to create distinct Workflows based on Git branches. We supports GitHub and Bitbucket.
9+
Piper is an open-source project aimed at providing multibranch pipeline functionality to Argo Workflows. This allows users to create distinct Workflows based on Git branches. We support GitHub and Bitbucket.
1010

1111
## General Explanation
1212

13-
<p align="center">
14-
<img src="https://raw.githubusercontent.com/quickube/piper/main/docs/img/flow.svg" />
13+
<p>
14+
<img src="https://raw.githubusercontent.com/quickube/piper/main/docs/img/flow.svg" alt="flow"/>
1515
</p>
1616

17-
Piper handles the hard work of configuring multibranch pipelines for us! At initialization, it will load all configuration and create a webhook in repository or organization scope. Then, for each branch that has a `.workflows` folder, Piper will create a Workflow CRD out of the files in this folder. Finally, when Piper detects changes in the repository via the webhook, it triggers the workflows that match the branch and event.
17+
Piper handles the hard work of configuring multibranch pipelines for us! At initialization, it will load all configuration and create a webhook in the repository or organization scope. Then, for each branch that has a `.workflows` folder, Piper will create a Workflow CRD out of the files in this folder. Finally, when Piper detects changes in the repository via the webhook, it triggers the workflows that match the branch and event.
1818

19-
![type:video](./img/piper-demo-1080.mp4)
19+
![type:video](./img/piper-demo-1080.mp4)

0 commit comments

Comments
 (0)