| Components | |
|---|---|
| Azure Container Registry | |
| Azure Kubernetes Cluster | |
| Azure Virtual Network | |
| Kubernetes ESO for Azure KV | |
| DNS Management |
Azure DNS
|
| Infrastructure CI/CD pipeline |
Bitbucket Pipelines
|
| Ingress Controller |
Nginx
|
| CI/CD Runner |
Gitlab CI Runner
|
| Caching |
Azure Cache for Redis
|
| Object Storage | Blob Storage |
| SQL Database | MySQL/PostgreSQL |
| Helm Chart | |
| Setup by Corewide team | |
| Post-implementation training | |
| 2-week warranty support | |
| Documentation |
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
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:
terraform.tfvars, or using environment variables)
infrasnap.yml parameters based on the reference belowbackend.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] |
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 |
bucket_names |
List of bucket names | list(attribute) |
no |