-
Notifications
You must be signed in to change notification settings - Fork 387
post: Introducing Quarkus Backstage #2277
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
base: main
Are you sure you want to change the base?
Conversation
🎊 PR Preview 66bd23d has been successfully built and deployed to https://quarkus-site-pr-2277-preview.surge.sh
|
c9cf345
to
fbc2289
Compare
fbc2289
to
0ceca27
Compare
https://backstage.io[Backstage] is a great tool for organizations to survive the Microservice Architecture chaos. | ||
A tool, can't help if it's not used nor if it's feed with stale data. | ||
The https://docs.quarkiverse.io/quarkus-backstage/dev/index.html[Quarkus Backstage] project was created to leverage the power of the Quarkus build system in order to keep | ||
the catalog entities of Quarkus components up to day. In Quarkus lingo, to bring "Platform Engineer joy". |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
the catalog entities of Quarkus components up to day. In Quarkus lingo, to bring "Platform Engineer joy". | |
the catalog entities of Quarkus components up to date. In Quarkus lingo, to bring "Platform Engineer joy". |
|
||
|
||
==== As a CLI plugin ==== | ||
Let's see how to use the https://docs.quarkiverse.io/quarkus-backstage/dev/index.html[Quarkus Backstage] CLI plguin in order to generate https://backstage.io[Backstage] entities for your Quarkus application. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Let's see how to use the https://docs.quarkiverse.io/quarkus-backstage/dev/index.html[Quarkus Backstage] CLI plguin in order to generate https://backstage.io[Backstage] entities for your Quarkus application. | |
Let's see how to use the https://docs.quarkiverse.io/quarkus-backstage/dev/index.html[Quarkus Backstage] CLI plugin in order to generate https://backstage.io[Backstage] entities for your Quarkus application. |
Name Type Scope Location Description | ||
* backstage maven user io.quarkiverse.backstage:quarkus-backstage-cli:0.6.0 | ||
|
||
[WARN] 🔥 Plugin was added in the user scope, but another with the same name exists in the project scope! |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
what/why is that warning there?
|
||
[source,shell] | ||
---- | ||
quarkus backstage entities generate |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
when I run this I get:
java.lang.RuntimeException: io.quarkus.bootstrap.BootstrapException: Failed to create the application model for org.acme:hello-backstage::jar:1.0.0-SNAPSHOTnull
at io.quarkiverse.backstage.cli.common.GenerationBaseCommand.call(GenerationBaseCommand.java:113)
at io.quarkiverse.backstage.cli.common.GenerationBaseCommand.call(GenerationBaseCommand.java:30)
at picocli.CommandLine.executeUserObject(CommandLine.java:2045)
at picocli.CommandLine.access$1500(CommandLine.java:148)
at picocli.CommandLine$RunLast.executeUserObjectOfLastSubcommandWithSameParent(CommandLine.java:2465)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2457)
at picocli.CommandLine$RunLast.handle(CommandLine.java:2419)
at picocli.CommandLine$AbstractParseResultHandler.execute(CommandLine.java:2277)
at picocli.CommandLine$RunLast.execute(CommandLine.java:2421)
at io.quarkus.picocli.runtime.PicocliRunner$EventExecutionStrategy.execute(PicocliRunner.java:26)
at picocli.CommandLine.execute(CommandLine.java:2174)
at io.quarkus.picocli.runtime.PicocliRunner.run(PicocliRunner.java:40)
at io.quarkus.runtime.ApplicationLifecycleManager.run(ApplicationLifecycleManager.java:143)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:77)
at io.quarkus.runtime.Quarkus.run(Quarkus.java:48)
at io.quarkus.runner.GeneratedMain.main(Unknown Source)
Caused by: io.quarkus.bootstrap.BootstrapException: Failed to create the application model for org.acme:hello-backstage::jar:1.0.0-SNAPSHOTnull
at io.quarkus.bootstrap.BootstrapAppModelFactory.resolveAppModelForWorkspace(BootstrapAppModelFactory.java:280)
at io.quarkus.bootstrap.BootstrapAppModelFactory.resolveAppModel(BootstrapAppModelFactory.java:219)
at io.quarkus.bootstrap.app.QuarkusBootstrap.bootstrap(QuarkusBootstrap.java:138)
at io.quarkiverse.backstage.cli.common.GenerationBaseCommand.call(GenerationBaseCommand.java:102)
... 15 more
Caused by: io.quarkus.bootstrap.resolver.maven.BootstrapMavenException: Failed to resolve artifact org.acme:hello-backstage:jar:1.0.0-SNAPSHOT
at io.quarkus.bootstrap.resolver.BootstrapAppModelResolver.resolve(BootstrapAppModelResolver.java:591)
at io.quarkus.bootstrap.resolver.BootstrapAppModelResolver.resolve(BootstrapAppModelResolver.java:441)
at io.quarkus.bootstrap.resolver.BootstrapAppModelResolver.doResolveModel(BootstrapAppModelResolver.java:297)
at io.quarkus.bootstrap.resolver.BootstrapAppModelResolver.resolveManagedModel(BootstrapAppModelResolver.java:206)
at io.quarkus.bootstrap.BootstrapAppModelFactory.resolveAppModelForWorkspace(BootstrapAppModelFactory.java:269)
... 18 more
Caused by: org.eclipse.aether.resolution.ArtifactResolutionException: The following artifacts could not be resolved: org.acme:hello-backstage:jar:1.0.0-SNAPSHOT (absent): Could not find artifact org.acme:hello-backstage:jar:1.0.0-SNAPSHOT
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:473)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifacts(DefaultArtifactResolver.java:261)
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolveArtifact(DefaultArtifactResolver.java:243)
at org.eclipse.aether.internal.impl.DefaultRepositorySystem.resolveArtifact(DefaultRepositorySystem.java:278)
at io.quarkus.bootstrap.resolver.BootstrapAppModelResolver.resolve(BootstrapAppModelResolver.java:586)
... 22 more
Caused by: org.eclipse.aether.transfer.ArtifactNotFoundException: Could not find artifact org.acme:hello-backstage:jar:1.0.0-SNAPSHOT
at org.eclipse.aether.internal.impl.DefaultArtifactResolver.resolve(DefaultArtifactResolver.java:464)
... 26 more
should there be a mvn package instruction before this?
.... | ||
|
||
|
||
At the time of writing the extension is not part of the Extension catalog, and thus it needs to be added using |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
is it added by now?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Yes, let's get it in. It's so easy to do ...
[source,shell] | ||
---- | ||
quarkus ext add smallrye-openapi | ||
echo "quarkus.smallrye-openapi.store-schema-directory=." >> src/main/resources/application.properties |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
echo "quarkus.smallrye-openapi.store-schema-directory=." >> src/main/resources/application.properties | |
quarkus config set quarkus.smallrye-openapi.store-schema-directory . |
.... | ||
|
||
|
||
Let's rebuild the application and see how our `catalog-info.yaml` file looks like: |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I get:
quarkus backstage entities generate
2025-04-25 12:09:50,811 WARN [io.qua.run.con.ConfigRecorder] (main) Build time property cannot be changed at runtime:
- quarkus.ide.target is set to 'vscode' but it is build time fixed to 'auto'. Did you change the property quarkus.ide.target after building the application?
java.lang.RuntimeException: io.quarkus.builder.BuildException: Build failure: Build failed due to errors
[error]: Build step io.quarkus.deployment.index.ApplicationArchiveBuildStep#build threw an exception: org.jboss.jandex.UnsupportedVersion: Can't read Jandex index from /META-INF/jandex.idx: Can't read index version 13; this IndexReader only supports index versions 2-3,6-12
at io.quarkus.deployment.index.IndexingUtil$MetaInfJandexReader.apply(IndexingUtil.java:299)
at io.quarkus.deployment.index.IndexingUtil$MetaInfJandexReader.apply(IndexingUtil.java:275)
need a different version?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
i completely missed this until today :/
it looks good but I'm not able to complete the steps as hitting jandex errors + added a few typo fixes.
** If you are updating a guide, please submit your pull request to the main repository: https://github.com/quarkusio/quarkus/tree/main/docs/src/main/asciidoc **