Skip to content

add druid-operator to apache druid#18435

Merged
capistrant merged 7 commits intoapache:masterfrom
AdheipSingh:master
Oct 21, 2025
Merged

add druid-operator to apache druid#18435
capistrant merged 7 commits intoapache:masterfrom
AdheipSingh:master

Conversation

@AdheipSingh
Copy link
Copy Markdown
Contributor

@AdheipSingh AdheipSingh commented Aug 24, 2025

Fixes #XXXX.

Description

Based on discussion with Druid PMC on threads, i have raised a PR to move druid-operator to druid.

Copy link
Copy Markdown
Contributor

@capistrant capistrant left a comment

Choose a reason for hiding this comment

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

Thank you for getting this started. Have left high level comments so far regarding things like Apache headers, files we may want to remove as part of this, etc.

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.

should this be deleted with perhaps a new section added to the base pr template that gives a checklist for PRs that touch druid-operator?

Comment thread druid-operator/.github/stale.yml 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.

can we delete? Druid repo should have its own stale PR handler if I remember correctly

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.

does this need to be moved into base druid github workflows area?

Comment thread druid-operator/LICENSE 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.

I assume this needs to be deleted and druid-operator now falls under the core druid LICENSE file, but I'm not up to snuff on the license specifics with project donation to an apache project

Comment thread druid-operator/MAINTAINERS.md 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.

Also a candidate for removal I think

@@ -0,0 +1,102 @@
/*
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'll only comment once per file ext type :) -- all .go source files need the proper apache copy header

Pulled from our java source files:

/*
 * Licensed to the Apache Software Foundation (ASF) under one
 * or more contributor license agreements.  See the NOTICE file
 * distributed with this work for additional information
 * regarding copyright ownership.  The ASF licenses this file
 * to you under the Apache License, Version 2.0 (the
 * "License"); you may not use this file except in compliance
 * with the License.  You may obtain a copy of the License at
 *
 *   http://www.apache.org/licenses/LICENSE-2.0
 *
 * Unless required by applicable law or agreed to in writing,
 * software distributed under the License is distributed on an
 * "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
 * KIND, either express or implied.  See the License for the
 * specific language governing permissions and limitations
 * under the License.
 */

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 believe all the project YAML files will need the apache copy header.

Example pulled from other druid Yaml file:

# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#-------------------------------------------------------------------------

@@ -0,0 +1,7 @@
FROM alpine:3.17.2
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.

same license requirements for the Dockerfiles in the repo

pulled from existing Dockerfile in repo

# Licensed to the Apache Software Foundation (ASF) under one
# or more contributor license agreements.  See the NOTICE file
# distributed with this work for additional information
# regarding copyright ownership.  The ASF licenses this file
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License.  You may obtain a copy of the License at
#
#   http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
# KIND, either express or implied.  See the License for the
# specific language governing permissions and limitations
# under the License.
#-------------------------------------------------------------------------

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.

same License stuff applies for .sh files

From Druid repo existing script. comment came after shebang line + linebreak

# Licensed to the Apache Software Foundation (ASF) under one or more
# contributor license agreements.  See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in compliance with
# the License.  You may obtain a copy of the License at
#
#     http://www.apache.org/licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, software
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
#-------------------------------------------------------------------------

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'm unfamiliar with .tpl but I do figure we will need apache copy headers in these too 🤔

@AdheipSingh
Copy link
Copy Markdown
Contributor Author

Thanks for review @capistrant ill address the comments.

@himanshug
Copy link
Copy Markdown
Contributor

Clear and Approved for Apache Donation from my side.

@AdheipSingh
Copy link
Copy Markdown
Contributor Author

@capistrant - i have addressed all your comments. Regarding .tpl i myself am unsure. This was actually generated as part of repo initialisation.

@AdheipSingh AdheipSingh requested a review from capistrant August 31, 2025 14:52
@capistrant
Copy link
Copy Markdown
Contributor

@AdheipSingh thanks for the updates! I guess there are more files still getting flagged for improper license header in static checks. Once we get this green, it will be easier to see what other things may need to be fixed up.

 druid-operator/e2e/druid-ingestion-test.sh
  druid-operator/e2e/Dockerfile-testpod
  druid-operator/e2e/test-extra-common-config.sh
  druid-operator/e2e/wikipedia-test.sh
  druid-operator/e2e/monitor-task.sh
  druid-operator/README.md
  druid-operator/docs/README.md
  druid-operator/docs/examples.md
  druid-operator/docs/getting_started.md
  druid-operator/docs/druid_cr.md
  druid-operator/docs/dev_doc.md
  druid-operator/docs/api_specifications/druid.md
  druid-operator/docs/kubebuilder_v3_migration.md
  druid-operator/docs/features.md
  druid-operator/tutorials/druid-on-kind/README.md
  druid-operator/PROJECT
  druid-operator/go.mod
  druid-operator/chart/.helmignore
  druid-operator/chart/templates/_helpers.tpl
  druid-operator/chart/templates/NOTES.txt
  druid-operator/ADOPTERS.md
  druid-operator/Makefile
  druid-operator/hack/api-docs/template/members.tpl
  druid-operator/hack/api-docs/template/type.tpl
  druid-operator/hack/api-docs/template/pkg.tpl
  druid-operator/go.sum
  druid-operator/.dockerignore

