in support/camel-k-maven-plugin/src/main/java/org/apache/camel/k/tooling/maven/GenerateCatalogMojo.java [464:559]
private void addCapabilities(RuntimeSpec.Builder runtimeSpec, CamelCatalogSpec.Builder catalogSpec) {
List<Artifact> artifacts = new ArrayList<>();
artifacts.add(Artifact.from("org.apache.camel.k", "camel-k-cron"));
addCapabilityAndDependecies(runtimeSpec, catalogSpec, "cron", artifacts, true);
artifacts.clear();
artifacts.add(Artifact.from("org.apache.camel.quarkus", "camel-quarkus-microprofile-health"));
List<Property> properties = new ArrayList<>();
properties.add(Property.from("defaultLivenessProbePath", "/q/health/live"));
properties.add(Property.from("defaultReadinessProbePath", "/q/health/ready"));
properties.add(Property.from("defaultStartupProbePath", "/q/health/started"));
addCapability(runtimeSpec, catalogSpec, "health", artifacts, new ArrayList<>(), new ArrayList<>(), properties, false);
artifacts.clear();
artifacts.add(Artifact.from("org.apache.camel.quarkus", "camel-quarkus-platform-http"));
addCapabilityAndDependecies(runtimeSpec, catalogSpec, "platform-http", artifacts, false);
artifacts.clear();
artifacts.add(Artifact.from("org.apache.camel.quarkus", "camel-quarkus-rest"));
artifacts.add(Artifact.from("org.apache.camel.quarkus", "camel-quarkus-platform-http"));
addCapabilityAndDependecies(runtimeSpec, catalogSpec, "rest", artifacts, false);
artifacts.clear();
artifacts.add(Artifact.from("org.apache.camel.quarkus", "camel-quarkus-microprofile-fault-tolerance"));
addCapabilityAndDependecies(runtimeSpec, catalogSpec, "circuit-breaker", artifacts, false);
// Telemetry capability
artifacts.clear();
artifacts.add(Artifact.from("org.apache.camel.quarkus", "camel-quarkus-opentelemetry"));
properties.clear();
properties.add(Property.from("quarkus.otel.exporter.otlp.traces.endpoint", "${camel.k.telemetry.endpoint}"));
properties.add(Property.from("quarkus.otel.resource.attributes", "${camel.k.telemetry.serviceName}"));
properties.add(Property.from("quarkus.otel.traces.sampler", "${camel.k.telemetry.sampler}"));
properties.add(Property.from("quarkus.otel.traces.sampler.ratio", "${camel.k.telemetry.samplerRatio}"));
properties.add(Property.from("quarkus.otel.traces.sampler.parent-based", "${camel.k.telemetry.samplerParentBased}"));
addCapability(runtimeSpec, catalogSpec, "telemetry", artifacts, properties, new ArrayList<>(), new ArrayList<>(), false);
artifacts.clear();
artifacts.add(Artifact.from("org.apache.camel.k", "camel-k-resume-kafka"));
addCapabilityAndDependecies(runtimeSpec, catalogSpec, "resume-kafka", artifacts, true);
// Master capability
artifacts.clear();
artifacts.add(Artifact.from("org.apache.camel.k", "camel-k-master"));
properties.clear();
properties.add(Property.from("quarkus.camel.cluster.kubernetes.resource-name", "${camel.k.master.resourceName}"));
properties.add(Property.from("quarkus.camel.cluster.kubernetes.resource-type", "${camel.k.master.resourceType}"));
properties.add(Property.from("quarkus.camel.cluster.kubernetes.labels.\"${camel.k.master.labelKey}\"", "${camel.k.master.labelValue}"));
addCapability(runtimeSpec, catalogSpec, "master", artifacts, properties, new ArrayList<>(), new ArrayList<>(), true);
artifacts.clear();
artifacts.add(Artifact.from("org.apache.camel.quarkus", "camel-quarkus-hashicorp-vault"));
addCapabilityAndDependecies(runtimeSpec, catalogSpec, "hashicorp-vault", artifacts, false);
artifacts.clear();
artifacts.add(Artifact.from("org.apache.camel.quarkus", "camel-quarkus-azure-key-vault"));
addCapabilityAndDependecies(runtimeSpec, catalogSpec, "azure-key-vault", artifacts, false);
artifacts.clear();
artifacts.add(Artifact.from("org.apache.camel.quarkus", "camel-quarkus-aws-secrets-manager"));
addCapabilityAndDependecies(runtimeSpec, catalogSpec, "aws-secrets-manager", artifacts, false);
artifacts.clear();
artifacts.add(Artifact.from("org.apache.camel.quarkus", "camel-quarkus-google-secret-manager"));
addCapabilityAndDependecies(runtimeSpec, catalogSpec, "gcp-secret-manager", artifacts, false);
artifacts.clear();
artifacts.add(Artifact.from("org.apache.camel.k", "camel-k-knative-impl"));
artifacts.add(Artifact.from("org.apache.camel.quarkus", "camel-quarkus-knative"));
addCapabilityAndDependecies(runtimeSpec, catalogSpec, "knative", artifacts, false);
artifacts.clear();
artifacts.add(Artifact.from("io.quarkus", "quarkus-micrometer-registry-prometheus"));
artifacts.add(Artifact.from("org.apache.camel.quarkus", "camel-quarkus-micrometer"));
addCapabilityAndDependecies(runtimeSpec, catalogSpec, "prometheus", artifacts, false);
artifacts.clear();
artifacts.add(Artifact.from("org.apache.camel.quarkus", "camel-quarkus-management"));
artifacts.add(Artifact.from("org.apache.camel.quarkus", "camel-quarkus-jaxb"));
artifacts.add(Artifact.from("org.jolokia", "jolokia-agent-jvm", "javaagent"));
addCapabilityAndDependecies(runtimeSpec, catalogSpec, "jolokia", artifacts, true);
artifacts.clear();
properties.clear();
properties.add(Property.from("quarkus.log.level", "${camel.k.logging.level}"));
properties.add(Property.from("quarkus.console.color", "${camel.k.logging.color}"));
properties.add(Property.from("quarkus.log.console.format", "${camel.k.logging.format}"));
properties.add(Property.from("quarkus.log.console.json", "${camel.k.logging.json}"));
properties.add(Property.from("quarkus.log.console.json.pretty-print", "${camel.k.logging.jsonPrettyPrint}"));
addCapability(runtimeSpec, catalogSpec, "logging", artifacts, properties, new ArrayList<>(), new ArrayList<>(), false);
artifacts.clear();
properties.clear();
properties.add(Property.from("quarkus.kubernetes-service-binding.enabled", "${camel.k.serviceBinding.enabled}"));
addCapability(runtimeSpec, catalogSpec, "service-binding", artifacts, properties, new ArrayList<>(), new ArrayList<>(), false);
}