Resource Manager

This topic gives you an overview of Oracle Cloud Infrastructure Resource Manager components and typical scenarios for installing, configuring, and managing resources through the "infrastructure-as-code" model.

Resource Manager icon Walkthrough icon File icon Stacks and jobs icon
Overview of Resource Manager Getting Started Terraform Configurations for Resource Manager

Managing Stacks and Jobs

Get a high-level overview of the Resource Manager service.

Follow a guided journey to provision a Compute instance with either a pre-built Terraform configuration or one that you write.

Write your own Terraform configurations.

Learn how to manage stacks and jobs.

Features

Templates

A template is a Terraform configuration that you can use to manage infrastructure. Templates can help those who are new to infrastructure as code and those who are updating production workflow configurations. Use templates to try out Resource Manager and to apply proven best practices to your production workflow configuration. For information about Oracle-provided templates, see Templates.

Create your own private templates to share with others in the tenancy.

Start with a Resource Creation Page

Save your configuration from a resource configuration page to a stack. Use the stack to install, configure, and manage the resource through the "infrastructure-as-code" model. Supported resource configuration pages: Create Compute Instance.

CI/CD with Resource Manager

Remotely store your Terraform configurations using integrated source code control systems, such as GitHub and GitLab. This integration helps you achieve continuous integration and continuous delivery (CI/CD).

For more information about remotely storing your configurations, see Managing Configuration Source Providers.

For a walk-through using CLI for cloud provisioning in a CI/CD pipeline, see IaC in the Cloud: Integrating Terraform and Resource Manager into your CI/CD Pipeline - Building With the OCI CLI.

Resource Discovery

A feature to capture deployed resources as Terraform configuration and state files. With this feature, you can:

  • Move from manually managed infrastructure to Resource Manager-controlled infrastructure.
  • Learn how Terraform uses HashiCorp Configuration Language (HCL) syntax to represent Oracle Cloud Infrastructure resources.
  • Duplicate or rebuild existing infrastructure in another compartment.
State Management

Resource Manager stores Terraform state files for stacks so you don't have to. Multiple people can work on a stack concurrently because stack state is locked, allowing only one job at a time to run on a given stack. Resource Manager automatically generates and updates the stack's state file (.tfstate, in JSON format). This file maps your stack's resources to your configuration and maintains essential configuration metadata, such as resource dependencies.

For more information about Terraform state files, see Hashicorp: State.

Drift Detection

Find out if provisioned resources have different states than those resources defined in the stack's last run configuration and view detailed drift status for each resource.

You can optionally limit the drift detection to specified resources. Each resource is identified by a resource address, which is a string derived from the resource type and name specified in the stack's Terraform configuration plus an optional index. For example, the resource address for the fourth Compute instance with the name "test_instance" is oci_core_instance.test_instance[3] (resource type of oci_core_instance, a period as delimiter, resource name of test_instance, and index of 3 in brackets). For more details and examples of resource addresses, see the Terraform documentation at https://www.terraform.io/docs/internals/resource-addressing.html#examples.

Deploy to Oracle Cloud Button

The Deploy to Oracle Cloud button allows you to launch your remote Terraform configuration using the Create Stack workflow available in Resource Manager.

This image shows the Deploy to Oracle Cloud button.

For more information, see Using the Deploy to Oracle Cloud Button.