# Not the best first impression of new beats development

**URL:** <https://discuss.elastic.co/t/not-the-best-first-impression-of-new-beats-development/205272>\
**Category:** Beats\
**Tags:** beats-development\
**Created:** [October 25, 2019, 1:53pm UTC](https://discuss.elastic.co/t/not-the-best-first-impression-of-new-beats-development/205272 "2019-10-25T13:53:21Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![rmauri](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rmauri/32/56626_2.png) [@rmauri](https://discuss.elastic.co/u/rmauri)\
**Post date:** [October 25, 2019, 1:53pm UTC](https://discuss.elastic.co/t/not-the-best-first-impression-of-new-beats-development/205272/1 "2019-10-25T13:53:22Z")

</div>

Greetings, I am just gettings started with Elastic beats development.

I have been developing with Golang for a few years and was excited to try to develop my first Helloworldbeat. I allocated a couple hours to the task.

I am underwhelmed, specifically on the getting started and build aspects.

I am put off by having to have python,pip,virtualenv,mage/make ecosystemusing govendor and the whole code generation approach; and it does not just work out of the box.

I am not going to supply details here now, and this may seem like a rant, but I wonder if there is, or at least a plan, for a native pure Golang based approach.

Maybe this is mostly a documentation problem that simply targets non Go purists? I really just want a Golang API doc and using go modules;none of th make,python stuff.

Can anyone lift my spirits and shed some light?

I'd be happy to contrib back some improvements if that will help, but I thought I'd start here.

Thanks

---

<div class="post-metadata">

**Author:** ![Michael\_Madden](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/michael_madden/32/46640_2.png) [@Michael\_Madden](https://discuss.elastic.co/u/Michael_Madden)\
**Post date:** [October 25, 2019, 4:04pm UTC](https://discuss.elastic.co/t/not-the-best-first-impression-of-new-beats-development/205272/2 "2019-10-25T16:04:51Z")

</div>

Hello, thanks for reaching out. The beats project definitely has a few external dependencies and a build system that's comprised of mage, make, python, ..., etc. The following page has a list of dependencies; it sounds like you've tracked them down already.

[https://www.elastic.co/guide/en/beats/devguide/current/beats-contributing.html](https://www.elastic.co/guide/en/beats/devguide/current/beats-contributing.html)

There is definitely a push to use native Go tools, especially mage. Here are a few recent PRs:

> <https://github.com/elastic/beats/pull/9842>

> <https://github.com/elastic/beats/pull/13610>

> <https://github.com/elastic/beats/pull/14201>

If you have suggestions for improvements, we're all ears. 😀

---

<div class="post-metadata">

**Author:** ![rmauri](https://sea2.discourse-cdn.com/elastic/user_avatar/discuss.elastic.co/rmauri/32/56626_2.png) [@rmauri](https://discuss.elastic.co/u/rmauri)\
**Post date:** [October 28, 2019, 4:15pm UTC](https://discuss.elastic.co/t/not-the-best-first-impression-of-new-beats-development/205272/3 "2019-10-28T16:15:03Z")

</div>

I found that there is supposdly a merged PR to make beats support go module builds, but there seem to be issues I uncovered. To be clear, I am not so much concerned about Makefile vs mage but about dependencies on python,pip,virtualenv.

I believe developing a new beat should require an api doc and go module based tooling and a thin Makefile or magefile without no go based dependencies.

> <https://github.com/elastic/beats/issues/11850#issuecomment-546969493>

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/elastic/original/3X/1/a/1ac57faf039f6b580b3f104ef42a2a89e41014de.png) [@system](https://discuss.elastic.co/u/system)\
**Post date:** [November 25, 2019, 4:24pm UTC](https://discuss.elastic.co/t/not-the-best-first-impression-of-new-beats-development/205272/4 "2019-11-25T16:24:44Z")

</div>

This topic was automatically closed 28 days after the last reply. New replies are no longer allowed.
