terraform project for Oracle Cloud Infrastructure (OCI) always free tier resources
Go to file
bdeshi 8db0d9849a
merge terraform-docs into main readme
2024-05-28 15:09:16 +06:00
.gitignore init 2024-05-23 13:26:58 +06:00
.pre-commit-config.yaml update pre-commit hooks 2024-05-28 05:26:21 +06:00
.terraform-docs.yml merge terraform-docs into main readme 2024-05-28 15:09:16 +06:00
.terraform.lock.hcl update providers 2024-05-27 13:24:05 +06:00
README.md merge terraform-docs into main readme 2024-05-28 15:09:16 +06:00
oci.compute.tf pre-commit pass 2024-05-28 05:19:36 +06:00
oci.data.tf add email & notification topics 2024-05-28 03:44:48 +06:00
oci.db.tf init 2024-05-23 13:26:58 +06:00
oci.email.tf add email dkim & admin smtp cred 2024-05-28 05:26:50 +06:00
oci.identity.tf add email dkim & admin smtp cred 2024-05-28 05:26:50 +06:00
oci.locals.tf pre-commit pass 2024-05-28 05:19:36 +06:00
oci.main.tf move compartment to oci.main.tf 2024-05-24 16:10:19 +06:00
oci.networking.tf networking: calculate subnet cidr from vcn 2024-05-28 00:46:49 +06:00
oci.notification.tf add email & notification topics 2024-05-28 03:44:48 +06:00
oci.vault.tf add kms outputs, tweak kms var name 2024-05-28 03:43:55 +06:00
terraform.backend.tfvars.sample init 2024-05-23 13:26:58 +06:00
terraform.outputs.tf add email dkim & admin smtp cred 2024-05-28 05:26:50 +06:00
terraform.tf update providers 2024-05-27 13:24:05 +06:00
terraform.tfvars.sample init 2024-05-23 13:26:58 +06:00
terraform.variables.tf add email dkim & admin smtp cred 2024-05-28 05:26:50 +06:00

README.md

terraform-oci-free

Terraform Project for Oracle Cloud Infrastructure (OCI) Always Free Tier

https://docs.oracle.com/en-us/iaas/Content/FreeTier/freetier_topic-Always_Free_Resources.htm

Terraform Docs

Requirements

Name Version
terraform ~> 1.8.0
oci ~> 5.43.0
tls ~> 4.0.5

Providers

Name Version
oci 5.43.0
tls 4.0.5

Modules

No modules.

Resources

Name Type
oci_core_default_route_table.default resource
oci_core_default_security_list.default resource
oci_core_instance.compute resource
oci_core_internet_gateway.igw resource
oci_core_network_security_group.default resource
oci_core_network_security_group_security_rule.default resource
oci_core_public_ip.static resource
oci_core_subnet.public resource
oci_core_vcn.vcn resource
oci_email_dkim.domain resource
oci_email_email_domain.domain resource
oci_email_sender.sender resource
oci_email_suppression.suppression resource
oci_identity_api_key.admin resource
oci_identity_auth_token.admin resource
oci_identity_compartment.compartment resource
oci_identity_customer_secret_key.admin resource
oci_identity_group.administrators resource
oci_identity_policy.administrators resource
oci_identity_policy.kms_service_policy resource
oci_identity_smtp_credential.admin resource
oci_identity_ui_password.admin_initial resource
oci_identity_user.admin resource
oci_identity_user_group_membership.admin resource
oci_kms_key.key resource
oci_kms_vault.vault resource
oci_ons_notification_topic.topic resource
oci_ons_subscription.subscription resource
tls_private_key.admin_api_key resource
tls_private_key.compute_ssh_key resource
oci_core_images.selected data source
oci_core_shapes.available data source
oci_email_configuration.endpoints data source
oci_identity_availability_domains.available data source
oci_identity_tenancy.tenancy data source
oci_kms_key.key data source

Inputs

Name Description Type Default Required
oci_region The region for the OCI provider string n/a yes
tenancy_id The OCID of the tenancy string n/a yes
admin_create_credentials Types of credentials to create for the admin user
object({
api_key = bool
auth_token = bool
customer_key = bool
password = bool
smtp = bool
})
{
"api_key": true,
"auth_token": false,
"customer_key": false,
"password": false,
"smtp": true
}
no
create_instances Create compute instances types
object({
micro = bool
flex = bool
})
{
"flex": true,
"micro": true
}
no
create_static_ip Create a reserved static IP bool true no
create_topics Create notification topics bool true no
create_vault Create vault bool true no
created_compute_ssh_key_algorithm The algorithm for the created SSH key if no key is provided string "ED25519" no
email_configuration values for email configuration
object({
email_domains = list(string)
approved_senders = list(string)
suppression_list = list(string)
})
{
"approved_senders": [],
"email_domains": [],
"suppression_list": []
}
no
enable_email_delivery Create email delivery supporting configurations bool true no
enable_ipv6 Enable IPv6 for the VCN bool true no
iac_project_name The name of the iac project string "oci-free" no
iac_project_source The source repo of the iac project string "https://git.bdeshi.space/bdeshi/terraform-oci-free.git" no
oci_profile The config file profile for the OCI provider string null no
prefix Name prefix for all resources string "free-" no
supplied_compute_ssh_public_key A pre-created public SSH key for the compute instances string null no
topics Values for notification topics configuration
map(object({
description = string
subscriptions = list(object({
protocol = string
endpoint = string
}))
}))
{} no
use_kms Use created vault for key creation and management
object({
volume = bool
object = bool
database = bool
})
{
"database": true,
"object": true,
"volume": true
}
no
vcn_cidr The CIDR block for the VCN string "10.0.0.0/16" no

Outputs

Name Description
admin_auth_token The auth token of the admin user
admin_initial_password The initial password of the admin user
admin_smtp_password The SMTP password of the admin user
admin_smtp_username The SMTP username of the admin user
admin_user_id The ID of the admin user
api_key_fingerprint The fingerprint of the admin user API key
api_key_private The private part of the admin user API key
compartment_id The ID of the created compartment
compartment_name The name of the created compartment
customer_key_id The ID of the customer key
customer_key_key The ID of the customer key
email_dkim_records The DKIM records for the email domain
email_endpoints The email configuration endpoints
instance_availability_domains The availability domains of the instances
instance_ips The public IP addresses of the instances
instance_selected_images The selected images for each instance shape
kms_key_ids The IDs of the KMS keys
kms_vault_endpoints The KMS vault endpoints
kms_vault_id The ID of the KMS vault
reserved_ip The reserved public IP address
ssh_key_private The created SSH private key for the compute instances
ssh_key_public The public SSH key for the compute instances
subnet_cidr_block The CIDR block for the subnet
subnet_ipv6_cidr_block The IPv6 CIDR block for the subnet
tenancy_id The ID of the tenancy
tenancy_name The name of the tenancy
vcn_cidr_blocks The CIDR block for the VCN
vcn_ipv6_cidr_blocks The IPv6 CIDR block for the VCN
vcn_ipv6_cidr_private_blocks The IPv6 CIDR block for the VCN