Skip to content

[Bug]: Acmebot__Route53__Region environment variable missing in new deployment. Manually creating fixes the problem #1101

@paul-mccormack

Description

@paul-mccormack

Acmebot version

V5

DNS Provider

Amazon Route 53

Describe the bug

Hi, I deployed a new instance to test v5. When I entered my AWS AccessKey and SecretKey the function app couldn't access my Route 53 zones. Had a look in the logs and found an error mentioning Amazon.RegionEndpoint.

I created a new environment variable called Acmebot__Route53__Region and entered us-east-1 as the value. Restarted the app and it found my zone.

Checked the docs but there is not mention of needing the Acmebot__Route53__Region variable.

Snip of the error:

Exception: { "errorType": "System.ArgumentNullException", "errorMessage": "Value cannot be null. (Parameter 'key')", "stackTrace": " at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)\n at Amazon.RegionEndpoint.GetBySystemName(String systemName)

Expected behavior

To be able to create a certificate for a Route 53 hosted zone.

To Reproduce

Deploy, configure AWS Route 53 as a provider then attempt to create a certificate for that zone

Certificate Type

Sub-domain

Additional context

Call Stack: Microsoft.Azure.WebJobs.Script.Workers.Rpc.RpcException: Result: Failure
Type: Microsoft.Azure.Functions.Worker.Extensions.DurableTask.Exceptions.DurableSerializationException
Exception: { "errorType": "System.ArgumentNullException", "errorMessage": "Value cannot be null. (Parameter 'key')", "stackTrace": " at System.Collections.Generic.Dictionary2.TryGetValue(TKey key, TValue& value)\n at Amazon.RegionEndpoint.GetBySystemName(String systemName)\n at Acmebot.App.Providers.Route53Provider..ctor(Route53Options options) in /home/runner/work/acmebot/acmebot/src/Acmebot.App/Providers/Route53Provider.cs:line 12\n at Program.\u003c\u003ec.\u003c\u003cMain\u003e$\u003eb__0_26(Route53Options o) in /home/runner/work/acmebot/acmebot/src/Acmebot.App/Program.cs:line 166\n at Acmebot.App.Extensions.DnsProvidersExtensions.TryAdd[TOption](IList1 dnsProviders, TOption options, Func2 factory) in /home/runner/work/acmebot/acmebot/src/Acmebot.App/Extensions/DnsProvidersExtensions.cs:line 57\n at Program.\u003c\u003ec.\u003c\u003cMain\u003e$\u003eb__0_10(IServiceProvider provider) in /home/runner/work/acmebot/acmebot/src/Acmebot.App/Program.cs:line 166\n at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)\n at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(ServiceIdentifier serviceIdentifier)\n at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)\n at Microsoft.Extensions.DependencyInjection.ActivatorUtilities.ConstructorMatcher.CreateInstance(IServiceProvider provider)\n at Microsoft.Extensions.DependencyInjection.ActivatorUtilities.CreateInstance(IServiceProvider provider, Type instanceType, Object[] parameters)\n at Microsoft.Azure.Functions.Worker.DefaultFunctionActivator.CreateInstance(Type instanceType, FunctionContext context) in /_/src/DotNetWorker.Core/Invocation/DefaultFunctionActivator.cs:line 23\n at Acmebot.App.DirectFunctionExecutor.ExecuteAsync(FunctionContext context) in /home/runner/work/acmebot/acmebot/src/Acmebot.App/obj/Release/net10.0/Microsoft.Azure.Functions.Worker.Sdk.Generators/Microsoft.Azure.Functions.Worker.Sdk.Generators.FunctionExecutorGenerator/GeneratedFunctionExecutor.g.cs:line 204\n at Microsoft.Azure.Functions.Worker.Extensions.DurableTask.Execution.DurableFunctionExecutor.RunActivityAsync(FunctionContext context, BindingMetadata triggerBinding) in /_/src/Worker.Extensions.DurableTask/Execution/DurableFunctionExecutor.Activity.cs:line 34" } Stack: at System.Collections.Generic.Dictionary2.TryGetValue(TKey key, TValue& value)
at Amazon.RegionEndpoint.GetBySystemName(String systemName)
at Acmebot.App.Providers.Route53Provider..ctor(Route53Options options) in /home/runner/work/acmebot/acmebot/src/Acmebot.App/Providers/Route53Provider.cs:line 12
at Program.<>c.<

$>b__0_26(Route53Options o) in /home/runner/work/acmebot/acmebot/src/Acmebot.App/Program.cs:line 166
at Acmebot.App.Extensions.DnsProvidersExtensions.TryAdd[TOption](IList1 dnsProviders, TOption options, Func2 factory) in /home/runner/work/acmebot/acmebot/src/Acmebot.App/Extensions/DnsProvidersExtensions.cs:line 57
at Program.<>c.<$>b__0_10(IServiceProvider provider) in /home/runner/work/acmebot/acmebot/src/Acmebot.App/Program.cs:line 166
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitRootCache(ServiceCallSite callSite, RuntimeResolverContext context)
at Microsoft.Extensions.DependencyInjection.ServiceProvider.CreateServiceAccessor(ServiceIdentifier serviceIdentifier)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.ServiceProviderEngineScope.GetService(Type serviceType)
at Microsoft.Extensions.DependencyInjection.ActivatorUtilities.ConstructorMatcher.CreateInstance(IServiceProvider provider)
at Microsoft.Extensions.DependencyInjection.ActivatorUtilities.CreateInstance(IServiceProvider provider, Type instanceType, Object[] parameters)
at Microsoft.Azure.Functions.Worker.DefaultFunctionActivator.CreateInstance(Type instanceType, FunctionContext context) in //src/DotNetWorker.Core/Invocation/DefaultFunctionActivator.cs:line 23
at Acmebot.App.DirectFunctionExecutor.ExecuteAsync(FunctionContext context) in /home/runner/work/acmebot/acmebot/src/Acmebot.App/obj/Release/net10.0/Microsoft.Azure.Functions.Worker.Sdk.Generators/Microsoft.Azure.Functions.Worker.Sdk.Generators.FunctionExecutorGenerator/GeneratedFunctionExecutor.g.cs:line 204
at Microsoft.Azure.Functions.Worker.Extensions.DurableTask.Execution.DurableFunctionExecutor.RunActivityAsync(FunctionContext context, BindingMetadata triggerBinding) in /
/src/Worker.Extensions.DurableTask/Execution/DurableFunctionExecutor.Activity.cs:line 34
at Microsoft.Azure.WebJobs.Script.Description.WorkerFunctionInvoker.InvokeCore(Object[] parameters, FunctionInvocationContext context) in //src/WebJobs.Script.Grpc/WorkerFunctionInvoker.cs:line 103
at Microsoft.Azure.WebJobs.Script.Description.FunctionInvokerBase.Invoke(Object[] parameters) in /
/src/WebJobs.Script/Description/FunctionInvokerBase.cs:line 82
at Microsoft.Azure.WebJobs.Script.Description.FunctionGenerator.Coerce[T](Task1 src) in /_/src/WebJobs.Script/Description/FunctionGenerator.cs:line 225 at Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker2.InvokeAsync(Object instance, Object[] arguments) in //src/Microsoft.Azure.WebJobs.Host/Executors/FunctionInvoker.cs:line 53
at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.InvokeWithTimeoutAsync(IFunctionInvoker invoker, ParameterHelper parameterHelper, CancellationTokenSource timeoutTokenSource, CancellationTokenSource functionCancellationTokenSource, Boolean throwOnTimeout, TimeSpan timerInterval, IFunctionInstance instance) in /
/src/Microsoft.Azure.WebJobs.Host/Executors/FunctionExecutor.cs:line 590
at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithWatchersAsync(IFunctionInstanceEx instance, ParameterHelper parameterHelper, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in //src/Microsoft.Azure.WebJobs.Host/Executors/FunctionExecutor.cs:line 536
at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstanceEx instance, FunctionStartedMessage message, FunctionInstanceLogEntry instanceLogEntry, ParameterHelper parameterHelper, ILogger logger, CancellationToken cancellationToken) in /
/src/Microsoft.Azure.WebJobs.Host/Executors/FunctionExecutor.cs:line 315, Message: Result: Failure
Type: Microsoft.Azure.Functions.Worker.Extensions.DurableTask.Exceptions.DurableSerializationException

Metadata

Metadata

Assignees

Labels

bugSomething isn't working

Type

No type
No fields configured for issues without a type.

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions