Page MenuHomeDevCentral

D4191.diff
No OneTemporary

D4191.diff

diff --git a/terraform/ovh-ops-backups/object_storage.tf b/terraform/ovh-ops-backups/object_storage.tf
new file mode 100644
--- /dev/null
+++ b/terraform/ovh-ops-backups/object_storage.tf
@@ -0,0 +1,42 @@
+# -------------------------------------------------------------
+# Terraform :: OVH :: Public cloud :: ops-backups :: Storage
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# Project: Nasqueron
+# License: BSD-2-Clause
+# Description: Create object storage bucket for backups.
+# Provider: OVH
+# Target: OVH Public Cloud > Nasqueron :: Operations :: Backups
+# -------------------------------------------------------------
+
+resource "ovh_cloud_project_storage" "storage_backups" {
+ service_name = ovh_cloud_project.nasqueron-ops-backups.id
+ name = var.bucket
+ region_name = "EU-WEST-PAR"
+
+ # S3 Object Lock requires versioning to be enabled.
+ versioning = {
+ status = "enabled"
+ }
+
+ object_lock = {
+ status = "enabled"
+ rule = {
+ # Governance mode protects against malicious deletion.
+ # To prune old backups, a separate admin credential with
+ # s3:BypassGovernanceRetention permission must be used.
+ mode = "governance"
+ period = "P90D" # 90 days default retention
+ }
+ }
+
+ tags = {
+ group = "operations"
+ role = "backup"
+ encryption = "client-side"
+ privacy_level = "sensible"
+ }
+
+ lifecycle {
+ prevent_destroy = true
+ }
+}
diff --git a/terraform/ovh-ops-backups/project.tf b/terraform/ovh-ops-backups/project.tf
new file mode 100644
--- /dev/null
+++ b/terraform/ovh-ops-backups/project.tf
@@ -0,0 +1,45 @@
+# -------------------------------------------------------------
+# Terraform :: OVH :: Public cloud :: ops-backups
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# Project: Nasqueron
+# License: BSD-2-Clause
+# Provider: OVH
+# Target: OVH public cloud
+# -------------------------------------------------------------
+
+# -------------------------------------------------------------
+# Order and create a new public cloud project
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+data "ovh_me" "account" {}
+
+data "ovh_order_cart" "cart" {
+ ovh_subsidiary = data.ovh_me.account.ovh_subsidiary
+}
+
+data "ovh_order_cart_product_plan" "cart_product_plan" {
+ cart_id = data.ovh_order_cart.cart.id
+ price_capacity = "renew"
+ product = "cloud"
+ plan_code = "project.2018"
+}
+
+resource "ovh_cloud_project" "nasqueron-ops-backups" {
+ description = "Nasqueron :: Operations :: Backups"
+ ovh_subsidiary = data.ovh_me.account.ovh_subsidiary
+
+ plan {
+ duration = data.ovh_order_cart_product_plan.cart_product_plan.selected_price.0.duration
+ plan_code = data.ovh_order_cart_product_plan.cart_product_plan.plan_code
+ pricing_mode = data.ovh_order_cart_product_plan.cart_product_plan.selected_price.0.pricing_mode
+
+ configuration {
+ label = "vrack"
+ value = "pn-1250"
+ }
+ }
+
+ lifecycle {
+ prevent_destroy = true
+ }
+}
diff --git a/terraform/ovh-ops-backups/providers.tf b/terraform/ovh-ops-backups/providers.tf
new file mode 100644
--- /dev/null
+++ b/terraform/ovh-ops-backups/providers.tf
@@ -0,0 +1,36 @@
+# -------------------------------------------------------------
+# Terraform :: OVH :: Providers
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# Project: Nasqueron
+# License: BSD-2-Clause
+# Provider: OVH / Vault / OpenBao
+# Target: complector.nasqueron.drake
+# -------------------------------------------------------------
+
+terraform {
+ required_version = ">= 1.6.0"
+
+ required_providers {
+ ovh = {
+ source = "ovh/ovh"
+ version = ">= 2.19.0"
+ }
+
+ vault = {
+ source = "hashicorp/vault"
+ version = ">= 5.11.0"
+ }
+ }
+}
+
+# -------------------------------------------------------------
+# Providers configuration
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+
+provider "ovh" {
+ endpoint = "ovh-eu"
+}
+
+provider "vault" {
+ address = "https://172.27.27.7:8200"
+}
diff --git a/terraform/ovh-ops-backups/variables.tf b/terraform/ovh-ops-backups/variables.tf
new file mode 100644
--- /dev/null
+++ b/terraform/ovh-ops-backups/variables.tf
@@ -0,0 +1,13 @@
+# -------------------------------------------------------------
+# Terraform :: OVH :: Variables
+# - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
+# Project: Nasqueron
+# License: BSD-2-Clause
+# Provider: OVH / Vault
+# -------------------------------------------------------------
+
+variable bucket {
+ description = "The name of the bucket."
+ type = string
+ default = "nasqueron-backups-amaris"
+}

File Metadata

Mime Type
text/plain
Expires
Tue, Aug 25, 07:04 (22 h, 20 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
4033685
Default Alt Text
D4191.diff (4 KB)

Event Timeline