diff --git a/Writerside/adoc.tree b/Writerside/adoc.tree index d258663..ae65f2e 100644 --- a/Writerside/adoc.tree +++ b/Writerside/adoc.tree @@ -9,11 +9,14 @@ + + + + - - + \ No newline at end of file diff --git a/Writerside/topics/Akamai.md b/Writerside/topics/Akamai.md index 0533002..05c8530 100644 --- a/Writerside/topics/Akamai.md +++ b/Writerside/topics/Akamai.md @@ -20,6 +20,5 @@ services.AddUmbraco(_env, _config) ``` You need to add following line: ```C# - . .AddAkamaiCdnProvider() ``` \ No newline at end of file diff --git a/Writerside/topics/Azure-Frondoor-Standard-Premium.md b/Writerside/topics/Azure-Frondoor-Standard-Premium.md new file mode 100644 index 0000000..74f58b8 --- /dev/null +++ b/Writerside/topics/Azure-Frondoor-Standard-Premium.md @@ -0,0 +1,24 @@ +# Azure Classic Front Door + +Start typing here... +## Configuration +### Json Options Schema +```json +``` +{src="../../src/bielu.Umbraco.Cdn.Azure.Cdn/schema/appsettings-schema.AzureCdnOptions.json" } + +## Installing Provider +In order to activate provider post installation, you need to add following code to your Startup.cs or Program.cs (for minimal hosting model) file. + +In registration of services, after this lines: +```C# +services.AddUmbraco(_env, _config) + .AddBackOffice() + .AddWebsite() + .AddComposers() +``` +You need to add following line: +```C# + . + .AddAzureFrontDoorCdnProvider() +``` \ No newline at end of file diff --git a/Writerside/topics/Azure-Front-Door.md b/Writerside/topics/Azure-Front-Door.md index bf2a976..f57c883 100644 --- a/Writerside/topics/Azure-Front-Door.md +++ b/Writerside/topics/Azure-Front-Door.md @@ -1,4 +1,4 @@ -# Azure Front Door +# Azure Frondoor Standard / Premium Start typing here... ## Configuration diff --git a/Writerside/topics/Azure.md b/Writerside/topics/Azure.md new file mode 100644 index 0000000..ce8d345 --- /dev/null +++ b/Writerside/topics/Azure.md @@ -0,0 +1,16 @@ +# Azure +## Configuration +### Json Options Schema +```json +``` +{src="../../src/bielu.Umbraco.Cdn.Azure.Common/schema/appsettings-schema.AzureCdnOptions.json" } + + +#### AuthenticationType +This is an authentication type for Azure Front Door account. It is required to be able to use Azure Front Door. +#### ResourceGroupName +This is a resource group name for Azure Front Door account. It is required to be able to use Azure Front Door. +#### SubscriptionId +This is a subscription id for Azure Front Door account. It is required to be able to use Azure Front Door. +#### UserAssignedClientId +This is a user assigned client id for Azure Front Door account. It is required to be able to use Azure Front Door. \ No newline at end of file diff --git a/src/SchemaGenerator/Program.cs b/src/SchemaGenerator/Program.cs index 8408474..28350b5 100644 --- a/src/SchemaGenerator/Program.cs +++ b/src/SchemaGenerator/Program.cs @@ -3,6 +3,8 @@ using bielu.SchemaGenerator.Build.Services; using bielu.Umbraco.Cdn.Akamai.Configuration; using bielu.Umbraco.Cdn.Aws.Configuration; +using bielu.Umbraco.Cdn.Azure.Cdn.Configuration; +using bielu.Umbraco.Cdn.Azure.Common.Configuration; using bielu.Umbraco.Cdn.Azure.Configuration; using bielu.Umbraco.Cdn.Cloudflare.Configuration; using bielu.Umbraco.Cdn.Core.Configuration; @@ -17,6 +19,8 @@ internal class Program typeof(CloudFrontOptions).Assembly, typeof(CloudflareOptions).Assembly, typeof(FrontDoorOptions).Assembly, + typeof(AzureBaseOptions).Assembly, + typeof(AzureCdnOptions).Assembly, typeof(BieluCdnOptions).Assembly, typeof(AkamaiOptions).Assembly, }; diff --git a/src/SchemaGenerator/SchemaGenerator.csproj b/src/SchemaGenerator/SchemaGenerator.csproj index 692ab40..f1b3abb 100644 --- a/src/SchemaGenerator/SchemaGenerator.csproj +++ b/src/SchemaGenerator/SchemaGenerator.csproj @@ -6,11 +6,13 @@ enable enable SchemageGerator + false + diff --git a/src/bielu.Umbraco.Cdn.Azure.Cdn/schema/appsettings-schema.AzureCdnOptions.json b/src/bielu.Umbraco.Cdn.Azure.Cdn/schema/appsettings-schema.AzureCdnOptions.json index 09eeda6..39fabca 100644 --- a/src/bielu.Umbraco.Cdn.Azure.Cdn/schema/appsettings-schema.AzureCdnOptions.json +++ b/src/bielu.Umbraco.Cdn.Azure.Cdn/schema/appsettings-schema.AzureCdnOptions.json @@ -2,7 +2,31 @@ "$schema": "http://json-schema.org/draft-04/schema#", "title": "Bielu:Cdn:Azure:Cdn", "definitions": { - "BieluUmbracoCdnAzureModelsAuthenticationType": { + "BieluUmbracoCdnAzureCommonConfigurationAzureBaseOptions": { + "allOf": [ + { + "$ref": "#/definitions/BieluUmbracoCdnCoreConfigurationConfigurationBaseOptions" + }, + { + "type": "object", + "properties": { + "AuthenticationType": { + "$ref": "#/definitions/BieluUmbracoCdnAzureCommonModelsAuthenticationType" + }, + "ResourceGroupName": { + "type": "string" + }, + "SubscriptionId": { + "type": "string" + }, + "UserAssignedClientId": { + "type": "string" + } + } + } + ] + }, + "BieluUmbracoCdnAzureCommonModelsAuthenticationType": { "type": "string", "description": "", "x-enumNames": [ @@ -39,25 +63,13 @@ }, "allOf": [ { - "$ref": "#/definitions/BieluUmbracoCdnCoreConfigurationConfigurationBaseOptions" + "$ref": "#/definitions/BieluUmbracoCdnAzureCommonConfigurationAzureBaseOptions" }, { "type": "object", "properties": { - "AuthenticationType": { - "$ref": "#/definitions/BieluUmbracoCdnAzureModelsAuthenticationType" - }, "FrontDoorName": { "type": "string" - }, - "ResourceGroupName": { - "type": "string" - }, - "SubscriptionId": { - "type": "string" - }, - "UserAssignedClientId": { - "type": "string" } } } diff --git a/src/bielu.Umbraco.Cdn.Azure.Common/Schema/appsettings-schema.AzureBaseOptions.json b/src/bielu.Umbraco.Cdn.Azure.Common/Schema/appsettings-schema.AzureBaseOptions.json new file mode 100644 index 0000000..0cf12ad --- /dev/null +++ b/src/bielu.Umbraco.Cdn.Azure.Common/Schema/appsettings-schema.AzureBaseOptions.json @@ -0,0 +1,62 @@ +{ + "$schema": "http://json-schema.org/draft-04/schema#", + "title": "bieluUmbracoCdnAzureCommonConfigurationAzureBaseOptions", + "definitions": { + "BieluUmbracoCdnAzureCommonModelsAuthenticationType": { + "type": "string", + "description": "", + "x-enumNames": [ + "ManagedIdentityCredential", + "DefaultAzureCredential", + "InteractiveBrowserCredential", + "SharedTokenCacheCredential", + "VisualStudioCredential", + "VisualStudioCodeCredential", + "AzureCliCredential", + "AzurePowerShellCredential", + "EnvironmentCredential" + ], + "enum": [ + "ManagedIdentityCredential", + "DefaultAzureCredential", + "InteractiveBrowserCredential", + "SharedTokenCacheCredential", + "VisualStudioCredential", + "VisualStudioCodeCredential", + "AzureCliCredential", + "AzurePowerShellCredential", + "EnvironmentCredential" + ] + }, + "BieluUmbracoCdnCoreConfigurationConfigurationBaseOptions": { + "type": "object", + "properties": { + "Disabled": { + "type": "boolean" + } + } + } + }, + "allOf": [ + { + "$ref": "#/definitions/BieluUmbracoCdnCoreConfigurationConfigurationBaseOptions" + }, + { + "type": "object", + "properties": { + "AuthenticationType": { + "$ref": "#/definitions/BieluUmbracoCdnAzureCommonModelsAuthenticationType" + }, + "ResourceGroupName": { + "type": "string" + }, + "SubscriptionId": { + "type": "string" + }, + "UserAssignedClientId": { + "type": "string" + } + } + } + ] +} \ No newline at end of file diff --git a/src/bielu.Umbraco.Cdn.Azure.Common/buildTransitive/bielu.Umbraco.Cdn.Azure.Common.Targets.props b/src/bielu.Umbraco.Cdn.Azure.Common/buildTransitive/bielu.Umbraco.Cdn.Azure.Common.Targets.props new file mode 100644 index 0000000..b818b16 --- /dev/null +++ b/src/bielu.Umbraco.Cdn.Azure.Common/buildTransitive/bielu.Umbraco.Cdn.Azure.Common.Targets.props @@ -0,0 +1,5 @@ + + + + + \ No newline at end of file diff --git a/src/bielu.Umbraco.Cdn.Azure.FrontDoor/schema/appsettings-schema.FrontDoorOptions.json b/src/bielu.Umbraco.Cdn.Azure.FrontDoor/schema/appsettings-schema.FrontDoorOptions.json index 28c1abb..ed3ee13 100644 --- a/src/bielu.Umbraco.Cdn.Azure.FrontDoor/schema/appsettings-schema.FrontDoorOptions.json +++ b/src/bielu.Umbraco.Cdn.Azure.FrontDoor/schema/appsettings-schema.FrontDoorOptions.json @@ -2,7 +2,31 @@ "$schema": "http://json-schema.org/draft-04/schema#", "title": "Bielu:Cdn:Azure:FrontDoor", "definitions": { - "BieluUmbracoCdnAzureModelsAuthenticationType": { + "BieluUmbracoCdnAzureCommonConfigurationAzureBaseOptions": { + "allOf": [ + { + "$ref": "#/definitions/BieluUmbracoCdnCoreConfigurationConfigurationBaseOptions" + }, + { + "type": "object", + "properties": { + "AuthenticationType": { + "$ref": "#/definitions/BieluUmbracoCdnAzureCommonModelsAuthenticationType" + }, + "ResourceGroupName": { + "type": "string" + }, + "SubscriptionId": { + "type": "string" + }, + "UserAssignedClientId": { + "type": "string" + } + } + } + ] + }, + "BieluUmbracoCdnAzureCommonModelsAuthenticationType": { "type": "string", "description": "", "x-enumNames": [ @@ -39,25 +63,13 @@ }, "allOf": [ { - "$ref": "#/definitions/BieluUmbracoCdnCoreConfigurationConfigurationBaseOptions" + "$ref": "#/definitions/BieluUmbracoCdnAzureCommonConfigurationAzureBaseOptions" }, { "type": "object", "properties": { - "AuthenticationType": { - "$ref": "#/definitions/BieluUmbracoCdnAzureModelsAuthenticationType" - }, "FrontDoorName": { "type": "string" - }, - "ResourceGroupName": { - "type": "string" - }, - "SubscriptionId": { - "type": "string" - }, - "UserAssignedClientId": { - "type": "string" } } } diff --git a/src/bielu.Umbraco.TestProject/bielu.Umbraco.TestProject.csproj b/src/bielu.Umbraco.TestProject/bielu.Umbraco.TestProject.csproj index cce0ad2..1171801 100644 --- a/src/bielu.Umbraco.TestProject/bielu.Umbraco.TestProject.csproj +++ b/src/bielu.Umbraco.TestProject/bielu.Umbraco.TestProject.csproj @@ -3,6 +3,7 @@ net6.0 e8d02d0c-d1e6-464d-95fe-7251b569e56a + false