Skip to content

ZOOKEEPER-5020: Improve ZooKeeper website#2373

Merged
anmolnar merged 51 commits into
apache:masterfrom
yuriipalam:ZOOKEEPER-5020
Jun 20, 2026
Merged

ZOOKEEPER-5020: Improve ZooKeeper website#2373
anmolnar merged 51 commits into
apache:masterfrom
yuriipalam:ZOOKEEPER-5020

Conversation

@yuriipalam

@yuriipalam yuriipalam commented Apr 20, 2026

Copy link
Copy Markdown
Contributor

This is a draft PR of the new ZooKeeper website. The documentation can be found in the README.md file under the zookeeper-website directory. The zookeeper-docs directory is removed.

This PR might have more updates in the near future.

There is currently ongoing process of CI/CD integration into the Zookeeper repository. We're considering moving the released docs to another branch and just merge it with the website at a build time, since there's no point to pull a huge archive (1 GB) whenever you want to clone the repo. This discussion is currently ongoing, this app doesn't contain the released docs.

Website preview: https://zookeeper-website.vercel.app/

Previously, the master branch stored docs sources only of the current version, and the website branch had the landing page source code plus the released docs. Currently, the master branch has the code of both documentation and landing page, it's all one app now.

@yuriipalam yuriipalam marked this pull request as ready for review April 20, 2026 14:07
@eolivelli

Copy link
Copy Markdown
Contributor

this is great, please have a conversation on dev@zookeeper.apache.org about the release process

this is our current release process and it involves updating the website:
https://cwiki.apache.org/confluence/display/ZOOKEEPER/HowToRelease+using+maven+release+plugin

@anmolnar

Copy link
Copy Markdown
Contributor

this is great, please have a conversation on dev@zookeeper.apache.org about the release process

this is our current release process and it involves updating the website: https://cwiki.apache.org/confluence/display/ZOOKEEPER/HowToRelease+using+maven+release+plugin

Hi @eolivelli ,

There's already a discussion thread on dev@ with subject "[DISCUSS] The New ZooKeeper Website".
Feel free to chime in.

@PDavid PDavid Apr 27, 2026

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

For installing Playwright in GH Actions you might find this useful:
https://playwright.dev/docs/ci-intro#setting-up-github-actions

@PDavid PDavid left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Many thanks, impressive work! 👍 I really like the new website.

I just found that we may miss some recently made updates, please see below.

Comment on lines +368 to +370
## quit

Quit the CLI.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think there we re some updates to this section under https://github.com/apache/zookeeper/pull/2358/changes not so long ago.

enable Prometheus.io exporter.
- _metricsProvider.httpHost_ :
**New in 3.8.0:** Prometheus.io exporter will start a Jetty server and listen this address, default is "0.0.0.0"
- _metricsProvider.httpPort_ :

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

There were some updates to this section in https://github.com/apache/zookeeper/pull/2360/changes not so long ago.

