Skip to content

Commit

Permalink
updates
Browse files Browse the repository at this point in the history
  • Loading branch information
raulb committed Oct 25, 2024
1 parent f4017d5 commit c9f25b5
Showing 1 changed file with 48 additions and 24 deletions.
72 changes: 48 additions & 24 deletions docs/design-documents/20241024-conduit-cli.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,9 +7,12 @@ The intention is to provide a good starting experience and evolve it over time w

### Goals

- We aim to provide our users with an interface that empowers them to use the **main** Conduit features effortlessly. While we have envisioned some complex features, they will be available in future releases.
- We will maintain the current installation methods by incorporating the CLI through the same established processes.
- The CLI needs to feel intuitive and align with our standards.
We aim to provide our users with an interface that empowers them to use the **main** Conduit features effortlessly.

Check failure on line 10 in docs/design-documents/20241024-conduit-cli.md

View workflow job for this annotation

GitHub Actions / markdownlint-cli2

Trailing spaces

docs/design-documents/20241024-conduit-cli.md:10:116 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1] https://github.com/DavidAnson/markdownlint/blob/v0.35.0/doc/md009.md
While we have envisioned some complex features, they will be available in future releases.

We will maintain the current installation methods by incorporating the CLI through the same established processes.

The CLI needs to feel intuitive and align with our standards.

## Background

Expand Down Expand Up @@ -56,10 +59,13 @@ The following list contains the suggested commands we propose to include in the

### `conduit init`

- This command will initialize a Conduit working environment creating the `conduit.yaml` configuration file, and the three necessary directories: processors, pipelines, and connectors.
- It does not require having a Conduit instance running.
- It won't require flags or arguments.
- An additional global flag named `--config.path` could specify the path where this configuration will be created.
This command will initialize a Conduit working environment creating the `conduit.yaml` configuration file, and the three necessary directories: processors, pipelines, and connectors.

Check failure on line 62 in docs/design-documents/20241024-conduit-cli.md

View workflow job for this annotation

GitHub Actions / markdownlint-cli2

Line length

docs/design-documents/20241024-conduit-cli.md:62:121 MD013/line-length Line length [Expected: 120; Actual: 182] https://github.com/DavidAnson/markdownlint/blob/v0.35.0/doc/md013.md

It does not require having a Conduit instance running.

It won't require flags or arguments.

An additional global flag named `--config.path` could specify the path where this configuration will be created.

#### `--help`

Expand All @@ -73,7 +79,9 @@ EXAMPLES

### `conduit config`

- This command will output the [Conduit configuration](https://github.com/ConduitIO/conduit/blob/05dbc275a724526f02779abb47b0ecc53f711485/pkg/conduit/config.go#L34) based on the existing configuration.
This command will output the [Conduit configuration](https://github.com/ConduitIO/conduit/blob/05dbc275a724526f02779abb47b0ecc53f711485/pkg/conduit/config.go#L34)

Check failure on line 82 in docs/design-documents/20241024-conduit-cli.md

View workflow job for this annotation

GitHub Actions / markdownlint-cli2

Trailing spaces

docs/design-documents/20241024-conduit-cli.md:82:163 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1] https://github.com/DavidAnson/markdownlint/blob/v0.35.0/doc/md009.md

Check failure on line 82 in docs/design-documents/20241024-conduit-cli.md

View workflow job for this annotation

GitHub Actions / markdownlint-cli2

Line length

docs/design-documents/20241024-conduit-cli.md:82:121 MD013/line-length Line length [Expected: 120; Actual: 163] https://github.com/DavidAnson/markdownlint/blob/v0.35.0/doc/md013.md
based on the existing configuration.

Check failure on line 83 in docs/design-documents/20241024-conduit-cli.md

View workflow job for this annotation

GitHub Actions / markdownlint-cli2

Trailing spaces

docs/design-documents/20241024-conduit-cli.md:83:37 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1] https://github.com/DavidAnson/markdownlint/blob/v0.35.0/doc/md009.md

This will take into account the default values and the user's configured settings that Conduit will use.

- It does not require having Conduit running.
Expand All @@ -90,9 +98,11 @@ API.HTTP: ...

