Skip to content

Add Plugin.plugin, PinnedVersion.plugin and Runtime.plugin resources - #169

Merged
jonasz-lasut merged 3 commits into
upbound:mainfrom
jonasz-lasut:vault_plugin
Sep 15, 2026
Merged

jonasz-lasut merged 3 commits into
upbound:mainfrom
jonasz-lasut:vault_plugin

Conversation

@jonasz-lasut

Copy link
Copy Markdown
Contributor

Description of your changes

Updates setup.sh to use custom values.yaml for helm deployment to support e2e tests for PinnedVersion
Fixes #94

I have:

  • Read and followed Crossplane's contribution process.
  • Run make reviewable test to ensure this PR is ready for review.

How has this code been tested

/test-examples="examples/cluster/plugin/plugin.yaml"
/test-examples="examples/cluster/plugin/runtime.yaml"
/test-examples="examples/cluster/plugin/pinnedversion.yaml"

Signed-off-by: Jonasz Łasut-Balcerzak <jonasz@upbound.io>
Move Plugin from the root vault group into plugin.vault.upbound.io
next to PinnedVersion and Runtime. Upjet derives the group from the
words after the provider prefix, so the single-word vault_plugin fell
back to the root group; a ShortGroup configurator fixes that.

vault_plugin_runtime is a Terraform Plugin Framework resource in the
fork, so register it in the framework external-name map; listed in
the SDK map, the provider panicked at startup. Give it a templated
"<type>/<name>" ID: the framework Observe always reads with the ID
from GetIDFn, and the resource rejects the empty one produced by
IdentifierFromProvider.

Replace the examples with self-contained, uptestable ones for both
scopes: a community vault-plugin-auth-jwt registration, a pinned
version bundling its own plugin, and a container runtime. Vault only
accepts a plugin whose command exists in plugin_directory, so the e2e
Helm values add that directory with an init container that downloads
the plugin binary. setup.sh passes the values file and matches only
the STATUS line when checking for an existing release.

Signed-off-by: Jonasz Łasut-Balcerzak <jonasz@upbound.io>
@jonasz-lasut

Copy link
Copy Markdown
Contributor Author

/test-examples="examples/cluster/plugin/plugin.yaml"

@jonasz-lasut

Copy link
Copy Markdown
Contributor Author

/test-examples="examples/cluster/plugin/runtime.yaml"

@jonasz-lasut

Copy link
Copy Markdown
Contributor Author

/test-examples="examples/cluster/plugin/pinnedversion.yaml"

@jonasz-lasut
jonasz-lasut marked this pull request as ready for review September 10, 2026 09:10

@sergenyalcin sergenyalcin 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.

Thanks @jonasz-lasut LGTM!

Comment thread config/plugin/config.go

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.

We may consider adding a license statement.

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'll merge after CI passes, added license

@jonasz-lasut
jonasz-lasut merged commit 7089949 into upbound:main Sep 15, 2026
8 checks passed
@jonasz-lasut
jonasz-lasut deleted the vault_plugin branch September 15, 2026 10:07
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.

Create a Plugin CRD

2 participants