Skip to content

Remove identity-shiro from plugins folder#20305

Merged
cwperks merged 3 commits intoopensearch-project:mainfrom
cwperks:remove-identity-shiro
Dec 23, 2025
Merged

Remove identity-shiro from plugins folder#20305
cwperks merged 3 commits intoopensearch-project:mainfrom
cwperks:remove-identity-shiro

Conversation

@cwperks
Copy link
Copy Markdown
Member

@cwperks cwperks commented Dec 22, 2025

Description

This plugin provided an example implementation of the IdentityPlugin interface, but otherwise does not serve any real purpose. I'm opening this PR to propose removing this from this repo. This should either live outside the core repo or within plugins/examples.

Related Issues

Related to #17246

Check List

  • Functionality includes testing.
  • API changes companion pull request created, if applicable.
  • Public documentation issue/PR created, if applicable.

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Summary by CodeRabbit

  • Removed

    • Shiro-based identity authentication plugin and all its related runtime components, tests, licenses, and build artifacts have been removed.
  • Chores

    • Ownership entries and build/test references updated to reflect the identity code moving into the server area.
    • CHANGELOG updated to document removal.

✏️ Tip: You can customize this high-level summary in your review settings.

Signed-off-by: Craig Perkins <cwperx@amazon.com>
@cwperks cwperks requested review from a team, jed326 and peternied as code owners December 22, 2025 15:20
@coderabbitai
Copy link
Copy Markdown
Contributor

coderabbitai bot commented Dec 22, 2025

Walkthrough

Removes the identity-shiro plugin: code, build files, licenses, checksums, and tests; updates CODEOWNERS to point ownership to server/src/main/java/org/opensearch/identity/ and removes the plugin from missing-javadoc checks and smoke-test dependency. (50 words)

Changes

