Neo4j Aura Terraform 提供程序

使用 Terraform 实现基础设施即代码 (IaC) 方法的 Neo4j AuraDB 客户,现在可以利用 Neo4j Aura Terraform 提供程序。它将与 Aura 管理 API 的交互编纂成代码,用于 AuraDB 基础设施的配置和管理。具体来说,Neo4j Aura Terraform 提供程序支持以下操作:-

  • 获取项目(租户)信息

  • 针对 AuraDB 实例执行创建、修改、暂停、恢复和删除操作

  • 获取和恢复 AuraDB 快照

  • 从快照创建 Aura 实例

在 Neo4j Labs 中发布,有助于快速开发并整合客户与维护者的建议;如果需要,客户还可以通过拉取请求 (PR) 直接提交代码。如果您想提交代码,请阅读贡献指南

希望通过足够的关注和使用,Neo4j Aura Terraform 提供程序能够从 Neo4j Labs 毕业,成为 Neo4j 的官方产品。

如前所述,Neo4j Aura Terraform 提供程序是一个 Neo4j Labs 项目。使用前请阅读本页底部的免责声明。

可用性

Neo4j Aura Terraform 提供程序可直接从 Neo4j LabsTerraform 提供程序注册中心获取

使用 Terraform 提供程序注册中心

要安装此提供程序,请将此代码复制并粘贴到您的 Terraform 配置中,并根据您的要求调整配置选项。

terraform {
  required_providers {
    neo4jaura = {
      source = "neo4j-labs/neo4jaura"
      version = "0.0.1-beta"
    }
  }
}

provider "neo4jaura" {
  # Configuration options
}

然后运行

terraform init

有关各种可能的配置选项,请参阅示例

使用 GitHub 存储库

如果您希望尝试自行开发提供程序或仅仅是想进行体验,可以选择此路径。

要求

  • Go 1.25+

  • Terraform 1.13.4+

  • 用于访问 Aura API 的 Client Id 和 Client Secret。获取方式请参考 Neo4j AuraDB 文档中的指导

安装

克隆存储库

git clone https://github.com/neo-technology/neo4j-aura-terraform-provider-poc.git

构建提供程序

cd neo4j-aura-terraform-provider-poc/
./build.sh

将 .terraformrc 文件添加到您的 $HOME 文件夹中

provider_installation {
  filesystem_mirror {
    path    = "$YOUR_HOME_PATH/.terraform.d/plugins"
  }
  direct {
    exclude = ["terraform.local/*/*"]
  }
}

示例

examples 文件夹中有几个示例。在运行任何示例之前,您需要设置 TF_VAR_client_id 和 TF_VAR_client_secret 环境变量。

export TF_VAR_client_id="$AURA_CLIENT_ID"
export TF_VAR_client_secret="$AURA_CLIENT_SECRET"

进入 examples 文件夹,然后运行示例:

/execute_example.sh <example folder name>

执行过程中可能会提示您输入值或文本。

示例中使用的 Terraform 文件可能需要根据您的 Neo4j AuraDB 环境进行编辑。特别是那些创建或修改 AuraDB 实例的文件,很可能需要修改。

贡献

我们欢迎您为改进和扩展 Neo4j Aura Terraform 提供程序的功能做出贡献。如果您希望做出贡献,请遵循以下步骤:-

  • 签署贡献者协议

  • Fork 存储库

  • 在您的 Forked 存储库中为您的贡献创建一个分支

  • 从您的 Fork 向 Neo4j Aura Terraform 提供程序存储库提交 PR

一个好的拉取请求应专注于单一功能或问题,并包含概括更改内容的明确标题。在描述中,您应该解释更改的内容和原因,并使用类似“Fixes #123”的语法引用任何相关问题。

如果您遇到困难,请先查看现有的 GitHub Issues,看看是否其他人遇到过类似问题。您也可以直接在拉取请求讨论中提问,维护者和其他贡献者可以为您提供指导。对于可能影响项目设计的复杂架构问题或决策,请在投入过多时间之前直接联系维护者以获取他们的意见。

感谢您为使其变得更好所做出的贡献!

反馈、支持和问题

欢迎所有反馈,您可以将其发布在 GitHub 存储库的 Issues 区域,或发布在 Neo4j Communities Integrations 中。社区也是提问的好地方。

Neo4j Aura Terraform 提供程序是一个 Neo4j Labs 项目,这意味着它不受 Neo4j 的官方支持。请在 GitHub 存储库中报告您遇到的任何问题

免责声明

Neo4j Aura Terraform 提供程序是一个 Neo4j Labs 项目。Neo4j Labs 项目是有用的生态系统工具,旨在造福所有 Neo4j 用户。它们不受 Neo4j 的官方支持。使用风险自负。

Neo4j Labs 项目虽然尝试应用健全的工程原则,但按“原样”提供——不对功能、API 稳定性或持续维护做任何保证、责任承担或担保。Neo4j Labs 项目的支持由社区和维护者通过 GitHub Issues 和社区论坛尽力提供。这些项目是使用公共 Neo4j API 展示如何实现特定功能的示例。

© . This site is unofficial and not affiliated with Neo4j, Inc.