IPFS

Since Camel 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>

URI format

ipfs://cmd?options

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:

Path Parameters (1 parameters):

Name Description Default Type

ipfsCmd

The ipfs command

String

Query Parameters (2 parameters):

Name Description Default Type

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

Spring Boot Auto-Configuration

When using Spring Boot make sure to use the following Maven dependency to have support for auto configuration:

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

The component supports 2 options, which are listed below.

Name Description Default Type

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

Karaf support

Actually this component is not supported in Karaf

Message Headers

Samples

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