diff --git a/.terraform.lock.hcl b/.terraform.lock.hcl new file mode 100644 index 0000000..63ba9ed --- /dev/null +++ b/.terraform.lock.hcl @@ -0,0 +1,22 @@ +# This file is maintained automatically by "terraform init". +# Manual edits may be lost in future updates. + +provider "registry.terraform.io/hashicorp/azurerm" { + version = "3.86.0" + constraints = "~> 3.85" + hashes = [ + "h1:OYk3njsOIMuSK4pbbOr5qbssIHBSzb/Fmfsg9AYeyCo=", + "zh:10473870b663b3becca1127687ed0d002d61f417c279e7daac546d265ff1f3db", + "zh:1dfe2446d7530cd082f817a8d37ec9fb0260b275085978bd81ba0e8167aa6f7c", + "zh:31712a4d9727a5970354eb3c26b4d6dc45b5103c6599cb97c2bd3f9915062baf", + "zh:51dcb102e17e49d675d6865f1ca9eaa8a2aa566ba56a93bb77aab703112d1de5", + "zh:54d5053cd88ed99e804c7b4d72f91ec1bab5fe8b6769db5c120d60b5e6a653dc", + "zh:58388274d406a55c84199d1a22b8143b47321b7b508a18ddeed9e824a864cb5d", + "zh:7b8afa8d62431512197aa5aed4e902b06bce3f8362d6ddf2c841e03c2658f4a7", + "zh:b7d3c1e8bfdd4e099e174724be41cdbc916868a7ca637bcf8682a57ef3453f7f", + "zh:ea0cc2751ef9a15b48e42d6ae62f4329c567335e348f57e577ce727d8167c29f", + "zh:f3a48fdf58a34deae9221923f30112b18ce1ab6cabb46d6c38e1a3234340cfd0", + "zh:f569b65999264a9416862bca5cd2a6177d94ccb0424f3a4ef424428912b9cb3c", + "zh:fbd1d24b6bc67d5c370f2a3934da70ea3b93d612fe83b71e0dae592b48d030ce", + ] +} diff --git a/README.md b/README.md index 56fe739..a17c12d 100644 --- a/README.md +++ b/README.md @@ -8,6 +8,71 @@ This Terraform configuration automates the setup of Azure CDN resources, streaml ### Terraform Architecture ```mermaid %%tfmermaid +%%{init:{"theme":"default","themeVariables":{"lineColor":"#6f7682","textColor":"#6f7682"}}}%% +flowchart LR +classDef r fill:#5c4ee5,stroke:#444,color:#fff +classDef v fill:#eeedfc,stroke:#eeedfc,color:#5c4ee5 +classDef ms fill:none,stroke:#dce0e6,stroke-width:2px +classDef vs fill:none,stroke:#dce0e6,stroke-width:4px,stroke-dasharray:10 +classDef ps fill:none,stroke:none +classDef cs fill:#f7f8fa,stroke:#dce0e6,stroke-width:2px +subgraph "n0"["CDN"] +n1["azurerm_cdn_frontdoor_endpoint.
this"]:::r +n2["azurerm_cdn_frontdoor_origin.
this"]:::r +n3["azurerm_cdn_frontdoor_origin_group.
this"]:::r +n4["azurerm_cdn_frontdoor_profile.
this"]:::r +n5["azurerm_cdn_frontdoor_route.
this"]:::r +n6["azurerm_cdn_frontdoor_rule_set.
this"]:::r +end +class n0 cs +subgraph "n7"["DNS"] +n8["azurerm_dns_zone.this"]:::r +end +class n7 cs +subgraph "n9"["Base"] +na["azurerm_resource_group.this"]:::r +end +class n9 cs +subgraph "nb"["Network"] +nc{{"data.azurerm_public_ips.this"}}:::r +end +class nb cs +subgraph "nd"["Input Variables"] +ne(["var.endpoints"]):::v +nf(["var.origin_groups"]):::v +ng(["var.public_ip_origins"]):::v +nh(["var.resource_group_location"]):::v +ni(["var.resource_group_name"]):::v +nj(["var.routes"]):::v +nk(["var.rule_sets"]):::v +nl(["var.zones"]):::v +end +class nd vs +subgraph "nm"["Output Values"] +nn(["output.name_servers"]):::v +no(["output.urls"]):::v +end +class nm vs +n4-->n1 +ne--->n1 +n3-->n2 +nc-->n2 +n4-->n3 +nf--->n3 +na-->n4 +n1-->n5 +n2-->n5 +n6-->n5 +nj--->n5 +n4-->n6 +nk--->n6 +na-->n8 +nl--->n8 +nh--->na +ni--->na +ng--->nc +n8--->nn +n1--->no ``` ## Features