A writeup of my experience with hacktoberfest and elastic.co.
I decided to do Hacktoberfest https://hacktoberfest.digitalocean.com/ and work on an open issue for Logstash.
Update It looks like that issue was from last year is never going to be resolved because of their transition to ECS conflicts with the customization of these fields. But if you are working on logstash documentation, the steps I took below will still apply.
https://github.com/elastic/logstash/issues/8527Reading the issue, you can see it was created in 2017. Its intent has changed some, we will get into that later. For now, lets set up the environment.
Install docker-ce. I did not get podman to work with this, nor can you use version docker version 1.13.
disable selinux (yeah I know...)
Create working directory with clones of the the following
-
Your fork of the logstash repo
https://github.com/elastic/logstash.git -
The logstash plug-in documents
https://github.com/elastic/logstash-docs.git -
The elastic.co documentation scaffolding for testing documents
https://github.com/elastic/docs.git
Short Example Directory Structure
mkdir hacktoberfest
cd hacktoberfest
git clone https://github.com/<your_user_name>/logstash.git
git clone https://github.com/elastic/logstash-docs.git
git clone https://github.com/elastic/docs.git
ls
# docs logstash logstash-docs
Build the Documents
From within the *./hacktoberfest/docs/* directory run the following command.
python build_docs --doc ../logstash/docs/index.asciidoc --chunk 1 \
--open-resource ../logstash-docs/ --asciidoctor --lenient
Explanation of the extra flags
'--open-resource ../logstash-docs/' adds the logstash-docs directory to the docker container that will host the documents. This contains the plugin documentation
'--asciidoctor' uses the asciidoctor instead of asciidoc
'--lenient' ignores errors caused by linking non existent asciidoc sources