Collection of Terraform modules for Oracle Cloud
This repository contains a collection of Terraform modules for managing Oracle Cloud Infrastructure (OCI) resources. The modules are designed to be reusable and can be combined to create complex infrastructure setups.
- 01_networking/: Contains Terraform configurations for setting up networking components such as VCNs, subnets, and security lists.
- core_instance/: Contains Terraform configurations for provisioning core instances, including Docker, management, and k3s nodes.
- object_storage/: Contains Terraform configurations for setting up object storage buckets.
To get started with these modules, you will need to have Terraform installed on your machine. You can download Terraform from the official website.
- Terraform >= 1.0
- Oracle Cloud Infrastructure account
- OCI CLI installed and configured
-
Clone the repository:
git clone https://github.com/binary-braids/terraform-oracle.git cd terraform-oracle
-
Navigate to the desired module directory (e.g.,
01_networking
):cd 01_networking
-
Initialize Terraform:
terraform init
-
Review and modify the
terraform.tfvars
file to match your environment. -
Plan and apply the Terraform configuration:
terraform plan terraform apply
This repository uses GitHub Actions for continuous integration and deployment. The workflows are defined in the workflows directory.
- networking.yml: CI/CD pipeline for networking components.
- compute.yml: CI/CD pipeline for core instances.
- storage.yml: CI/CD pipeline for object storage.
- validation.yml: CI pipeline for validating Terraform configurations.
We welcome contributions to this repository. If you have an idea for a new feature or have found a bug, please open an issue or submit a pull request.
- Fork the repository.
- Create a new branch for your feature or bugfix.
- Make your changes and commit them with a clear message.
- Push your changes to your fork.
- Open a pull request to the main repository.
This project is licensed under the MIT License - see the LICENSE file for details.
For any questions or support, please open an issue or contact the repository owner.