Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add deprecations and FileSeedProvider #1909

Merged
merged 10 commits into from
Oct 31, 2024
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