private void addCapabilities()

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);
    }