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

Apicurio Devservice can not be configured with apicurio-registry-mem images from outside of DockerHub #24308

Closed
sombraglez opened this issue Mar 14, 2022 · 1 comment · Fixed by #26624
Assignees
Labels
area/kafka kind/bug Something isn't working
Milestone

Comments

@sombraglez
Copy link

Describe the bug

Apicurio DevServices requires images from apicurio/apicurio-registry-mem. Due to this constraint we cannot use the Apicurio images copied to our own container registry.
In order to avoid reaching our DockerHub download limits, we try to use as much as possible images copied to our own registry.

Expected behavior

It should be possible to start the Apicurio DevService using Apicurio images from any repository

Actual behavior

ERROR [io.qua.dep.dev.IsolatedDevModeMain] (main) Failed to start quarkus: java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
        [error]: Build step io.quarkus.apicurio.registry.avro.DevServicesApicurioRegistryProcessor#startApicurioRegistryDevService threw an exception: java.lang.RuntimeException: java.lang.IllegalArgumentException: Only apicurio/apicurio-registry-mem images are supported
        at io.quarkus.apicurio.registry.avro.DevServicesApicurioRegistryProcessor.startApicurioRegistryDevService(DevServicesApicurioRegistryProcessor.java:92)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
        at java.base/jdk.internal.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:77)
        at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
        at java.base/java.lang.reflect.Method.invoke(Method.java:568)
        at io.quarkus.deployment.ExtensionLoader$2.execute(ExtensionLoader.java:882)
        at io.quarkus.builder.BuildContext.run(BuildContext.java:277)
        at org.jboss.threads.ContextHandler$1.runWith(ContextHandler.java:18)
        at org.jboss.threads.EnhancedQueueExecutor$Task.run(EnhancedQueueExecutor.java:2449)
        at org.jboss.threads.EnhancedQueueExecutor$ThreadBody.run(EnhancedQueueExecutor.java:1478)
        at java.base/java.lang.Thread.run(Thread.java:833)
        at org.jboss.threads.JBossThread.run(JBossThread.java:501)
Caused by: java.lang.IllegalArgumentException: Only apicurio/apicurio-registry-mem images are supported
        at io.quarkus.apicurio.registry.avro.DevServicesApicurioRegistryProcessor$ApicurioRegistryContainer.<init>(DevServicesApicurioRegistryProcessor.java:273)
        at io.quarkus.apicurio.registry.avro.DevServicesApicurioRegistryProcessor.lambda$startApicurioRegistry$1(DevServicesApicurioRegistryProcessor.java:165)
        at java.base/java.util.Optional.orElseGet(Optional.java:364)
        at io.quarkus.apicurio.registry.avro.DevServicesApicurioRegistryProcessor.startApicurioRegistry(DevServicesApicurioRegistryProcessor.java:162)
        at io.quarkus.apicurio.registry.avro.DevServicesApicurioRegistryProcessor.startApicurioRegistryDevService(DevServicesApicurioRegistryProcessor.java:83)

How to Reproduce?

  1. In the Avro Kafka quickstart project (https://github.com/quarkusio/quarkus-quickstarts/tree/main/kafka-avro-schema-quickstart) configure the following property in the application.properties

quarkus.apicurio-registry.devservices.image-name=quay.io/apicurio/apicurio-registry-mem:2.2.1.Final
You can substitute this image for any similar images stored in a container registry different from DockerHub

  1. Start the quickstart service with mvn quarkus:dev

Output of uname -a or ver

No response

Output of java -version

11.0.14

GraalVM version (if different from Java)

No response

Quarkus version or git rev

2.7.4.Final

Build tool (ie. output of mvnw --version or gradlew --version)

Apache Maven 3.8.2

Additional information

There is an solved issue similar to this one but for the Kafka DevService : #23978

@sombraglez sombraglez added the kind/bug Something isn't working label Mar 14, 2022
@quarkus-bot
Copy link

quarkus-bot bot commented Apr 4, 2022

/cc @alesj, @ozangunalp

sombraglez added a commit to sombraglez/quarkus that referenced this issue Jul 8, 2022
sombraglez added a commit to sombraglez/quarkus that referenced this issue Jul 11, 2022
Ladicek pushed a commit to sombraglez/quarkus that referenced this issue Jul 12, 2022
…me dev services

This commit improves container image name checks for these dev services:

- Apicurio Registry
- ActiveMQ Artemis (AMQP)
- RabbitMQ

These dev services used to verify that the image repository is equal
to a hard-coded string. This commit changes that to verify that
the image repository _ends with_ the same hard-coded string, which
allows for repository namespacing in private container registries.
Ladicek pushed a commit to sombraglez/quarkus that referenced this issue Jul 12, 2022
…me dev services

This commit improves container image name checks for these dev services:

- Apicurio Registry
- ActiveMQ Artemis (AMQP)
- RabbitMQ

These dev services used to verify that the image repository is equal
to a hard-coded string. This commit changes that to verify that
the image repository _ends with_ the same hard-coded string, which
allows for repository namespacing in private container registries.
@quarkus-bot quarkus-bot bot added this to the 2.11 - main milestone Jul 12, 2022
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
area/kafka kind/bug Something isn't working
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

3 participants