Skip to content

Commit

Permalink
fix(doc): readme and contributing improvements (#888)
Browse files Browse the repository at this point in the history
  • Loading branch information
loicmathieu authored Jan 12, 2023
1 parent 30886ad commit f086776
Show file tree
Hide file tree
Showing 2 changed files with 24 additions and 13 deletions.
26 changes: 19 additions & 7 deletions .github/CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -30,14 +30,15 @@ Watch out for duplicates! If you are creating a new issue, please check existing
### Your First Code Contribution

#### Requirements
The following dependencies are required to build Kestra locally.
- Java 11+
- Node 14+
The following dependencies are required to build Kestra locally:
- Java 17+, Kestra runs on Java 11 but we hit a Java compiler bug fixed in Java 17
- Node 14+ and npm
- Python 3, pip and python venv
- Docker & Docker Compose
- an IDE (Intellij IDEA, Eclipse or VS Code)

To start contributing:
- Start by [forking](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo) the repository
- [Fork](https://docs.github.com/en/github/getting-started-with-github/fork-a-repo) the repository
- Clone the fork on your workstation:

```shell
Expand All @@ -46,7 +47,10 @@ cd kestra
```

#### Develop backend
Open the cloned repository in your favorite IDE. In most of decent IDE, gradle build will be detected and all dependencies will be downloaded.
The backend is made with [Micronaut](https://micronaut.io).

Open the cloned repository in your favorite IDE. In most of decent IDEs, Gradle build will be detected and all dependencies will be downloaded.
You can also build it from a terminal using `./gradlew build`, the Gradle wrapper will download the right Gradle version to use.

- You may need to enable java annotation processors since we are using it a lot.
- The main class is `io.kestra.cli.App` from module `kestra.cli.main`
Expand All @@ -57,9 +61,16 @@ Open the cloned repository in your favorite IDE. In most of decent IDE, gradle b
- You can also use the gradle task `./gradlew runStandalone` that will run a standalone server with `MICRONAUT_ENVIRONMENTS=override` and plugins path `local/plugins`
- The server start by default on port 8080 and is reachable on `http://localhost:8080`

If you want to launch all tests, you need Python and some packages installed on your machine, on Ubuntu you can install them with:

```shell
sudo apt install python3 pip python3-venv
python3 -m pip install virtualenv
```


#### Develop frontend
The frontend is located on `/ui` folder.
The frontend is made with [Vue.js](https://vuejs.org/) and located on the `/ui` folder.

- `npm install`
- create a files `ui/.env.development.local` with content `VUE_APP_API_URL=http://localhost:8080` (or your actual server url)
Expand All @@ -81,4 +92,5 @@ backend (without running the `npm serve`) above.
A complete documentation for developing plugin can be found [here](https://kestra.io/docs/plugin-developer-guide/).
### Improving The Documentation
The main documentation is located in a separate [repository](https://github.com/kestra-io/kestra.io). For task documentation, there are located directly on Java source using [swagger annotation](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Annotations) (Example: [for Bash tasks](https://github.com/kestra-io/kestra/blob/develop/core/src/main/java/io/kestra/core/tasks/scripts/AbstractBash.java))
The main documentation is located in a separate [repository](https://github.com/kestra-io/kestra.io).
For tasks documentation, they are located directly on Java source using [Swagger annotations](https://github.com/swagger-api/swagger-core/wiki/Swagger-2.X---Annotations) (Example: [for Bash tasks](https://github.com/kestra-io/kestra/blob/develop/core/src/main/java/io/kestra/core/tasks/scripts/AbstractBash.java))
11 changes: 5 additions & 6 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -139,7 +139,7 @@ tasks:
## Getting Started
To get a local copy up and running, please follow these simple steps.
To get a local copy up and running, please follow these steps.
### Prerequisites
Expand All @@ -149,18 +149,17 @@ Make sure you have already installed:
### Launch Kestra
- Download the compose file [here](https://github.com/kestra-io/kestra/blob/develop/docker-compose.yml) and save it with the name `docker-compose.yml`, for linux and macos, you can run `wget https://raw.githubusercontent.com/kestra-io/kestra/develop/docker-compose.yml`
- Run `docker-compose pull`
- Run `docker-compose up -d`
- Open `http://localhost:8080` on your browser
- Follow [this tutorial](https://kestra.io/docs/getting-started/) to create your first flow.
- Read the [documentation](https://kestra.io/docs/) to understand how to
- [Develop your flows](https://kestra.io/docs/developer-guide/)
- [Deploy Kestra](https://kestra.io/docs/administrator-guide/)
- Use our [terraform provider](https://kestra.io/docs/terraform/)
- Use our [Terraform provider](https://kestra.io/docs/terraform/)
- Develop your [own plugins](https://kestra.io/docs/plugin-developer-guide/)

## Plugins
Kestra is built on [plugin systems](https://kestra.io/plugins/). You can find your plugin to interact with your provider; alternatively, you can follow [simple steps](https://kestra.io/docs/plugin-developer-guide/) to develop your own plugin. Here are the official plugins that are available:
Kestra is built on a [plugin system](https://kestra.io/plugins/). You can find your plugin to interact with your provider; alternatively, you can follow [these steps](https://kestra.io/docs/plugin-developer-guide/) to develop your own plugin. Here are the official plugins that are available:

<table>
<tr>
Expand Down Expand Up @@ -266,11 +265,11 @@ This list is growing quickly as we are actively building more plugins, and we we

## Community Support

Join our community if you need help, want to chat or have any other questions for us:
Join our community if you need help, want to chat, or have any other questions for us:

- [GitHub](https://github.com/kestra-io/kestra/discussions) - Discussion forums and updates from the Kestra team
- [Twitter](https://twitter.com/kestra_io) - For all the latest Kestra news
- [Slack](https://api.kestra.io/v1/communities/slack/redirect) - Join the conversation! Get all the latest updates and chat to the devs
- [Slack](https://api.kestra.io/v1/communities/slack/redirect) - Join the conversation! Get all the latest updates and chat with the devs


## Roadmap
Expand Down

0 comments on commit f086776

Please sign in to comment.