Skip to content
99 changes: 58 additions & 41 deletions modules/ROOT/pages/clustering/databases.adoc
Original file line number Diff line number Diff line change
Expand Up @@ -467,52 +467,30 @@ neo4j@neo4j> SHOW DATABASES;

To determine the cause of the problem, it is recommended to look at the `debug.log`.

==== Seed providers
[[file-seed-provider]]
==== FileSeedProvider

label:new[Introduced in 5.26], the `FileSeedProvider` supports:

** `file:`

[[url-connection-seed-provider]]
==== URLConnectionSeedProvider

The `URLConnectionSeedProvider` supports the following:

** `file:`
** `file:` label:deprecated[Deprecated in 5.26]
** `ftp:`
** `http:`
** `https:`

The `S3SeedProvider` supports:

** `s3:`

[NOTE]
====
Neo4j 5 comes bundled with necessary libraries for AWS S3 connectivity.
Therefore, if you use `S3SeedProvider`,`aws cli` is not required but can be used with the `CloudSeedProvider`.
====
[[cloud-seed-provider]]
==== CloudSeedProvider

The `S3SeedProvider` requires additional configuration.
This is specified with the `seedConfig` option.
This option expects a comma-separated list of configurations.
Each configuration value is specified as a name followed by `=` and the value, as such:
label:new[Introduced in 5.25], the `CloudSeedProvider` supports:

[source, cypher, role="noplay"]
----
CREATE DATABASE foo OPTIONS { existingData: 'use', seedURI: 's3:/myBucket/myBackup.backup', seedConfig: 'region=eu-west-1' }
----

`S3SeedProvider` also requires passing in credentials.
These are specified with the `seedCredentials` option.
Seed credentials are securely passed from the Cypher command to each server hosting the database.
For this to work, Neo4j on each server in the cluster must be configured with identical keystores.
This is identical to the configuration required by remote aliases, see xref:database-administration/aliases/remote-database-alias-configuration.adoc#remote-alias-config-DBMS_admin-A[Configuration of DBMS with remote database alias].
If this configuration is not performed, the `seedCredentials` option fails.

[source, cypher, role="noplay"]
----
CREATE DATABASE foo OPTIONS { existingData: 'use', seedURI: 's3:/myBucket/myBackup.backup', seedConfig: 'region=eu-west-1', seedCredentials: [accessKey];[secretKey] }
----
Where `accessKey` and `secretKey` are provided by AWS.

The `CloudSeedProvider` supports:

** `s3:`
** `gs:`
** `s3:`
** `gs:`
** `azb:`

[.tabbed-example]
Expand Down Expand Up @@ -558,6 +536,43 @@ CREATE DATABASE foo OPTIONS { existingData: 'use', seedURI: 'azb://myStorageAcco
======
=====

[[s3-seed-provider]]
==== S3SeedProvider

The `S3SeedProvider` supports:

** `s3:` label:deprecated[Deprecated in 5.26]


[NOTE]
====
Neo4j 5 comes bundled with necessary libraries for AWS S3 connectivity.
Therefore, if you use `S3SeedProvider`,`aws cli` is not required but can be used with the `CloudSeedProvider`.
====

The `S3SeedProvider` requires additional configuration.
This is specified with the `seedConfig` option.
This option expects a comma-separated list of configurations.
Each configuration value is specified as a name followed by `=` and the value, as such:

[source, cypher, role="noplay"]
----
CREATE DATABASE foo OPTIONS { existingData: 'use', seedURI: 's3:/myBucket/myBackup.backup', seedConfig: 'region=eu-west-1' }
----

`S3SeedProvider` also requires passing in credentials.
These are specified with the `seedCredentials` option.
Seed credentials are securely passed from the Cypher command to each server hosting the database.
For this to work, Neo4j on each server in the cluster must be configured with identical keystores.
This is identical to the configuration required by remote aliases, see xref:database-administration/aliases/remote-database-alias-configuration.adoc#remote-alias-config-DBMS_admin-A[Configuration of DBMS with remote database alias].
If this configuration is not performed, the `seedCredentials` option fails.

[source, cypher, role="noplay"]
----
CREATE DATABASE foo OPTIONS { existingData: 'use', seedURI: 's3:/myBucket/myBackup.backup', seedConfig: 'region=eu-west-1', seedCredentials: [accessKey];[secretKey] }
----
Where `accessKey` and `secretKey` are provided by AWS.


==== Seed provider reference

Expand All @@ -568,7 +583,8 @@ CREATE DATABASE foo OPTIONS { existingData: 'use', seedURI: 'azb://myStorageAcco
| URI example

| `file:`
| `URLConnectionSeedProvider`
| `URLConnectionSeedProvider` label:deprecated[Deprecated in 5.26], +
`FileSeedProvider` label:new[Introduced in 5.26]
| `file:/tmp/backup1.backup`

| `ftp:`
Expand All @@ -584,15 +600,16 @@ CREATE DATABASE foo OPTIONS { existingData: 'use', seedURI: 'azb://myStorageAcco
| `\https://myhttp.com/backups/backup1.backup`

| `s3:`
| `S3SeedProvider`, `CloudSeedProvider`
| `S3SeedProvider` label:deprecated[Deprecated in 5.26], +
`CloudSeedProvider` label:new[Introduced in 5.25]
| `s3://mybucket/backups/backup1.backup`

| `gs:`
| `CloudSeedProvider`
| `CloudSeedProvider` label:new[Introduced in 5.25]
| `gs://mybucket/backups/backup1.backup`

| `azb:`
| `CloudSeedProvider`
| `CloudSeedProvider` label:new[Introduced in 5.25]
| `azb://mystorageaccount.blob/backupscontainer/backup1.backup`
|===

Expand Down