Skip to content

Automate the generation of chainsaw testing values #47

@NiccoloFei

Description

@NiccoloFei

In our smoke tests we require having access to a certain set of runtime values that differ depending on the extension being tested, such as:

  • name and sql_name of the extension
  • tag of the extension image
  • the version of the extension
  • the base image of the extension image, (e.g the "minimal" image where the extension should be installed)
  • GUCs that should be set in PG for the target extensions, such as shared_preload_libraries
  • custom extension_control_path, dynamic_library_path, ld_library_path
  • and more..

Some of these are retrievable from the extension's metadata.hcl, others are only known after building the extension's image.

With chainsaw, you can pass arbitrary values when running tests using the --values flag, in the form of a values.yaml YAML file.
Values will be available under the $values binding.

Currently these values are being generated in the CI, but we should also provide a way to easily generate them locally.
This could be done via a new dagger module that properly parses a target extension's metadata to create a values.yaml ready to be used with chainsaw.
By default we should let the tool use the current latest extension's image (e.g the one defined in the metadata), but it should also be possible to point it to a custom extension's image in order to generate the values for that one.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions