Chapter 163. IPFS Component

Available as of Camel version 2.23

The ipfs: component provides access to the Interplanetary File System (IPFS).

Maven users will need to add the following dependency to their pom.xml for this component:

<dependency>
    <groupId>org.apache.camel</groupId>
    <artifactId>camel-ipfs</artifactId>
    <version>x.x.x</version>
    <!-- use the same version as your Camel core version -->
</dependency>

163.1. URI format

ipfs://cmd?options

163.2. Options

The IPFS component has no options.

The IPFS endpoint is configured using URI syntax:

ipfs:host:port/cmd

with the following path and query parameters:

163.2.1. Path Parameters (1 parameters):

NameDescriptionDefaultType

ipfsCmd

The ipfs command

 

String

163.2.2. Query Parameters (2 parameters):

NameDescriptionDefaultType

outdir (producer)

The ipfs output directory

 

Path

synchronous (advanced)

Sets whether synchronous processing should be strictly used, or Camel is allowed to use asynchronous processing (if supported).

false

boolean

163.3. Spring Boot Auto-Configuration

The component supports 2 options, which are listed below.

NameDescriptionDefaultType

camel.component.ipfs.enabled

Whether to enable auto configuration of the ipfs component. This is enabled by default.

 

Boolean

camel.component.ipfs.resolve-property-placeholders

Whether the component should resolve property placeholders on itself when starting. Only properties which are of String type can use property placeholders.

true

Boolean

163.4. Karaf support

Actually this component is not supported in Karaf

163.5. Message Headers

<TODO><title>Samples</title>

In this sample we add a file to IPFS, get a file from IPFS and finally access the content of an IPFS file.

from("direct:start").to("ipfs:add")
from("direct:start").to("ipfs:get?outdir=target")
from("direct:start").to("ipfs:cat");
</TODO>