dekorateio / dekorate

Tools for generating Kubernetes related manifests.
Apache License 2.0
471 stars 101 forks source link

Dekorate only allows providing the image info via suppliers, not configurators #1147

Open Sgitario opened 1 year ago

Sgitario commented 1 year ago

We can't provide a custom image info configuration using the Configurator class:

public class ApplyImageInfoConfigurator extends Configurator<ImageConfigurationFluent<?>> {

    @Override
    public void visit(ImageConfigurationFluent<?> image) {
       // ...
    }
}

But it works when using ConfigurationSupplier:

public class ApplyImageInfoConfigurationSupplier extends ConfigurationSupplier<ImageConfiguration> {

    public ApplyImageInfoConfigurationSupplier(ContainerImageInfoBuildItem image, String defaultRegistry) {
        super(create(image, defaultRegistry));
    }

    private static ImageConfigurationBuilder create(ContainerImageInfoBuildItem image, String defaultRegistry) {
        ImageConfigurationBuilder builder = new ImageConfigurationBuilder();
        // ..
        return builder;
    }

    @Override
    public boolean isExplicit() {
        return true;
    }
}