### `conduit run [--connectors.path] [...]`

- This command will run Conduit with all the configured pipelines, connectors, and processors.
- It is equivalent to the current `conduit` command as of time of this writing.
- Conduit will run based on `--config.path` or current directory. Example:
This command will run Conduit with all the configured pipelines, connectors, and processors.

It is equivalent to the current `conduit` command as of time of this writing.

Conduit will run based on `--config.path` or current directory. Example:

```bash
$ pwd
Expand All @@ -105,7 +115,8 @@ pipelines/
processors/
```

- Other flags such as `connectors.path`, etc. will overwrite the existing configuration on `conduit.yaml`. This will need to be evaluated before specifying to Conduit to accomodate both scenarios (absolute and relative paths).
Other flags such as `connectors.path`, etc. will overwrite the existing configuration on `conduit.yaml`.

Check failure on line 118 in docs/design-documents/20241024-conduit-cli.md

View workflow job for this annotation

GitHub Actions / markdownlint-cli2

Trailing spaces

docs/design-documents/20241024-conduit-cli.md:118:105 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1] https://github.com/DavidAnson/markdownlint/blob/v0.35.0/doc/md009.md
This will need to be evaluated before specifying to Conduit to accomodate both scenarios (absolute and relative paths).

#### Flags

Expand All @@ -126,10 +137,16 @@ processors/

### `conduit pipelines init [NAME] [--pipelines.path] [--source] [--destination]`

- This command will initialize a pipeline based on the working environment. Optionally, a user could provide a different flag if they want to specify a different path.
- In the event of not being able to to read a `conduit.yaml` configuration file based on current directory or `--config.path`, we should prompt to set up a working Conduit environment via `conduit init`.
- It does not require having Conduit running.
- A source and a destination could be provided using the same connectors reference as described [here](https://conduit.io/docs/using/connectors/referencing).
This command will initialize a pipeline based on the working environment. Optionally, a user could provide a different flag

Check failure on line 140 in docs/design-documents/20241024-conduit-cli.md

View workflow job for this annotation

GitHub Actions / markdownlint-cli2

Trailing spaces

docs/design-documents/20241024-conduit-cli.md:140:124 MD009/no-trailing-spaces Trailing spaces [Expected: 0 or 2; Actual: 1] https://github.com/DavidAnson/markdownlint/blob/v0.35.0/doc/md009.md
if they want to specify a different path.

In the event of not being able to to read a `conduit.yaml` configuration file based on current directory or `--config.path`,
we should prompt to set up a working Conduit environment via `conduit init`.

It does not require having Conduit running.

A source and a destination could be provided using the same connectors reference as described
[here](https://conduit.io/docs/using/connectors/referencing).

#### Arguments

Expand Down Expand Up @@ -216,9 +233,11 @@ my-destination [email protected]. standalone my-other-pipeline

### `conduit connectors describe [--plugin] [--id]`

- This command will describe the connector configuration available.
- When using `--plugin` will describe the configuration for that connector plugin.
- When using `--id` will require having Conduit previously running since it'll describe the existing running connector.
1This command will describe the connector configuration available.

When using `--plugin` will describe the configuration for that connector plugin.

When using `--id` will require having Conduit previously running since it'll describe the existing running connector.

#### Flags

Expand Down Expand Up @@ -268,9 +287,11 @@ base64.decode builtin my-other-pipeline

### `conduit processor describe [NAME]`

- This command will describe the processor configuration available.
- It requires having Conduit previously running.
- It requires the processor name as argument.
This command will describe the processor configuration available.

It requires having Conduit previously running.

It requires the processor name as argument.

#### Arguments

Expand All @@ -297,8 +318,11 @@ type: string
### `conduit doctor`
- This will check whether there’s a more up to date version of Conduit and if some connectors / processors could also be updated.
- It requires having Conduit previously running.
This will check whether there’s a more up to date version of Conduit.
Also will check iff some connectors or processors could be updated.
It requires having Conduit previously running.
#### Flags
Expand Down

0 comments on commit c9f25b5

Please sign in to comment.