Skip to content

feat: add Nexus-compatible Terraform repositories#124

Merged
klboke merged 53 commits into
mainfrom
feat/terraform-repository-support
Jul 16, 2026
Merged

feat: add Nexus-compatible Terraform repositories#124
klboke merged 53 commits into
mainfrom
feat/terraform-repository-support

Conversation

@klboke

@klboke klboke commented Jul 14, 2026

Copy link
Copy Markdown
Owner

Summary

  • add Nexus-compatible Terraform module and provider repositories for hosted, proxy, and group recipes under /repository/<repo>/...
  • add official discovery, module/provider protocols, checksum and detached PGP signatures, archive validation, shared MySQL/PostgreSQL state, publish leases, and stable group source binding
  • support GenericToken/API key URL credentials while redacting and canonicalizing credential-bearing paths
  • add admin/browse UI integration, component upload, Nexus migration with signing-key continuity, roadmap/design completion updates, and operational metrics
  • migrate explicitly selected native Nexus Terraform proxy archive caches through a dedicated proxy-only writer that preserves Nexus paths and reconstructs verified upstream route/checksum/signature snapshots

Compatibility and distributed semantics

  • behavior is based on Terraform Registry protocols and Nexus 3.92 reference observations
  • metadata and publish coordination live in the shared database; blobs remain behind the storage abstraction
  • proxy-cache restore uses a shared database lease, archive validation, and idempotent asset writes without creating hosted publication/signing state
  • group source selection is persisted and invalidated across nested membership/config changes
  • local caches remain rebuildable and are not correctness authorities

Validation

  • mvn -B -ntp -pl server -am test (25-module reactor, server 1026 tests, MySQL/PostgreSQL contract and smoke suites)
  • Terraform CLI 0.13.7 and 1.15.8 against hosted and group/proxy repositories
  • Nexus 3.92 black-box hosted/group compatibility checks
  • source-to-target Nexus hosted migration with archive hashes, shasums, signing key ID continuity, secret redaction, and Terraform CLI initialization
  • real Nexus 3.92 Terraform proxy warm-up and archive-cache migration, target pre-metadata path/SHA-256 proof, and real terraform init
  • workflow/script syntax checks and git diff --check

All optional E2E workflow labels are applied so GitHub runs the full compatibility matrix.

@klboke klboke added run-client-e2e run-live-compat Trigger live compatibility workflow run-migration-e2e run-docker-oci-conformance Trigger Docker OCI conformance workflow labels Jul 14, 2026
@codecov

codecov Bot commented Jul 14, 2026

Copy link
Copy Markdown

Codecov Report

❌ Patch coverage is 73.05340% with 661 lines in your changes missing coverage. Please review.
✅ Project coverage is 62.10%. Comparing base (41a89a0) to head (41c264f).

Files with missing lines Patch % Lines
...boke/kkrepo/server/terraform/TerraformService.java 79.65% 66 Missing and 86 partials ⚠️
...ithub/klboke/kkrepo/server/raw/RawAssetWriter.java 41.66% 31 Missing and 4 partials ⚠️
...po/server/terraform/TerraformComponentService.java 77.77% 17 Missing and 17 partials ⚠️
...thub/klboke/kkrepo/server/raw/RawProxyService.java 32.65% 33 Missing ⚠️
...kkrepo/protocol/terraform/TerraformPathParser.java 75.96% 7 Missing and 24 partials ⚠️
...e/kkrepo/server/browse/TerraformBrowseService.java 73.07% 11 Missing and 17 partials ⚠️
...krepo/server/terraform/TerraformMetadataCache.java 63.01% 18 Missing and 9 partials ⚠️
...repo/migration/nexus/NexusApiMigrationService.java 67.90% 9 Missing and 17 partials ⚠️
.../kkrepo/server/repositories/RepositoryService.java 26.66% 16 Missing and 6 partials ⚠️
...raform/TerraformRepositoryDataMigrationWriter.java 78.64% 9 Missing and 13 partials ⚠️
... and 29 more
Additional details and impacted files
@@            Coverage Diff             @@
##             main     #124      +/-   ##
==========================================
+ Coverage   61.29%   62.10%   +0.81%     
==========================================
  Files         423      441      +18     
  Lines       34646    37045    +2399     
  Branches     5697     6173     +476     
==========================================
+ Hits        21235    23008    +1773     
- Misses       9476     9813     +337     
- Partials     3935     4224     +289     

☔ View full report in Codecov by Harness.
📢 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.
  • 📦 JS Bundle Analysis: Save yourself from yourself by tracking and limiting bundle sizes in JS merges.

@klboke klboke marked this pull request as ready for review July 14, 2026 17:11
Copilot AI review requested due to automatic review settings July 14, 2026 17:11

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

Copilot AI review requested due to automatic review settings July 15, 2026 00:35

Copilot AI 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.

Copilot was unable to review this pull request because the user who requested the review has reached their quota limit.

@klboke

klboke commented Jul 15, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 2871e48dfc

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copilot AI review requested due to automatic review settings July 15, 2026 00:52

This comment was marked as low quality.

@klboke

klboke commented Jul 15, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: e96bba7e4a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copilot AI review requested due to automatic review settings July 15, 2026 01:10

This comment was marked as low quality.

@klboke

klboke commented Jul 15, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 18dd871e43

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

Copilot AI review requested due to automatic review settings July 15, 2026 01:32

This comment was marked as low quality.

@klboke

klboke commented Jul 15, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ce4bfb29cf

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@klboke

klboke commented Jul 15, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 4b3b27a1ab

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@klboke

klboke commented Jul 15, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 06d190bcab

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@klboke

klboke commented Jul 15, 2026

Copy link
Copy Markdown
Owner Author

@codex review

Please review the current head (a5f4372), including the explicit Terraform provider protocol metadata flow, cross-platform version consistency, Nexus-compatible 5.0 default, protocol-6 live compatibility coverage, and the existing real Nexus 3.92 Terraform proxy migration E2E. All current CI checks are green and Codecov is complete.

@chatgpt-codex-connector

Copy link
Copy Markdown

Codex Review: Didn't find any major issues. What shall we delve into next?

Reviewed commit: a5f43726f6

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@klboke

klboke commented Jul 16, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 99aaea0bcd

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@klboke

klboke commented Jul 16, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 644bd82b6d

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@klboke

klboke commented Jul 16, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 1166205d20

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@klboke

klboke commented Jul 16, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: ca13380de2

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@klboke

klboke commented Jul 16, 2026

Copy link
Copy Markdown
Owner Author

@codex review

@chatgpt-codex-connector chatgpt-codex-connector Bot left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

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

💡 Codex Review

Here are some automated review suggestions for this pull request.

Reviewed commit: 41c264fb2a

ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review".

If Codex has suggestions, it will comment; otherwise it will react with 👍.

Codex can also answer questions or update the PR. Try commenting "@codex address that feedback".

@klboke klboke merged commit 4134598 into main Jul 16, 2026
23 checks passed
@klboke klboke deleted the feat/terraform-repository-support branch July 16, 2026 11:14
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

run-client-e2e run-docker-oci-conformance Trigger Docker OCI conformance workflow run-live-compat Trigger live compatibility workflow run-migration-e2e

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants