Automating Azure Entra ID: Users, Groups, and Apps with Ansible
TL;DR Ansible can fully automate Azure Entra ID (formerly Azure AD) via the azure.azcollection: …

DNS changes should be part of the same controlled process as other infrastructure changes. With the ayedo Edge Cloud, external DNS zones can be managed declaratively via API and Terraform . Version control, reviews, and reproducible execution reduce manual errors and create clear responsibilities between platform and application teams.
In many companies, DNS is still managed directly through the web interface. This works as long as a few people make individual changes. However, with an increasing number of services, environments, and teams, states become difficult to track: A record was manually adjusted, a change was not documented, or implemented differently between test and production. The technical error usually does not lie in the DNS itself, but in the lack of a change process. Those who want to manage DNS with Terraform treat zones and records as versioned infrastructure. The DNS API of the ayedo Edge Cloud serves as the technical interface, while Terraform describes the desired configuration and integrates its implementation into existing platform engineering processes.
In an imperative change, a single DNS record is directly created, modified, or deleted. The operator thinks in actions: “Create this entry.” A declarative configuration, on the other hand, describes the desired state. Terraform compares this state with the existing configuration and determines the necessary changes.
For DNS zones, this difference is relevant because records should not be considered in isolation. Names, types, target values, and other properties together form the configuration of a zone. Declarative management makes it visible which entries should exist and which are no longer intended. This facilitates reviews and reduces the risk of outdated records remaining unnoticed.
The ayedo Edge Cloud provides an API for managing external DNS zones that can be used via Terraform . This way, DNS does not become a special process alongside the rest of the infrastructure. Zones can be described, planned, and rolled out in a controlled manner like other resources. The specific configuration remains in the repository and not solely in the state of a single web interface.
The central advantage of Infrastructure as Code is not only automation but also traceability. A change to the DNS becomes visible as a diff: Which record was added, which target value changed, and which entry removed? This information belongs in the normal review process and can be linked with a technical justification, a ticket, or a change to the associated application.
For platform engineering teams, this creates a clear separation between definition and execution. The repository contains the desired configuration. Terraform generates a plan from it. Only after review is the change applied. This allows, for example, to check whether a new name points to the intended target or if an existing record is accidentally overwritten.
This history is also valuable in case of disruptions. If a DNS change leads to unexpected behavior, the team can trace the timing and content of the change and correct it specifically. A rollback is not an arbitrary reset but the restoration of a known configuration from the version history. This improves operational capability but does not replace a technical review of TTLs, delegations, or dependent systems.
Terraform should not be operated as another manual access alongside the API and the portal. A defined responsibility is crucial: Which changes are made exclusively via Terraform , and which cases may be carried out directly via the API? Without this rule, two truths emerge. Terraform then knows one state, while the DNS zone has already been manually changed.
For regular changes, a standardized procedure is recommended: Adjust configuration, generate plan, review changes, execute application, and document results. Automated checks can additionally control format, naming conventions, or allowed zone types. The [Terraform] state must be reliably managed and accessible to the responsible teams. Otherwise, parallel changes can lead to conflicts.
Direct API changes remain sensible in certain situations, such as a limited operational correction or when an automated process deliberately operates outside the [Terraform] lifecycle. However, such exceptions must remain visible. After a manual change, the declarative configuration should be adjusted promptly. Otherwise, the next [Terraform] run may unintentionally overwrite or remove an intended change.
DNS is often closely linked to the lifecycle of an application but is not always operated by the same team. A platform team can manage the DNS zones and the technical framework, while application teams contribute their needed records through controlled interfaces or pull requests. This separation reduces direct access and makes responsibilities clear.
The management should not be limited to ayedo Managed Kubernetes . The ayedo Edge Cloud can also be used as an upstream platform in front of [Kubernetes] clusters operated by oneself or other providers. DNS configuration and cluster operation thus remain separate areas of responsibility. A service can run in a compute environment while its public DNS entry is centrally managed via the Edge Cloud.
This decoupling is also relevant from an operational perspective. A cluster change does not automatically have to trigger a manual DNS migration if the DNS zone is independently versioned and managed via the API. At the same time, the technical separation must not lead to unclear handovers: For each record, the purpose, target system, and responsible team should be known. This way, DNS with Terraform becomes a controlled part of the service lifecycle instead of an isolated administrative task.
A company operates several public services in different [Kubernetes] clusters. The DNS zone is centrally managed in the ayedo Edge Cloud. A new service requires an additional name and a record for the intended public entry.
The application team creates a change in the repository. Terraform shows only the new record in the plan. The platform team reviews the target, naming convention, and impact on the service lifecycle. After the review, the change is applied and is subsequently traceable via Git history and [Terraform] state.
If the same record were created directly in the portal, the operational effect would initially be identical. The difference becomes apparent later: Without declarative configuration, standardized review, reproducible restoration, and a reliable connection to the application change are missing.
Yes, regular changes can be automated via Terraform and the ayedo Edge Cloud API. Exceptions should be documented and then reconciled with the declarative configuration.
Terraform detects a deviation between the desired and actual state. Before the next apply, it should be clarified whether the manual change should be adopted or reverted.
No. DNS management is separate from the compute environment and can also be used for [Kubernetes] clusters operated by oneself or other providers.
Managing DNS with Terraform is primarily a decision for controllable operational processes. The DNS API provides the programmable interface, Terraform describes the desired state, and version control and reviews make changes traceable. The ayedo Edge Cloud thus supports a clear separation between central public DNS entry and the underlying compute environments. It is crucial to consciously handle manual exceptions and not operate them permanently parallel to the declarative configuration.
TL;DR Ansible can fully automate Azure Entra ID (formerly Azure AD) via the azure.azcollection: …
TL;DR Active Directory changes via GUI or non-versioned PowerShell scripts are error-prone, hard to …
TL;DR You build a reusable Polycrate workflow that automatically executes backup → update → verify …