This architecture uses Oracle Autonomous Data Warehouse and creates a database user with the necessary permissions to perform graph operations. The architecture also includes Graph Studio Notebooks for easy graph data preparation and visualization.
The repository contains the Terraform code to create a Resource Manager stack, that creates all the required resources and configures the created resources to add a graph user and the required BANK_ACCOUNTS and BANK_TXNS tables.
- Permission to
managethe following types of resources in your Oracle Cloud Infrastructure tenancy:autonomous-database-family,orm-family,virtual-network-family,network-security-groups,bastion,bastion-sessionandinstance-family,. - Permission to
usethe following types of resources in your Oracle Cloud Infrastructure tenancy:tag-namespaces. - Quota to create one Autonomous Database on Shared Infrastructure instance with at least 1 OCPU and 1 Tb storage.
| Component | Description |
|---|---|
| Autonomous Data Warehouse | Platform for management and analysis of graph data |
| Identity Policy | Statements to grant the user access to the ADW and tags |
- Click Deploy to Oracle Cloud. If you aren't already signed in, when prompted, enter the tenancy and user credentials.
- Review and accept the terms and conditions
- Select the region where you want to deploy the stack.
- Follow the on-screen prompts and instructions to create the stack.
- Wait for the job to be completed, and review the plan. To make any changes, return to the Stack Details page, click Edit Stack, and make the required changes. Then, run the Plan action again.
- If no further changes are necessary, return to the Stack Details page, click Terraform Actions, and select Apply.
-
Perform pre-deployment setup described here.
-
Clone the Module with the following commands to make a local copy fo the repo:
git clone https://github.com/oracle-quickstart/oci-arch-graph.git cd oci-arch-graph/ ls -
To deploy directly with the terraform CLI, rename
terraform.tfvars.templatetoterraform.tfvarsand set all the variables. Runterraform initand thenterraform apply.Note, the instructions below are to build a
.zipfile from your local copy for use in ORM. If you do not want to use ORM and instead deploy with the terraform CLI, then you need to renameprovider.tf.cli -> provider.tf. This is because authentication works slightly differently in ORM vs the CLI. This file is ignored by the build process below. Make sure you have terraform v1.0+ cli installed and accessible from your terminal. -
In order to
buildthe zip file with the latest changes you made to this code, you can simply go tobuild-ormfolder and use terraform to generate a new zip file:On the first run you are required to initialize the terraform modules used by the template with
terraform initcommand:terraform init
-
Once terraform is initialized, run
terraform applyto generate ORM zip file:terraform apply data.archive_file.generate_zip: Refreshing state... Apply complete! Resources: 0 added, 0 changed, 0 destroyed.This command will package the content of
terraformfolder into a zip and will store it in thebuild-orm\distfolder. You can check the content of the file by runningunzip -l dist/orm-graph-stack.zip -
Login to Oracle Cloud Infrastructure to import the stack
Home > Developer Services > Resource Manager > Stacks > Create Stack -
Upload the
orm-graph-stack.zipand provide a name and description for the stack -
Configure the Stack. The UI will present the variables to the user dynamically, based on their selections.
-
Click Next and Review the configuration.
-
Click Create button to confirm and create your ORM Stack.
-
On Stack Details page, you can now run
Terraformcommands to manage your infrastructure. You typically start with a plan then run apply to create and make changes to the infrastructure. More details below:TERRAFORM ACTIONS DESCRIPTION Plan terraform planis used to create an execution plan. This command is a convenient way to check the execution plan prior to make any changes to the infrastructure resources.Apply terraform applyis used to apply the changes required to reach the desired state of the configuration described by the template.Destroy terraform destroyis used to destroy the Terraform-managed infrastructure.
This project welcomes contributions from the community. Before submitting a pull request, please review our contribution guide
Please consult the security guide for our responsible security vulnerability disclosure process