Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add ES exporter to application.yaml #4031

Merged
merged 9 commits into from
Jul 23, 2024
Merged

Add ES exporter to application.yaml #4031

merged 9 commits into from
Jul 23, 2024

Conversation

akeller
Copy link
Member

@akeller akeller commented Jul 15, 2024

Description

Open discussion - https://camunda.slack.com/archives/C074T8BTTM2/p1721078565460779?thread_ts=1720034668.231519&cid=C074T8BTTM2

Takes the following instructions, packaged with the release artifacts, and makes them more consumable:

How to run
==========

Prerequisites:
1. Download Elasticsearch 8.9.2 (from https://www.elastic.co/downloads/elasticsearch)
2. For non-production cases, disable Elasticsearch's security packages by setting the xpack.security.* configuration options to false in ELASTICSEARCH_HOME/config/elasticsearch.yml
3. Start Elasticsearch by running ELASTICSEARCH_HOME/bin/elasticsearch (or ELASTICSEARCH_HOME\bin\elasticsearch.bat on Windows)

Start Camunda:
1. Run bin/camunda (or bin\camunda.bat on Windows)

When should this change go live?

  • This is a bug fix, security concern, or something that needs urgent release support.
  • This is already available but undocumented and should be released within a week.
  • This on a specific schedule and the assignee will coordinate a release with the DevEx team. (apply hold label or convert to draft PR)
  • This is part of a scheduled alpha or minor. (apply alpha or minor label)
  • There is no urgency with this change and can be released at any time.

PR Checklist

  • My changes are for an already released minor and are in /versioned_docs directory.
  • My changes are for the next minor and are in /docs directory (aka /next/).

@akeller akeller added component:docs Documentation improvements, including new or updated content hold This issue is parked, do not merge. e2e E2E docs getting started project labels Jul 15, 2024
@akeller akeller self-assigned this Jul 15, 2024
Copy link
Contributor

👋 🤖 🤔 Hello! Did you make your changes in all the right places?

These files were changed only in docs/. You might want to duplicate these changes in versioned_docs/version-8.5/.

  • docs/guides/react-components/install-plain-java.md

You may have done this intentionally, but we wanted to point it out in case you didn't. You can read more about the versioning within our docs in our documentation guidelines.

@akeller
Copy link
Member Author

akeller commented Jul 17, 2024

For reviewers (@christinaausley @conceptualshark @pepopowitz)- I'm looking for the following, feedback-wise:

  • Is it overkill to include the entire application.yaml because of spacing/nesting purposes? Do you have a suggestion for how to make these easy to explain & maintain if the monorepo (source of truth) doesn't include the exporter by default?
    • If this is too challenging to explain & maintain, I'd like to push back on the idea that this should be a default and users who want to run Zeebe by itself should remove the exporter.
  • Does breaking up Step 1 (installation step) by technology make sense? ES needs to be running for Camunda to start successfully anyway.
    • Implementing Step 1 as a reusable component seems to cause the headers to not show up in the right-hand sidebar, but the header links appear to work... was this just weird on my computer, or is this the case for you too? Will this be confusing?

Please set aside some time to run this on your local machine or work together to see how it runs. Let's set a deadline to do this by next Friday (July 26). This is a high priority (part of the getting started experience), but not urgent. If the urgency increases, I'll move forward as-is and open a new PR based on your feedback.

Copy link
Collaborator

@pepopowitz pepopowitz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Most of my feedback is non-blocking, but one in particular (marked "blocking") is preventing me from moving forward to test this out. I am not clear on which specific settings I need to change for elasticsearch.

docs/guides/react-components/install-plain-java.md Outdated Show resolved Hide resolved
docs/guides/react-components/install-plain-java.md Outdated Show resolved Hide resolved
docs/guides/react-components/install-plain-java.md Outdated Show resolved Hide resolved
3. Start Elasticsearch by running `ELASTICSEARCH_HOME/bin/elasticsearch` (or `ELASTICSEARCH_HOME\bin\elasticsearch.bat` on Windows).

### Download and configure Camunda

1. Download the [latest release artifact](https://github.com/camunda/camunda/releases), starting with [8.6.0-alpha2](https://github.com/camunda/camunda/releases/tag/8.6.0-alpha2).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Running alpha2 seemed to result in a version mismatch for me, but running alpha3 went fine:

io.camunda.operate.schema.SchemaStartup - Schema startup failed: Error(s) in index schema: Newer version(s) for operation (8.4.0) already exists: [8.4.1]

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@romansmirnov thoughts on this?

Copy link
Member

@romansmirnov romansmirnov Jul 19, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assumption: The same ES instance has been used, but first, alpha3 was started, creating an index in version 8.4.1, and then alpha2 was started, expecting the index to be in version 8.4.0.

Can you please confirm my understanding? If so, I don't recommend using the same ES instance and switching from a newer C8 version to an older C8 version.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@conceptualshark I don't know if we should expect people using the same ES instance (purposefully or accidentally). Can I give you a follow up here to maybe add a small troubleshooting section or think more about this experience for new users?

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The only thing I can think of that would have impacted this is having started C8SM Run on this machine (it was not running at the time). When I tested this PR, I ran ES + alpha2, failed with the above error, stopped both, then reinstalled and ran ES + alpha3, so I am not sure why an index (or even ES instance) would have been maintained.

Unfortunately, I can't add anything for resolving it, because it still doesn't work on my machine (I had to run it in a VM).

@akeller akeller requested a review from romansmirnov July 19, 2024 16:21
Copy link
Collaborator

@pepopowitz pepopowitz left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I took a second pass. As I was finishing, I noticed in Slack that I may have been asked to use alpha3, but I went through with alpha2. Oops? This might be a worthless review.

In the end, I can see a login screen for operate at localhost:8080 (though I don't know what credentials to log in with). I see localhost:8080/tasklist trying to serve something, but it's basically a blank gray page. I am wondering if it would serve an actual tasklist if I had logged into localhost:8080.

docs/guides/react-components/install-plain-java.md Outdated Show resolved Hide resolved
docs/guides/react-components/install-plain-java.md Outdated Show resolved Hide resolved
docs/guides/react-components/install-plain-java.md Outdated Show resolved Hide resolved
@conceptualshark
Copy link
Contributor

I ran through this whole process in UTM to isolate it from the build errors I was having on my machine and: success!

I changed the ES security config xpack.security.enabled: false prior to running ES for the first time, and it worked fine. I also no longer got schema errors running alpha2, so can confirm that worked on a fresh/isolated install as well.

My assumption is testing the C8Run script caused some versioning/config issues there, which might just be good to have in mind if we end up with folks attempting multiple methods of installing/running.

@christinaausley
Copy link
Contributor

christinaausley commented Jul 22, 2024

Is it overkill to include the entire application.yaml because of spacing/nesting purposes?

I don't love this, because users will only scroll so far down a page in general, and it can make the page a bit messy. Are we able to link to it, or include it in something like a <details> element or collapsible/expandable code snippet? I've seen this a few times across our docs.

If not, is there a specific reason why users aren't able to find these details in elements like these already?

Fun fact, I guess you can use <details> elements in GitHub?? I only know because I just typed it and got the following 😄 :

Some details here.

@akeller
Copy link
Member Author

akeller commented Jul 22, 2024

Hi All - thanks for the reviews and feedback. I will do one more pass today to close this out.

Related, we will swap in C8SM Run to be our single option for getting started with SM. If you have more input on that part of the conversation, please go to #e2e-docs-experience-getting-started-guides. Regardless, it's important if we do ever need to have both of these, we can easily pull these changes back in and offer parallel paths.

@akeller akeller marked this pull request as ready for review July 22, 2024 20:24
@akeller akeller removed the hold This issue is parked, do not merge. label Jul 22, 2024
@akeller akeller requested a review from pepopowitz July 22, 2024 20:24
Copy link
Contributor

@conceptualshark conceptualshark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think this is in good shape! If we're eager to merge, my suggestion isn't blocking.

docs/guides/react-components/install-plain-java.md Outdated Show resolved Hide resolved
@akeller akeller enabled auto-merge (squash) July 23, 2024 16:56
@akeller akeller requested a review from conceptualshark July 23, 2024 16:56
Copy link
Contributor

@conceptualshark conceptualshark left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

🎉

@akeller akeller dismissed pepopowitz’s stale review July 23, 2024 20:42

Feedback addressed

@akeller akeller merged commit 30ed240 into main Jul 23, 2024
8 checks passed
@akeller akeller deleted the add-ES-exporter-pji branch July 23, 2024 20:42
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
component:docs Documentation improvements, including new or updated content e2e E2E docs getting started project
Projects
Archived in project
Development

Successfully merging this pull request may close these issues.

5 participants