In order to activate the Reverse lookup zone package in HCP, we need to take the following steps:
1. Add the ServiceDescription for CsDnsZoneReverse and CsDomainReverseZone in the provisioningdescription.xml (..\Atomia\AutomationServer\Common\ProvisioningDescriptions)
<complexService name="CsDnsZoneReverse" description="Wrapper for standard DNS zone"> <complexServicePropertyList> <complexServiceProperty name="Zonename" description="DNS zone name" /> </complexServicePropertyList> <partList> <partService name="DnsZone" min="1" max="1"> <propertyTransformation> <simpleTransformer> <serviceProperty name="Zonename"> <expression>$CsDnsZoneReverse::Zonename</expression> </serviceProperty> <serviceProperty name="IsReverse"> <expression>true</expression> </serviceProperty> </simpleTransformer> </propertyTransformation> </partService> </partList> <init> <add partName="DnsZone"> </add> </init> </complexService>
<complexService name="CsDomainReverseZone" description="Complex service no website and reverse DNS zone"> <complexServicePropertyList> <complexServiceProperty name="Domain" description="Domain to enable parking for" key="true" /> <complexServiceProperty name="DnsZone" description="Hostname DNS Zone" /> <complexServiceProperty name="DnsZoneIsSlave" description="Is the DNS zone a slave zone" /><span class="fr-marker" data-id="0" data-type="false" style="display: none; line-height: 0;"></span><span class="fr-marker" data-id="0" data-type="true" style="display: none; line-height: 0;"></span> <complexServiceProperty name="DnsSlaveZoneMasterIP" description="Master IP for slave zones, otherwise ignored." defaultValue="" /> <complexServiceProperty name="DomainPrefix" description="Hostname domain prefix" /> </complexServicePropertyList> <partList> <partService name="CsDnsZoneReverse" max="1"> <propertyTransformation> <simpleTransformer> <serviceProperty name="Zonename"> <expression>$CsDomainReverseZone::DnsZone</expression> </serviceProperty> </simpleTransformer> </propertyTransformation> <partList> <partService name="DnsZone"> <partList> <partService name="DnsZoneRecord"> </partService> </partList> </partService> </partList> </partService> <partService name="DnsSlaveZone" max="1"> </partService> </partList> <init> <add partName="CsDnsZoneReverse" condition="$CsDomainReverseZone::DnsZoneIsSlave eq null"> </add> <add partName="DnsSlaveZone" condition="$CsDomainReverseZone::DnsZoneIsSlave neq null"> <initPropertyList> <propertyTransformation> <simpleTransformer> <serviceProperty name="Zonename"> <expression>$CsDomainReverseZone::DnsZone</expression> </serviceProperty> <serviceProperty name="MasterIP"> <expression>$CsDomainReverseZone::DnsSlaveZoneMasterIP</expression> </serviceProperty> </simpleTransformer> </propertyTransformation> </initPropertyList> </add> </init> <actionHooks> <onBeforeAddService type="Atomia.Provisioning.ActionHooks.BeforeAddService.UniquenessCheck, Atomia.Provisioning.ActionHooks.BeforeAddService" argument="" /> <onSwitchService type="Atomia.Provisioning.ActionHooks.SwitchService.DomainWebsiteSwitch, Atomia.Provisioning.ActionHooks.SwitchService" argument="CsDnsZoneStandard" /> </actionHooks> </complexService>
2. Change the CsDomainReverseZone's partService DnsSlaveZone to be greater than 0, or delete it completely.
<partService name="DnsSlaveZone" max="1"> </partService>
3. Add the CsDomainReverseZone service to the ServiceList of the packages you want it included in.
4. Deploy the following transformation in HCP (the transformation file can be found in: ..\Atomia\HostingControlPanel\App_Data\Transformation Files)
<?xml version="1.0" encoding="UTF-8"?> <appConfig xmlns="Atomia.Web.Base.Configs" xmlns:xdt="http://schemas.microsoft.com/XML-Document-Transform" xmlns:is="http://schemas.atomia.com/2009/06/configuration/identity" xmlns:hy="urn:nhibernate-configuration-2.2"> <menusList> <menuItem id="menu007_7" name="ReverseZone" resourceKey="ReverseDns" action="Index" controller="ReverseDns" controllerAssembly="Atomia.Web.Plugin.Domains" controllerNamespace="Atomia.Web.Plugin.Domains.Controllers" xdt:Transform="InsertAfter(//*[local-name()='menuItem'][@id='menu007_1'])"> <additionalRouteValuesList> <additionalRouteValues id="arv025" name="accountID" value="{accountID}" /> </additionalRouteValuesList> <additionalItemPropertiesList> <additionalItemProperties id="aip039" name="packageLimitationSubItemService" value="ReverseZone" /> </additionalItemPropertiesList> </menuItem> </menusList> <globalSettingsList> <globalSetting name="DnsReverseZonesEnabled" value="true" xdt:Locator="Match(name)" xdt:Transform="SetAttributes(value)"/> </globalSettingsList> </appConfig>
Make sure to follow the guidelines for creating transformation files found in Atomia configuration files and transformations