Oracle Cloud - 00
Bootstrap

11 May 2026



github icon





Description



The Goal: The primary goal of this project is to create an architecture that fulfills these following needs/requirements:


1) Allow the Terraform State file of future Terraform projetcs to be synchronised on an Oracle Cloud Object Storage, thus allowing different devices to perform Terraform operations to the Infrastructure without having to manually synchronise the Terraform State files on those devices.


2) Setup a Key Management System Vault and Master Key to allow future Oracle Cloud Infrastructure (like Object Storage or Boot Volume) to have its data be encrypted and Secrets to be stored.



All of these must be implemented without exceeding the free forever tier limits of Oracle Cloud.



Oracle Cloud has Free Forever Resources which, if you do not exceed your usage limits, will literally remain free forever! This is my architecture I have come up with to allow me to utilise free cloud resources for my own projects and use cases.





Cloud Resources - Provisioning & Managing Bootstrap Cloud Resources

Before cloud resources for future projects can be provisioned, it is crucial that the underlying foundation of the cloud architecture is established first.



The foundation would include:


1) KMS Vault: To hold any secrets and a master key used to allow all data held by the workload resources to be encrypted

2) KMS Key: The master key used to encrypt/decrypt data encryption keys (basically separate keys that exist within the data storage’s location)

3) An Object Storage: for storing Terraform State file of the resources mentioned in the above section




As such, the flow of how one should setup the Boostrap Cloud Resources with Terraform can be simplified to:






Cloud Resources - Setup Process


To setup, follow the guide in from the project repo’s readme.