Cohort / File(s) Summary
Ownership & Release notes
​.github/CODEOWNERS, CHANGELOG.md, gradle/missing-javadoc.gradle
Transfers ownership entry from the plugin path to server/src/main/java/org/opensearch/identity/, documents removal in CHANGELOG, and removes the plugin from missing-javadoc checks.
Plugin build
plugins/identity-shiro/build.gradle
Deleted Gradle build script and all plugin metadata, dependencies, test/internalCluster config, and third-party audit entries.
Plugin sources
plugins/identity-shiro/src/main/java/org/opensearch/identity/shiro/*, .../shiro/realm/*
Removes all Shiro plugin Java sources (ShiroIdentityPlugin, ShiroTokenManager, ShiroSubject, ShiroPluginSubject, ShiroSecurityManager, ShiroTokenExtractor, OpenSearchRealm, BCryptPasswordMatcher, User, UnsupportedAuthenticationToken, package-info, etc.).
Licenses & checksums
plugins/identity-shiro/licenses/*
Deletes license text files and SHA-1 checksum files for bundled third‑party libs (commons-*, passay, password4j, shiro-core, slf4j-api) and plugin security policy.
Tests
plugins/identity-shiro/src/test/java/org/opensearch/identity/shiro/*, .../realm/*
Removes all unit and integration tests for the Shiro identity plugin (AuthTokenHandlerTests, ShiroIdentityPluginTests, ShiroSubjectTests, ShiroTokenExtractorTests, BCryptPasswordMatcherTests, OpenSearchRealmTests).
QA dependency
qa/smoke-test-http/build.gradle, qa/smoke-test-http/src/test/java/.../IdentityAuthenticationIT.java
Removes testImplementation dependency on the plugin and deletes the HTTP identity integration test.

Estimated code review effort

🎯 4 (Complex) | ⏱️ ~45 minutes

  • Files requiring extra attention:
    • plugins/identity-shiro/src/main/java/... (core classes removed: token manager, realm, subject)
    • Build and dependency changes: plugins/identity-shiro/build.gradle, gradle/missing-javadoc.gradle, qa/smoke-test-http/build.gradle
    • CODEOWNERS and CHANGELOG entries to confirm ownership and release-note accuracy
    • References across the repo that might still import or reference removed classes/tests

Possibly related PRs

Suggested labels

Other

Suggested reviewers

  • peternied
  • jed326

Poem

🐰 I hopped along the plugin trail,
Found Shiro packed up in a pale.
Licenses folded, tests set free,
Identity now lives in server tree.
A nimble hop, a cheerful cheer—hello new path this year!

Pre-merge checks and finishing touches

✅ Passed checks (3 passed)
Check name Status Explanation
Title check ✅ Passed The PR title clearly and accurately describes the main change: removing the identity-shiro plugin from the plugins folder.
Description check ✅ Passed The PR description explains the rationale for removal, references a related issue, and includes the required checklist and license confirmation.
Docstring Coverage ✅ Passed No functions found in the changed files to evaluate docstring coverage. Skipping docstring coverage check.
✨ Finishing touches
  • 📝 Generate docstrings
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Post copyable unit tests in a comment

📜 Recent review details

Configuration used: defaults

Review profile: CHILL

Plan: Pro

📥 Commits

Reviewing files that changed from the base of the PR and between 2a1ee7b and 31cd2c3.

📒 Files selected for processing (1)
  • qa/smoke-test-http/src/test/java/org/opensearch/http/IdentityAuthenticationIT.java
💤 Files with no reviewable changes (1)
  • qa/smoke-test-http/src/test/java/org/opensearch/http/IdentityAuthenticationIT.java
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (21)
  • GitHub Check: gradle-check
  • GitHub Check: precommit (21, macos-15)
  • GitHub Check: precommit (21, ubuntu-24.04-arm)
  • GitHub Check: detect-breaking-change
  • GitHub Check: precommit (21, windows-2025, true)
  • GitHub Check: precommit (25, windows-latest)
  • GitHub Check: precommit (21, macos-15-intel)
  • GitHub Check: assemble (21, ubuntu-latest)
  • GitHub Check: assemble (21, ubuntu-24.04-arm)
  • GitHub Check: precommit (25, ubuntu-latest)
  • GitHub Check: precommit (25, macos-15-intel)
  • GitHub Check: precommit (25, macos-15)
  • GitHub Check: assemble (25, windows-latest)
  • GitHub Check: precommit (25, ubuntu-24.04-arm)
  • GitHub Check: precommit (21, ubuntu-latest)
  • GitHub Check: assemble (21, windows-latest)
  • GitHub Check: precommit (21, windows-latest)
  • GitHub Check: assemble (25, ubuntu-24.04-arm)
  • GitHub Check: assemble (25, ubuntu-latest)
  • GitHub Check: Analyze (java)
  • GitHub Check: Mend Security Check

Comment @coderabbitai help to get the list of available commands and usage tips.

Signed-off-by: Craig Perkins <cwperx@amazon.com>
@github-actions
Copy link
Copy Markdown
Contributor

❌ Gradle check result for 2a1ee7b: FAILURE

Please examine the workflow log, locate, and copy-paste the failure(s) below, then iterate to green. Is the failure a flaky test unrelated to your change?

Signed-off-by: Craig Perkins <cwperx@amazon.com>
@github-actions
Copy link
Copy Markdown
Contributor

✅ Gradle check result for 31cd2c3: SUCCESS

@codecov
Copy link
Copy Markdown

codecov bot commented Dec 22, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 73.12%. Comparing base (01b48c3) to head (31cd2c3).
⚠️ Report is 10 commits behind head on main.

Additional details and impacted files
@@             Coverage Diff              @@
##               main   #20305      +/-   ##
============================================
- Coverage     73.25%   73.12%   -0.13%     
+ Complexity    71790    71634     -156     
============================================
  Files          5795     5785      -10     
  Lines        328299   328132     -167     
  Branches      47279    47268      -11     
============================================
- Hits         240489   239956     -533     
- Misses        68471    68897     +426     
+ Partials      19339    19279      -60     

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Copy Markdown
Member

@peternied peternied left a comment

Choose a reason for hiding this comment

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

Thanks for cleaning this up @cwperks

@cwperks cwperks merged commit 2216423 into opensearch-project:main Dec 23, 2025
35 checks passed
mohit10011999 pushed a commit to mohit10011999/OpenSearch that referenced this pull request Dec 30, 2025
* Remove identity-shiro from plugins folder

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Add to CHANGELOG

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Fix precommit check

Signed-off-by: Craig Perkins <cwperx@amazon.com>

---------

Signed-off-by: Craig Perkins <cwperx@amazon.com>
mohit10011999 pushed a commit to mohit10011999/OpenSearch that referenced this pull request Dec 30, 2025
* Remove identity-shiro from plugins folder

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Add to CHANGELOG

Signed-off-by: Craig Perkins <cwperx@amazon.com>

* Fix precommit check

Signed-off-by: Craig Perkins <cwperx@amazon.com>

---------

Signed-off-by: Craig Perkins <cwperx@amazon.com>
@gaiksaya
Copy link
Copy Markdown
Member

gaiksaya commented Jan 20, 2026

Hi @cwperks

Looks like this plugin is still getting build and pushed to S3 as part of the bundle. Do we need to make any gradle level changes to exclude this plugin?
Checked the most the recent build and was able to find the plugin zip at https://ci.opensearch.org/ci/dbc/distribution-build-opensearch/3.5.0/11626/linux/x64/tar/builds/opensearch/core-plugins/identity-shiro-3.5.0.zip

Related build: https://build.ci.opensearch.org/view/Build/job/distribution-build-opensearch/11626/
cc: @rishabh6788

@cwperks
Copy link
Copy Markdown
Member Author

cwperks commented Jan 20, 2026

@gaiksaya could there be an alias to latest that resolves to 3.5? Since it was removed recently we would have snapshots for 3.5, but when it comes to the release it would not be released.

@gaiksaya
Copy link
Copy Markdown
Member

@gaiksaya could there be an alias to latest that resolves to 3.5? Since it was removed recently we would have snapshots for 3.5, but when it comes to the release it would not be released.

Latest points to the same build. These are not snapshots but distribution builds.
I have triggered a clean non-incremental build. Will monitor that and see if it that was the issue.
https://build.ci.opensearch.org/view/Build/job/distribution-build-opensearch/11628/

@gaiksaya
Copy link
Copy Markdown
Member

gaiksaya commented Jan 20, 2026

That worked @cwperks

Looks like incremental build had residue of previous builds which caused the new artifacts to override but did not remove the non-existing ones.
Thanks!

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.

3 participants