Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Mark base image as experimental #1453

Merged
merged 1 commit into from
Dec 20, 2024

Conversation

jonjohnsonjr
Copy link
Contributor

This introduces an apko:experimental struct tag so that we can ignore it in our reflection-based terraform schema generation in terraform-provider-apko.

This wasn't a problem before because we ignored pointers, but when we moved GID to a *uint32, we started ignoring it in our terraform provider. Fixing that (by dereferencing pointers in the reflection code) had an unfortunate effect of bringing the base image stuff into the generated schema, which I don't want to do yet because it's experimental. Adding this tag lets me filter it out without hardcoding specific field names (ew).

This introduces an apko:experimental struct tag so that we can ignore it
in our reflection-based terraform schema generation in
terraform-provider-apko.

This wasn't a problem before because we ignored pointers, but when we
moved GID to a *uint32, we started ignoring it in our terraform
provider. Fixing that (by dereferencing pointers in the reflection code)
had an unfortunate effect of bringing the base image stuff into the
generated schema, which I don't want to do yet because it's
experimental. Adding this tag lets me filter it out without hardcoding
specific field names (ew).

Signed-off-by: Jon Johnson <[email protected]>
@imjasonh imjasonh enabled auto-merge (squash) December 20, 2024 19:33
@imjasonh imjasonh merged commit ff18904 into chainguard-dev:main Dec 20, 2024
19 checks passed
jonjohnsonjr added a commit to jonjohnsonjr/terraform-provider-apko that referenced this pull request Dec 20, 2024
See chainguard-dev/apko#1453

Since GID is optional and 0 is a valid value, we needed a way to
distinguish between unset and 0, so GID became a pointer.

This broke the reflect code (labeled HACK) that punted on pointers.

I've updated that code to handle pointers but also to ignore any fields
marked with `apko:"experimental"` because I don't want to pollute the
schema with them.

Signed-off-by: Jon Johnson <[email protected]>
jonjohnsonjr added a commit to jonjohnsonjr/terraform-provider-apko that referenced this pull request Dec 20, 2024
See chainguard-dev/apko#1453

Since GID is optional and 0 is a valid value, we needed a way to
distinguish between unset and 0, so GID became a pointer.

This broke the reflect code (labeled HACK) that punted on pointers.

I've updated that code to handle pointers but also to ignore any fields
marked with `apko:"experimental"` because I don't want to pollute the
schema with them.

Signed-off-by: Jon Johnson <[email protected]>
jonjohnsonjr added a commit to jonjohnsonjr/terraform-provider-apko that referenced this pull request Dec 30, 2024
See chainguard-dev/apko#1453

Since GID is optional and 0 is a valid value, we needed a way to
distinguish between unset and 0, so GID became a pointer.

This broke the reflect code (labeled HACK) that punted on pointers.

I've updated that code to handle pointers but also to ignore any fields
marked with `apko:"experimental"` because I don't want to pollute the
schema with them.

Signed-off-by: Jon Johnson <[email protected]>
jonjohnsonjr added a commit to jonjohnsonjr/terraform-provider-apko that referenced this pull request Dec 30, 2024
See chainguard-dev/apko#1453

Since GID is optional and 0 is a valid value, we needed a way to
distinguish between unset and 0, so GID became a pointer.

This broke the reflect code (labeled HACK) that punted on pointers.

I've updated that code to handle pointers but also to ignore any fields
marked with `apko:"experimental"` because I don't want to pollute the
schema with them.

Signed-off-by: Jon Johnson <[email protected]>
jonjohnsonjr added a commit to chainguard-dev/terraform-provider-apko that referenced this pull request Dec 30, 2024
Stealing most of this from
#434 but
cleaned up the reflection code.

    Handle experiment tag and pointers in reflect
    
    See chainguard-dev/apko#1453
    
    Since GID is optional and 0 is a valid value, we needed a way to
    distinguish between unset and 0, so GID became a pointer.
    
    This broke the reflect code (labeled HACK) that punted on pointers.
    
I've updated that code to handle pointers but also to ignore any fields
marked with `apko:"experimental"` because I don't want to pollute the
    schema with them.

---------

Signed-off-by: Josh Dolitsky <[email protected]>
Signed-off-by: Jon Johnson <[email protected]>
Co-authored-by: Josh Dolitsky <[email protected]>
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.

2 participants