elastic / elastic/logstash

runner cleanup

Open
#3,148 5 comments 0 reactions 0 assignees View on GitHub
breaking change code cleanup enhancement
Dominant language
Java
Stars
14.9k
Forks
3.5k
Avg merge
19h 14m
Merged PRs (30d)
63

Description

not because of the runner's trots.

In #3111 I unilaterally removed `bin/logstash rspec` in favor of `bin/rspec`. It's still up for debate if we are going to keep `bin/logstash rspec` "because it was there" or not.

The Runner class need a cleanup:
- I do not think that the support for `irb` and `pry` should be there. these are development tools.
- `docgen` does not belong there, it's a packaging tool.
- `plugin` is redundant to `bin/plugin` just like `rspec` is redundant to `bin/rspec`.
- the `agent` concept is not needed anymore since that's only what logstash is now.

I suggest we move `irb`, `pry` and `docgen` as seperate commands in the `bin/` dir. with the startup script cleanups in #3111 is it now super simple to do, see the new [bin/plugin](https://github.com/colinsurprenant/logstash/blob/fix/logstash_core/bin/plugin). Doing this we will gain the choice of including them in the package or not and it's a better "separation of concerns".

Since logstash is always `agent`, I suggest we simply ignore that argument if we see it and just pass all argument parsing to the Agent class.

The only remaining option would be `bin/logstash version`. We could either convert it to `--version` and pass it to the Agent class for the sake of backward compatibility or remove/deprecate its support in favor of `bin/logstash --version`.

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.