^ From java 17 static checks listing files missing licenses header. I guess even markdowns need the proper licensing header. You can find examples for each file type in the existing repository. For .tpl probably just copy the content from a java source file with .tpl format for multi-line comments?

@AdheipSingh
Copy link
Copy Markdown
Contributor Author

@capistrant go.mod and go.sum can't have headers. Rest files i have added.

@capistrant
Copy link
Copy Markdown
Contributor

@capistrant go.mod and go.sum can't have headers. Rest files i have added.

I see, then I guess we will have to add .<exclude>**/*.mod</exclude> as an exception in the rat plugin conf:

druid/pom.xml

Line 2169 in 90be682

<excludes>
.. a short comment on the line saying .mod files do not support header comments should suffice

@yurmix
Copy link
Copy Markdown
Contributor

yurmix commented Sep 9, 2025

go.mod

I do see other projects have license headers in this file:
https://github.com/apache/arrow-go/blob/main/go.mod

For go.sum, I don't think it is possible to add comments.

@AdheipSingh
Copy link
Copy Markdown
Contributor Author

@capistrant @yurmix
I have done the changes. Please check.

Copy link
Copy Markdown
Contributor

@capistrant capistrant left a comment

Choose a reason for hiding this comment

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

awesome to see green CI! I have a few more comments

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.

This template should not be removed

Comment thread druid-operator/LICENSE 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.

I think this needs to be deleted. Our other modules do not have module level LICENSE files. This module will fall under the overall project LICENSE after donation

Comment thread druid-operator/.gitignore
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.

nit: it could make sense to sync this up with the parent gitignore and remove duplicates. But probably not the biggest deal

@AdheipSingh
Copy link
Copy Markdown
Contributor Author

@capistrant all files removed as you suggested.

@capistrant
Copy link
Copy Markdown
Contributor

capistrant commented Sep 16, 2025

@capistrant all files removed as you suggested.

@AdheipSingh I'm still seeing .github/pull_request_template.md as being deleted in the latest version. Could you please restore it to original form?

@AdheipSingh
Copy link
Copy Markdown
Contributor Author

@capistrant I have added the PR template back. Apologies for confusion.

@gianm
Copy link
Copy Markdown
Contributor

gianm commented Sep 19, 2025

FYI, I just raised an IP Clearance vote with the Incubator: https://lists.apache.org/thread/s0nrv9ny396nkll396f30c57o5nvdkd4

@gianm
Copy link
Copy Markdown
Contributor

gianm commented Sep 23, 2025

IP Clearance has passed. @capistrant do you think this is ready to merge from a code point of view? We can fix up most things after merging. The main thing that should be done pre-merging is ensure CI still passes and that license headers are correct. To me this appears done.

@gianm
Copy link
Copy Markdown
Contributor

gianm commented Sep 23, 2025

It doesn't need to block this PR, but the next thing that should be discussed is how we handle releases. I posted on the dev thread about it here: https://lists.apache.org/thread/1r3fmpmdjvmptq9ckn36xq6zdd9hgvmd

@AdheipSingh @yurmix @razinbouzar — please chime in on the thread with your thoughts. As you all have been most involved in the discussions recently, I am assuming one of you will have an opinion on releases 😄

@AdheipSingh
Copy link
Copy Markdown
Contributor Author

It doesn't need to block this PR, but the next thing that should be discussed is how we handle releases. I posted on the dev thread about it here: https://lists.apache.org/thread/1r3fmpmdjvmptq9ckn36xq6zdd9hgvmd

@AdheipSingh @yurmix @razinbouzar — please chime in on the thread with your thoughts. As you all have been most involved in the discussions recently, I am assuming one of you will have an opinion on releases 😄

Thanks @gianm as always for your support. I will chime in the thread.

@capistrant
Copy link
Copy Markdown
Contributor

@AdheipSingh could you merge master into this once and then pending green CI I will approve and merge. Thank you for all the work getting this ready to merge. We are almost there.

@capistrant
Copy link
Copy Markdown
Contributor

@AdheipSingh checking in here to see again if you could do a quick merge of master into your branch to run on the latest CI workflows as one last check before we merge and move ahead with integrating druid-operator into druid!

@AdheipSingh
Copy link
Copy Markdown
Contributor Author

@capistrant - i have merged master into my branch

@razinbouzar
Copy link
Copy Markdown
Contributor

@capistrant or @gianm can either of you merge this PR? Two issues have been created to track releases:

  1. Distribute Helm chart for Druid Operator #18581
  2. First Apache Release of Druid Operator (X.Y.Z) #18582

@capistrant capistrant merged commit e48914c into apache:master Oct 21, 2025
60 checks passed
@razinbouzar
Copy link
Copy Markdown
Contributor

It would make some sense to have a separate repo with its own release cycle. @capistrant and @AdheipSingh, what else do we need to get this going?

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

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants