Diagram of product resources
Components
Azure Container Registry
Azure Kubernetes Cluster
Azure Virtual Network
Kubernetes ESO for Azure KV
DNS Management
Infrastructure CI/CD pipeline
Ingress Controller
Autoscaling KEDA
CI/CD Runner
Caching
Monitoring Prometheus/Grafana/Loki
Object Storage Blob Storage
Queue Manager Azure Event Hubs
SQL Database MySQL/PostgreSQL
Helm Chart
Setup by Corewide team
Post-implementation training
2-week warranty support
Documentation

Infrasnap for Azure MAX

$12,960
BUY
Log in to Corewide IaC registry

Once you have a Corewide Solutions Portal account, this one-time action will use your browser session to retrieve credentials:

 shellterraform login solutions.corewide.com
Provision instructions

Download Infrasnap archive from My Library page, unpack it to a new directory and initialize a new project there:

 shellcd infrasnap/
git init
git add .

Follow the instructions in README.md:

  1. Pass cloud provider API credentials as Terraform variables (as terraform.tfvars, or using environment variables)
  2. Edit infrasnap.yml parameters based on the reference below
  3. Prepare Terraform backend configuration in backend.tf

Initialize the setup, create the environment you configured in infrasnap.yml and provision the infrastructure:

 shellterraform init
terraform workspace new <environment_name>
terraform workspace select <environment_name>
terraform apply
Variable Description Type Default
dns_zone_create Whether to create DNS zone or use the existing one bool false
dns_zone DNS zone in which to create records, disable to reuse the same zone from another workspace string example.com
dns_records_k8s A list of subdomains that must point at Ingress LoadBalancer list
dns_records List of extra records that do not point at Ingress LoadBalancer. See module_docs for complete reference. Note: when adding CNAME record in the same dns_zone, supply full dns record value e.g. value.dns_zone. map
dns_records.test Name of the DNS record map
dns_records.test.type Record type (A, AAAA, CNAME, MX, NS, or TXT) string CNAME
dns_records.test.value List of values for the record list ['test.example.com']
dns_records.test.ttl Time to Live (TTL) of the record in seconds number 31
dns_records.test.priority The priority of the record (only for MX type) number 3600
cert_manager_email E-mail that Let's Encrypt cluster issuer will use to request certificates string [email protected]
keda Parameters for KEDA deployment map
keda.prometheus KEDA Prometheus integration configuration parameters map
keda.prometheus.create_service_monitor Indicates if a ServiceMonitor should be created for Prometheus monitoring bool true
cache_redis_version Engine version for Redis Cache string 6
cache_redis_tier The SKU tier of the Redis Cache string Standard
cache_redis_machine_size Node size for the The SKU tier of the Redis Cache. Supported values number 1
cache_redis_node_count Number of nodes to be created in Redis Cache cluster (Applicable for the Premium tier) number 1
buckets Buckets definitions to create map
buckets.my-bucket Bucket name map
buckets.my-bucket.access_mode Blob Storage Container (bucket) access mode. Allowed values: private, public-read string private
buckets.my-bucket.versioning Enable versioning for the bucket bool false
Output Description Type Sensitive
name_servers Name servers of DNS zone managed in this workspace attribute no
keda_namespace The namespace where KEDA is installed attribute no
keda_service_account_name The name of the ServiceAccount used by KEDA attribute no
redis_cache_connection_parameters Name of Key Vault secret with Redis Cache connection parameters attribute no
bucket_names List of bucket names list(attribute) no

Not sure where to start?
Let's find your perfect match.