metricsProvider.httpPort=7000
metricsProvider.httpsPort=4443
```

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

- _server_stats/srvr_ :
Server information.
Returns multiple fields giving a brief overview of server state.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

I think we should add here shed_connections/shed which was added not so long ago:

https://github.com/apache/zookeeper/pull/2352/changes#diff-b23410aa2905e03ad9746e55d595b63d35ffdb8ea34083c75cabeb83366f324c

@yuriipalam

Copy link
Copy Markdown
Contributor Author

Thanks for your review @PDavid
I will apply the changes once everything else is done

@yuriipalam

Copy link
Copy Markdown
Contributor Author

Everything seems to be done. The PR for changes in the asf-site branch is open, please take a look #2396

Once the final feedback is received, I will rebase the documentation changes.

In the discussion thread we decided to architect the website in the following way:

Store the released docs in the asf-site branch. This branch stores the build being served. For example, we already do this for HBase (though it's in a separate repo, which isn't the point here), but we don't have that many old versions there. This way we don't store heavy archives in the master branch, but it comes with a tradeoff. In the master branch, we have to maintain an array of all released versions, we got more than 50 of them. We need to show the list of all previously released docs on the website. To release a new version of ZooKeeper we have to open two PRs, one for master and another for asf-site. The flow is like this: we build master, then we store the last build in the asf-site branch as other released docs. In master, we update the released versions array, and the current version. Then push the changes.

Comment thread zookeeper-website/app/pages/_docs/docs/index.tsx Outdated
@PDavid

PDavid commented Jun 12, 2026

Copy link
Copy Markdown
Contributor

Interestingly the GitHub Actions were not run on the latest changes. Maybe it would worth to squash the commits?

EDIT: Now they are working.

@yuriipalam

Copy link
Copy Markdown
Contributor Author

Interestingly the GitHub Actions were not run on the latest changes. Maybe it would worth to squash the commits?

I can try that. Should I squash everything that we got on this branch into one commit?

@PDavid

PDavid commented Jun 15, 2026

Copy link
Copy Markdown
Contributor

Many thanks, now the RAT check is successful locally and I can also see that since you resolved the conflicts the GitHub action checks are scheduled. (A committer has to approve it so that it runs.) 🚀

`overrides` will need to be removed later once the deps support the newer version of fixed esbuild

@anmolnar anmolnar left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

lgtm.

@anmolnar

Copy link
Copy Markdown
Contributor

@yuriipalam Have you finished this patch?
I restarted the failing CI builds.

@yuriipalam

Copy link
Copy Markdown
Contributor Author

@yuriipalam Have you finished this patch? I restarted the failing CI builds.

Yes, I have finished it. The CI check didn't seem to be related to my changes.

There were just some conflicts that I had to resolve, and I also fixed fresh CVEs as well.

@tisonkun tisonkun left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Rest LGTM. We can move forward.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

How does this data file get generated? I noticed that this is outdated.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

For HBase and Phoenix this file was generated from the respective parts from root pom.xml on build time. For that reason this developers.json was not checked into the git repo and ignored. Is this different here @yuriipalam or should this be the same?

@yuriipalam yuriipalam Jun 22, 2026

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

Here it's not generated from pom.xml. I took the data from the current website.
I just checked and probably it should be generated from it, since we have a list of developers there. I didn't notice it.
I can do it later as a separate patch. Thanks!

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Seems to be outdated. Do we still maintain this channel? If not, we may remove this page later.

Copy link
Copy Markdown
Contributor Author

Choose a reason for hiding this comment

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

I don't really know, I just moved all the content we had. It's easy to remove if we need to.

@anmolnar

Copy link
Copy Markdown
Contributor

@yuriipalam Please look at the comments on the following Jira ticket and modify the Security page accordingly:
https://issues.apache.org/jira/browse/ZOOKEEPER-5050

Thanks!


The Apache Software Foundation takes security issues very seriously. Due to the infrastructure nature of the Apache ZooKeeper project specifically, we haven't had many reports over time, but it doesn't mean that we haven't had concerns over some bugs and vulnerabilities. If you have any concern or believe you have uncovered a vulnerability, we suggest that you get in touch via the e-mail address [security@zookeeper.apache.org](mailto:security@zookeeper.apache.org?Subject=[SECURITY]%20My%20security%20issue). In the message, try to provide a description of the issue and ideally a way of reproducing it. Note that this security address should be used only for undisclosed vulnerabilities. Dealing with known issues should be handled regularly via jira and the mailing lists. **Please report any security problems to the project security address before disclosing it publicly.**

The ASF Security team maintains a page with a description of how vulnerabilities are handled, check their [Web page](https://www.apache.org/security/) for more information.

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

A small suggestion: consider linking to https://security.apache.org/report/ instead of https://www.apache.org/security/.

The /report/ page routes reporters to the appropriate channel up front. That keeps the wrong reports out of
security@zookeeper.apache.org. For instance, scanner output claiming that a ZooKeeper distribution bundles third-party dependencies with known CVEs should go to a public channel, not the private security address.

While we are here: as I noted in ZOOKEEPER-5050, it would be very useful if this page (or a subpage) carried a security/threat model summarizing ZooKeeper's security assumptions and guarantees. To get the ball rolling, I had an LLM draft one from the existing documentation: https://gist.github.com/ppkarwasz/f5be1b5c0182fe665252101c5f24d39f

The draft is not finished. It contains a set of open questions that need maintainer answers before it is complete, and an agent can ask those and fold the answers back into the document. I personally find this document's structure very convenient for triaging incoming reports, but the published form might (and probably should) be more narrative, along the lines of the Logging Services threat model or the Airflow security model.

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

Docs have been updated. PTAL @ppkarwasz

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Thanks!

@symat symat left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

LGTM, nice work!

@ppkarwasz ppkarwasz left a comment

Copy link
Copy Markdown
Member

Choose a reason for hiding this comment

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

Looks good to me! 💯

Thanks!

@anmolnar anmolnar merged commit 7e608ac into apache:master Jun 20, 2026
21 of 22 checks passed
@tisonkun

Copy link
Copy Markdown
Member

I have two comments above. They are not blockers but would expect for some replies :D

@yuriipalam

Copy link
Copy Markdown
Contributor Author

@tisonkun thanks, I replied!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants