Giter Club home page Giter Club logo

keyvault-acmebot's Introduction

Key Vault Acmebot

Automated ACME SSL/TLS certificates issuer for Azure Key Vault (App Gateway / Front Door / CDN / others)

Build Release Stargazers Forks License Terraform
Last commit Documentation Discussions

Motivation

We have begun to address the following requirements:

  • Securely store SSL/TLS certificates with Azure Key Vault
  • Centralize management of large numbers of certificates with a single Key Vault
  • Easy to deploy and configure solution
  • Highly reliable implementation
  • Easy to monitor (Application Insights, Webhook)

Key Vault Acmebot provides secure and centralized management of ACME certificates.

Feature Support

  • Issue certificates for Zone Apex, Wildcard and SANs (multiple domains)
  • Dedicated dashboard for easy certificate management
  • Automated certificate renewal
  • Support for ACME v2 compliant Certification Authorities
  • Azure App Services (Web Apps / Functions / Containers, regardless of OS)
  • Azure CDN / Front Door / Application Gateway v2 / etc

Deployment

Azure (Public) Azure China Azure Government

Learn more at https://github.com/shibayan/keyvault-acmebot/wiki/Getting-Started

Sponsors

ZEN Architects

Thank you for your support of our development. Interested in special support? Become a Sponsor

Thanks

License

This project is licensed under the Apache License 2.0

keyvault-acmebot's People

Contributors

andrei-predoiu avatar bhubert avatar brboyer avatar dependabot[bot] avatar erwinkramer avatar gblmarquez avatar jeanrobertjs avatar johnburns320 avatar jurajsucik avatar kevinvanblokland avatar larsenlp avatar nlem avatar pascalu avatar repne avatar shibayan avatar treidel avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

keyvault-acmebot's Issues

Troubleshooting errors

Hi, where do we trroubleshoot errors for this function app?
An error has occurred. No certificate was issued.
Not sure where to start checking logs

Multiple Subscriptions

It appears by default that key vault acmebot is scoped to the subscription is is deployed in, is it possible to use a single instance with multiple subscriptions or is an instance required per subscription?

[Action Required] Upgrade to Key Vault Acmebot v3

Key Vault Acmebot v3 has been released since December 31, 2019. Users deploying earlier than this are encouraged to upgrade to v3.

The upgrade process is completed in 4 steps.

  1. Go to Azure Portal and open Acmebot Azure Function

  2. Select Configuration link

image

  1. Update FUNCTIONS_EXTENSION_VERSION and WEBSITE_RUN_FROM_PACKAGE value.
  • FUNCTIONS_EXTENSION_VERSION
    • ~3
  • WEBSITE_RUN_FROM_PACKAGE
    • https://shibayan.blob.core.windows.net/azure-keyvault-letsencrypt/v3/latest.zip
  1. Save and Exit

image

Certificate is not updated

None of the certificates have been update after they entered within 30 days of their expiry date.

I looked for traces and exceptions in the Application Insight tool for the last 3 days, but couldn't find anything relevant. I also went to RenewCertificates_Timer and manually triggered it, but no luck.

Could you help me to troubleshoot this?

image

Propagating renewed certs into App Gateway SSL configuration?

Hello,

I've been using this great tool with my V2 App Gateway website. We encountered expired-certificate problems a few days ago, and it turns out that the tool successfully updated the certificate, but the certificate did not get propagated into the App Gateway configuration. I needed to navigate to the HTTPS Listener in the App Gateway configuration, select "Renew or edit selected certificate", and "Choose a certificate from Key Vault" to get the gateway to pick up the new SSL cert.

Is this the expected behavior? If not, do you have any ideas about what the problem might be?

Thanks!

PS: I just upgraded to the V3 system, but only after I noticed the problem.

How to disable Read Only mode in Azure Function App

694/5000
Hello Shibayan,

I have a question, please help me.
When I log in to AddCertificate_HttpStart the following message is displayed:
Your app is currently in read-only mode because you are running from a package file. When running from a package, the file system is read-only and no changes can be made to the files. To make any changes update the content in your zip file and WEBSITE_RUN_FROM_PACKAGE app setting.
I ran the command but did not run the Domain curl entry https://YOUR-FUNCTIONS.azurewebsites.net/api/AddCertificate_HttpStart?code=YOUR-FUNCTION-SECRET -X POST
-H 'Content-Type: application / json'
-d '{"Domains": ["example.com", "www.example.com"]}'
I followed the article https://stackoverflow.com/questions/53630773/how-to-disable-read-only-mode-in-azure-function-app but it did not work

Thanks for the help

Getting 500 Error from /add-certificate

I believe that I have followed all of the Getting Started instructions correctly, but I am getting an error from the /add-certificate web interface. I can see the domain that I want, pick it, add my subdomain and click Submit. Shortly after I get a "Error: request failed with status code 500" popup message.

When I look through the logs of the various functions, there are errors on two (details below).

Any thoughts?
Thanks,
Bryan

FinalizeOrder: Operation returned an invalid status code 'Forbidden'

IssueCertificate: Orchestrator function 'IssueCertificate' failed: The activity function 'FinalizeOrder' failed: "Failed to deserialize exception from TaskActivity: {"$type":"Microsoft.Azure.KeyVault.Models.KeyVaultErrorException, Microsoft.Azure.KeyVault","Request":{"$type":"Microsoft.Rest.HttpRequestMessageWrapper, Microsoft.Rest.ClientRuntime","Method":{"$type":"System.Net.Http.HttpMethod, System.Net.Http","Method":"POST"},"RequestUri":"https://myvault.vault.azure.net//certificates/api-onpass-pro/creat...

REST API

Describe the solution you'd like
Instead of using the Web UI, I'd like to have an REST API I can use to add domains.

Describe alternatives you've considered
As far as I know, there's no API alternative. If it is, please tell me, and close the ticket.

How to revoke / delete a wrong certificate

Hello,

There is a way to delete / revoke a wrong certificate and recreate it?

I deleted it from the KeyVault and now it's impossible to recreate a new certificate with the right information.

Orchestrator function 'IssueCertificate' failed: The activity function 'FinalizeOrder' failed: "Failed to deserialize exception from TaskActivity: {"$type":"ACMESharp.Protocol.AcmeProtocolException, ACMESharp","ProblemType":19,"ProblemTypeRaw":"urn:ietf:params:acme:error:unauthorized","ProblemDetail":"Error finalizing order :: Order includes different number of names than CSR specifies","ProblemStatus":403,"StackTrace":" at ACMESharp.Protocol.AcmeProtocolClient.SendAcmeAsync(Uri uri, HttpMethod method, Object message, HttpStatusCode[] expectedStatuses, Boolean skipNonce, Boolean skipSigning, Boolean includePublicKey, CancellationToken cancel, String opName)

Thanks

Connect DNS zone from other AAD

Is it possible to use one function app to manage DNS zone from other AAD?
Use one app for all DNS, but not create several for each AAD.

Thanks in advance.

Custom certificate lifetime

Would be great if you could add an option for a user to define a certificate lifetime instead of using the default 90 days. It would allow acmebot to issue even shorter lived certificates.

I see several scenarios where this could useful:

  • testing
  • improved security by using short lived certificates
  • some CA allow to use ACME protocol with lifetime that is higher than 90 days - applicable only if you decide to support other ACME compatible CA :)

Orchestrator function 'IssueCertificate' failed Cannot deserialize the current JSON array

After having the issue with the appservice-acmebot i have installed the keyvault version additionally. After configuring it i was able to see all my DNS and selected one of the entries and entered a random domain name "test23234.xiona.de" clicking on submit on add-certificate the following error occures:

Orchestrator function 'IssueCertificate' failed: Cannot deserialize the current JSON array (e.g. [1,2,3]) into type 'System.ValueTuple2[Microsoft.Azure.Management.WebSites.Models.Site,System.String[]]' because the type requires a JSON object (e.g. {"name":"value"}) to deserialize correctly.
To fix this error either change the JSON to a JSON object (e.g. {"name":"value"}) or change the deserialized type to an array or a type that implements a collection interface (e.g. ICollection, IList) like List that can be deserialized from a JSON array. JsonArrayAttribute can also be added to the type to force it to deserialize from a JSON array.
Path '', line 1, position 1.`

GetDnsZones type cast issue

I don't know how to troubleshoot this. I think it's a type mismatch that should not be affected by what I have in my DNS name. Below is the log of the error in function app integrate run.

Executing 'GetDnsZones' (Reason='This function was programmatically called via the host APIs.', Id=9d72e3e9-5ae3-432c-b7cf-44ce42bd188f)
2019-12-30T00:51:35.662 [Error] Executed 'GetDnsZones' (Failed, Id=9d72e3e9-5ae3-432c-b7cf-44ce42bd188f)
Unable to cast object of type 'System.String' to type 'Microsoft.Azure.WebJobs.Extensions.DurableTask.DurableOrchestrationContext'.

Certificates not showing up in Key Vault

Hi. I installed this version https://github.com/shibayan/appservice-acmebot/ and everything worked fine but I needed certs available for Front Door. So I installed https://github.com/shibayan/keyvault-acmebot/ and deleted https://github.com/shibayan/appservice-acmebot/

Everything went fine but now in the keyvault url (YOURAPP.azurewebsites.net/add-certificate) I still see the acmebot form (Add Certificate: Resource Group, App Name, Deployemtn Slot, Domains, Use IP Based SSL). Using this form certificates are generated for the App Service but they don't show up in the Key Vault so cannot use it for Front Door.

Do I still have the acmebot version instead of keyvault? If so - how can I use the keyvault? I've already removed the acmebot version.

Any help much appreciated.

Certificate renewal succeeded automatically but FrontDoor didn't use new one.

I installed keyvault-acmebot about 3 months ago. Everything works fine at this time.
But today, I notice my FrontDoor's certificate is expired.

In keyvault, newer certificate is issued 20 days ago, but FrontDoor is not use it.
I modified FrontDoor manually but I want FrontDoor configuration will be updated automatically when certificate is renewed.

Any help much appreciated.

Call webhook on renew

It would be nice if this could call a webhook when a renewal is successful that way certificates can be updated in services that won't automatically use the latest version of a certificate (such as FrontDoor).

Bonus points if the webhook includes the new version hash of the key to update to and domain to make it easy.

Name of resources

Is there anyway we could pass in overrides to better name the resources. We dont abide by the prefix + guid.

Would it be nice to update DNS requirements in the Readme?

I'm new to certificate management in azure and I've tried all the morning to setup certificates facing the issue:

"Orchestrator function 'IssueCertificate' failed: The activity function 'CheckDnsChallenge'

It would be nice if the Readme includes that in order to issue a certificate via this tool you need to have full control of the DNS Zone, that means you need to do DNS delegation.

I've been using the GoDaddy default DNS managment and worked great until I've tried to use this tool.

Is that correct? In order to setup this tool properly is important to have a DNS Zone configured and delegated from others DNS ?

Azure Function isn't able to add DNS records to certain zones

I've verified that my function has "DNS Zone Contributor" (I did it at the Subscription level since I operate over 1k zones) but I don't see the function inserting the appropriate DNS records into the zone, thus failing to validate the DNS record. Working for most of my other DNS zones, I only have a few it doesn't work for. What diagnostic information can I provide? Unsure why it doesn't work.

When a certificate can't be renewed (like domain control was lost) the function stops processing other certificates

I've got about 800 domains, and every once in awhile I'm not notified by the admin that domains were allowed to lapse, leaving some orphaned resources (like certificates) to clean up. The function found this cert, attempted to renew it, and rightfully failed on resolving the acme-challenge DNS record, however it stopped processing everything after that and didn't continue processing other certificates in the key vault that are up for renewal. It would be nice for it to throw an error but then skip over the certificate and finish the rest.

Naming conventions used by the deployment script

Is your feature request related to a problem? Please describe.
I've used your 'Deploy to Azure' button and let the script create all resources from scratch. That's resulted in a number of duplicated resource names being generated.

Describe the solution you'd like
I believe the script would be more useful if discrete names were assigned to each of the resources so that the type of resource could be inferred based on a string found within the name.

E.G. Using the existing script I specified that the Function App should be named 'letsencrypt-app' which resulted in 'letsencrypt-app-x5uf' being used for App Insights, Key vault, App Service plan, as well as the function app itself.

First off I'm surprised Azure is permitting that - many times it flags dupped names as invalid.

Describe alternatives you've considered
I think we'd be better served if the results were something along the lines of:

  • letsencrypt-ai
  • letsencrypt-kv
  • letsencrypt-plan

Additional context
I supposed i could have a go at updating the script and submitted a PR but first off wonder if there's specific logic behind the current choices that I haven't considered.

none-the-less....thanks much for the effort put into the project

Add domain to existing cert

I know we can make a wildcard cert, but it would be nice if there was a way to load an existing cert with all its domains, add/remove domains and have it use the same cert name.

CheckIsDnsRecord failed with wildcard & naked domain SANs certificate

Added certificate '{"Domains":["example.net","*.example.net"]}' .
Logged "The activity function 'CheckIsDnsRecord' failed: \"_acme-challenge.example.net value is not correct.\"." .
Azure _acme-challenge.example.net TXT record contains 2 values, but CheckIsDnsRecord seems to check FirstOrDefault .

upstream dependency issue

When trying to clone and debug on vscode I get a dependency error that I think could be resolved if I manually installed the dependency (but I don't know how to do that in .NET).

$ dotnet restore
C:\code\keyvault-acmebot\KeyVault.Acmebot\KeyVault.Acmebot.csproj : warning NU1603: KeyVault.Acmebot depends on Microsoft.Azure.WebJobs.Host.Storage (>= 3.0.11) but Microsoft.Azure.WebJobs.Host.Storage 3.0.11 was not found. An approximate best match of Microsoft.Azure.WebJobs.Host.Storage 3.0.13 was resolved. [C:\code\keyvault-acmebot\KeyVault.Acmebot.sln]

Similar issue: Azure/azure-webjobs-sdk-extensions#607

After about 5 minutes of processing, function will timeout and cancel.

2020-07-06T17:36:22Z [Error] Executed 'Dns01Authorization' (Failed, Id=fb6ea836-493a-40bd-af16-478784350bd1)
2020-07-06T17:36:22Z [Error] 6a8b1cbd7b844dc5bcc013a96a6dbc0f:27: Function 'Dns01Authorization (Activity)' failed with an error. Reason: System.Threading.Tasks.TaskCanceledException: A task was canceled.
at System.Net.Http.HttpConnectionResponseContent.SerializeToStreamAsync(Stream stream, TransportContext context, CancellationToken cancellationToken)
at System.Net.Http.HttpContent.LoadIntoBufferAsyncCore(Task serializeToStreamTask, MemoryStream tempBuffer)
at System.Net.Http.HttpClient.FinishSendAsyncBuffered(Task1 sendTask, HttpRequestMessage request, CancellationTokenSource cts, Boolean disposeCts) at Microsoft.Azure.Management.Dns.ZonesOperations.ListNextWithHttpMessagesAsync(String nextPageLink, Dictionary2 customHeaders, CancellationToken cancellationToken)
at Microsoft.Azure.Management.Dns.ZonesOperationsExtensions.ListNextAsync(IZonesOperations operations, String nextPageLink, CancellationToken cancellationToken)
at KeyVault.Acmebot.Internal.AzureSdkExtensions.ListAllAsync(IZonesOperations operations) in D:\a\1\s\KeyVault.Acmebot\Internal\AzureSdkExtensions.cs:line 23
at KeyVault.Acmebot.SharedFunctions.Dns01Authorization(String[] authorizationUrls) in D:\a\1\s\KeyVault.Acmebot\SharedFunctions.cs:line 154
at Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker`2.InvokeAsync(Object instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionInvoker.cs:line 52
at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.InvokeAsync(IFunctionInvoker invoker, ParameterHelper parameterHelper, CancellationTokenSource timeoutTokenSource, CancellationTokenSource functionCancellationTokenSource, Boolean throwOnTimeout, TimeSpan timerInterval, IFunctionInstance instance) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 585
at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithWatchersAsync(IFunctionInstanceEx instance, ParameterHelper parameterHelper, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 532
at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstanceEx instance, ParameterHelper parameterHelper, IFunctionOutputDefinition outputDefinition, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 468
at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstanceEx instance, FunctionStartedMessage message, FunctionInstanceLogEntry instanceLogEntry, ParameterHelper parameterHelper, ILogger logger, CancellationToken cancellationToken) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 278
at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstanceEx instance, FunctionStartedMessage message, FunctionInstanceLogEntry instanceLogEntry, ParameterHelper parameterHelper, ILogger logger, CancellationToken cancellationToken) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 322
at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.TryExecuteAsyncCore(IFunctionInstanceEx functionInstance, CancellationToken cancellationToken) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 117. IsReplay: False. State: Failed. HubName: DurableFunctionsHub. AppName: asc-certificates. SlotName: Production. ExtensionVersion: 2.1.1. SequenceNumber: 889.
2020-07-06T17:36:22Z [Information] Executing 'IssueCertificate' (Reason='', Id=fe614c36-281d-4d0e-9530-662be02c03ae)
2020-07-06T17:36:29Z [Verbose] Starting HttpMessageHandler cleanup cycle with 1 items
2020-07-06T17:36:29Z [Verbose] Ending HttpMessageHandler cleanup cycle after 0.0244ms - processed: 1 items - remaining: 0 items
2020-07-06T17:36:33Z [Verbose] HttpMessageHandler expired after 120000ms for client ''
2020-07-06T17:36:43Z [Verbose] Starting HttpMessageHandler cleanup cycle with 1 items
2020-07-06T17:36:43Z [Verbose] Ending HttpMessageHandler cleanup cycle after 0.0013ms - processed: 0 items - remaining: 1 items
2020-07-06T17:36:53Z [Verbose] Starting HttpMessageHandler cleanup cycle with 1 items
2020-07-06T17:36:53Z [Verbose] Ending HttpMessageHandler cleanup cycle after 0.0011ms - processed: 0 items - remaining: 1 items
2020-07-06T17:37:03Z [Verbose] Starting HttpMessageHandler cleanup cycle with 1 items
2020-07-06T17:37:03Z [Verbose] Ending HttpMessageHandler cleanup cycle after 0.0012ms - processed: 0 items - remaining: 1 items
2020-07-06T17:37:13Z [Verbose] Starting HttpMessageHandler cleanup cycle with 1 items
2020-07-06T17:37:13Z [Verbose] Ending HttpMessageHandler cleanup cycle after 0.0016ms - processed: 0 items - remaining: 1 items
2020-07-06T17:37:23Z [Verbose] Starting HttpMessageHandler cleanup cycle with 1 items
2020-07-06T17:37:23Z [Verbose] Ending HttpMessageHandler cleanup cycle after 0.0012ms - processed: 0 items - remaining: 1 items
2020-07-06T17:37:33Z [Verbose] Starting HttpMessageHandler cleanup cycle with 1 items
2020-07-06T17:37:33Z [Verbose] Ending HttpMessageHandler cleanup cycle after 0.0012ms - processed: 0 items - remaining: 1 items
2020-07-06T17:37:43Z [Verbose] Starting HttpMessageHandler cleanup cycle with 1 items
2020-07-06T17:37:43Z [Verbose] Ending HttpMessageHandler cleanup cycle after 0.0018ms - processed: 0 items - remaining: 1 items
2020-07-06T17:37:53Z [Verbose] Starting HttpMessageHandler cleanup cycle with 1 items
2020-07-06T17:37:53Z [Verbose] Ending HttpMessageHandler cleanup cycle after 0.0011ms - processed: 0 items - remaining: 1 items
2020-07-06T17:38:03Z [Verbose] Starting HttpMessageHandler cleanup cycle with 1 items
2020-07-06T17:38:03Z [Verbose] Ending HttpMessageHandler cleanup cycle after 0.0122ms - processed: 0 items - remaining: 1 items

Keyvault and Azure CDN

Is there any additional instructions or steps for this? I have a verizon standard cdn and the certificates are not automatically updating/propagating.

Add root domain to SAN for wildcard certificate requests

Is your feature request related to a problem? Please describe.
Wildcard certificate requests don't include the root domain as a SAN on the wildcard certificate request.

Describe the solution you'd like
Add the root domain to the request.

"Invalid order status is invalid"

I tried running this but I encounter the error "Invalid order status is invalid" in the CheckIsReady() function. Any tips on how to troubleshoot this? The logs are below. I also watched the DNS record get updated so I know that's okay. In addition to the steps in the readme I gave the app 'contributor' access to the created storage account.

2018-12-20T16:30:03.909 [Information] Executing 'AddCertificate_HttpStart' (Reason='This function was programmatically called via the host APIs.', Id=46c1cbfe-280f-4b75-82f9-d21f0a7745e7)
2018-12-20T16:30:03.909 [Information] Executing 'AddCertificate_HttpStart' (Reason='This function was programmatically called via the host APIs.', Id=46c1cbfe-280f-4b75-82f9-d21f0a7745e7)
2018-12-20T16:30:03.916 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'IssueCertificate (Orchestrator)' scheduled. Reason: NewInstance. IsReplay: False. State: Scheduled. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 70.
2018-12-20T16:30:04.225 [Information] Started orchestration with ID = 'c56f0e67d8ca45a491bc903265f985e0'.
2018-12-20T16:30:04.227 [Information] Executed 'AddCertificate_HttpStart' (Succeeded, Id=46c1cbfe-280f-4b75-82f9-d21f0a7745e7)
2018-12-20T16:30:04.358 [Information] Executing 'IssueCertificate' (Reason='', Id=c0126ca8-e7f0-4aca-84b7-0dc5025bd705)
2018-12-20T16:30:04.358 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'IssueCertificate (Orchestrator)' started. IsReplay: False. Input: (268 bytes). State: Started. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 71.
2018-12-20T16:30:04.359 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'Dns01Precondition (Activity)' scheduled. Reason: IssueCertificate. IsReplay: False. State: Scheduled. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 72.
2018-12-20T16:30:04.359 [Information] Executed 'IssueCertificate' (Succeeded, Id=c0126ca8-e7f0-4aca-84b7-0dc5025bd705)
2018-12-20T16:30:04.360 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'IssueCertificate (Orchestrator)' awaited. IsReplay: False. State: Awaited. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 73.
2018-12-20T16:30:04.375 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'Dns01Precondition (Activity)' started. IsReplay: False. Input: (276 bytes). State: Started. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 74.
2018-12-20T16:30:04.376 [Information] Executing 'Dns01Precondition' (Reason='', Id=5255d21c-f6ea-46c7-a76d-73a3dbcfa5eb)
2018-12-20T16:30:04.633 [Information] Executed 'Dns01Precondition' (Succeeded, Id=5255d21c-f6ea-46c7-a76d-73a3dbcfa5eb)
2018-12-20T16:30:04.633 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'Dns01Precondition (Activity)' completed. ContinuedAsNew: False. IsReplay: False. Output: (null). State: Completed. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 75.
2018-12-20T16:30:04.658 [Information] Executing 'IssueCertificate' (Reason='', Id=60853be4-3d40-4527-b652-714cea128484)
2018-12-20T16:30:04.659 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'Order (Activity)' scheduled. Reason: IssueCertificate. IsReplay: False. State: Scheduled. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 76.
2018-12-20T16:30:04.659 [Information] Executed 'IssueCertificate' (Succeeded, Id=60853be4-3d40-4527-b652-714cea128484)
2018-12-20T16:30:04.660 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'IssueCertificate (Orchestrator)' awaited. IsReplay: False. State: Awaited. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 77.
2018-12-20T16:30:04.675 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'Order (Activity)' started. IsReplay: False. Input: (276 bytes). State: Started. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 78.
2018-12-20T16:30:04.675 [Information] Executing 'Order' (Reason='', Id=03a79862-8d53-4039-83e4-9d922a8a0b8c)
2018-12-20T16:30:05.230 [Information] Executed 'Order' (Succeeded, Id=03a79862-8d53-4039-83e4-9d922a8a0b8c)
2018-12-20T16:30:05.230 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'Order (Activity)' completed. ContinuedAsNew: False. IsReplay: False. Output: (1824 bytes). State: Completed. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 79.
2018-12-20T16:30:05.248 [Information] Executing 'IssueCertificate' (Reason='', Id=dfbeef77-a2dd-45e9-8ac9-67063e611df1)
2018-12-20T16:30:05.248 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'Dns01Authorization (Activity)' scheduled. Reason: IssueCertificate. IsReplay: False. State: Scheduled. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 80.
2018-12-20T16:30:05.249 [Information] Executed 'IssueCertificate' (Succeeded, Id=dfbeef77-a2dd-45e9-8ac9-67063e611df1)
2018-12-20T16:30:05.250 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'IssueCertificate (Orchestrator)' awaited. IsReplay: False. State: Awaited. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 81.
2018-12-20T16:30:05.267 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'Dns01Authorization (Activity)' started. IsReplay: False. Input: (380 bytes). State: Started. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 82.
2018-12-20T16:30:05.267 [Information] Executing 'Dns01Authorization' (Reason='', Id=bfb6453e-a7ae-47e4-92e0-50a54005d813)
2018-12-20T16:30:06.605 [Information] Executed 'Dns01Authorization' (Succeeded, Id=bfb6453e-a7ae-47e4-92e0-50a54005d813)
2018-12-20T16:30:06.606 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'Dns01Authorization (Activity)' completed. ContinuedAsNew: False. IsReplay: False. Output: (1040 bytes). State: Completed. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 83.
2018-12-20T16:30:04.358 [Information] Executing 'IssueCertificate' (Reason='', Id=c0126ca8-e7f0-4aca-84b7-0dc5025bd705)
2018-12-20T16:30:04.360 [Information] Executed 'IssueCertificate' (Succeeded, Id=c0126ca8-e7f0-4aca-84b7-0dc5025bd705)
2018-12-20T16:30:04.658 [Information] Executing 'IssueCertificate' (Reason='', Id=60853be4-3d40-4527-b652-714cea128484)
2018-12-20T16:30:04.659 [Information] Executed 'IssueCertificate' (Succeeded, Id=60853be4-3d40-4527-b652-714cea128484)
2018-12-20T16:30:05.248 [Information] Executing 'IssueCertificate' (Reason='', Id=dfbeef77-a2dd-45e9-8ac9-67063e611df1)
2018-12-20T16:30:05.249 [Information] Executed 'IssueCertificate' (Succeeded, Id=dfbeef77-a2dd-45e9-8ac9-67063e611df1)
2018-12-20T16:30:04.225 [Information] Started orchestration with ID = 'c56f0e67d8ca45a491bc903265f985e0'.
2018-12-20T16:30:04.227 [Information] Executed 'AddCertificate_HttpStart' (Succeeded, Id=46c1cbfe-280f-4b75-82f9-d21f0a7745e7)
2018-12-20T16:30:04.675 [Information] Executing 'Order' (Reason='', Id=03a79862-8d53-4039-83e4-9d922a8a0b8c)
2018-12-20T16:30:05.230 [Information] Executed 'Order' (Succeeded, Id=03a79862-8d53-4039-83e4-9d922a8a0b8c)
2018-12-20T16:30:04.376 [Information] Executing 'Dns01Precondition' (Reason='', Id=5255d21c-f6ea-46c7-a76d-73a3dbcfa5eb)
2018-12-20T16:30:04.633 [Information] Executed 'Dns01Precondition' (Succeeded, Id=5255d21c-f6ea-46c7-a76d-73a3dbcfa5eb)
2018-12-20T16:30:14.481 [Information] Executing 'IssueCertificate' (Reason='', Id=46077809-a8c5-46b6-be3b-7b80b47c03a1)
2018-12-20T16:30:14.482 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'AnswerChallenges (Activity)' scheduled. Reason: IssueCertificate. IsReplay: False. State: Scheduled. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 84.
2018-12-20T16:30:14.483 [Information] Executed 'IssueCertificate' (Succeeded, Id=46077809-a8c5-46b6-be3b-7b80b47c03a1)
2018-12-20T16:30:14.483 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'IssueCertificate (Orchestrator)' awaited. IsReplay: False. State: Awaited. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 85.
2018-12-20T16:30:14.481 [Information] Executing 'IssueCertificate' (Reason='', Id=46077809-a8c5-46b6-be3b-7b80b47c03a1)
2018-12-20T16:30:14.483 [Information] Executed 'IssueCertificate' (Succeeded, Id=46077809-a8c5-46b6-be3b-7b80b47c03a1)
2018-12-20T16:30:05.267 [Information] Executing 'Dns01Authorization' (Reason='', Id=bfb6453e-a7ae-47e4-92e0-50a54005d813)
2018-12-20T16:30:06.605 [Information] Executed 'Dns01Authorization' (Succeeded, Id=bfb6453e-a7ae-47e4-92e0-50a54005d813)
2018-12-20T16:30:24.634 [Information] Executing 'AnswerChallenges' (Reason='', Id=7c33689e-5344-4094-91c9-14f165219556)
2018-12-20T16:30:24.633 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'AnswerChallenges (Activity)' started. IsReplay: False. Input: (1296 bytes). State: Started. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 86.
2018-12-20T16:30:24.634 [Information] Executing 'AnswerChallenges' (Reason='', Id=7c33689e-5344-4094-91c9-14f165219556)
2018-12-20T16:30:26.306 [Information] Executed 'AnswerChallenges' (Succeeded, Id=7c33689e-5344-4094-91c9-14f165219556)
2018-12-20T16:30:26.306 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'AnswerChallenges (Activity)' completed. ContinuedAsNew: False. IsReplay: False. Output: (null). State: Completed. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 87.
2018-12-20T16:30:26.757 [Information] Executing 'IssueCertificate' (Reason='', Id=c5485737-69ef-4b35-8f04-65cb2c3193b6)
2018-12-20T16:30:26.760 [Information] Executed 'IssueCertificate' (Succeeded, Id=c5485737-69ef-4b35-8f04-65cb2c3193b6)
2018-12-20T16:30:26.306 [Information] Executed 'AnswerChallenges' (Succeeded, Id=7c33689e-5344-4094-91c9-14f165219556)
2018-12-20T16:30:26.777 [Information] Executing 'CheckIsReady' (Reason='', Id=bfe21b86-042b-47e5-a868-a515d232a25f)
2018-12-20T16:30:27.073 [Error] Executed 'CheckIsReady' (Failed, Id=bfe21b86-042b-47e5-a868-a515d232a25f)
Invalid order status is pending
2018-12-20T16:30:27.375 [Error] c56f0e67d8ca45a491bc903265f985e0: Function 'CheckIsReady (Activity)' failed with an error. Reason: System.InvalidOperationException: Invalid order status is pending
   at AzureKeyVault.LetsEncrypt.SharedFunctions.CheckIsReady(DurableActivityContext context, ILogger log)
   at Microsoft.Azure.WebJobs.Host.Executors.VoidTaskMethodInvoker`2.InvokeAsync(TReflected instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\VoidTaskMethodInvoker.cs:line 20
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker`2.InvokeAsync(Object instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionInvoker.cs:line 63
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.InvokeAsync(IFunctionInvoker invoker, ParameterHelper parameterHelper, CancellationTokenSource timeoutTokenSource, CancellationTokenSource functionCancellationTokenSource, Boolean throwOnTimeout, TimeSpan timerInterval, IFunctionInstance instance) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 556
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithWatchersAsync(IFunctionInstance instance, ParameterHelper parameterHelper, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 503
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstance instance, ParameterHelper parameterHelper, IFunctionOutputDefinition outputDefinition, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 439
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstance instance, FunctionStartedMessage message, FunctionInstanceLogEntry instanceLogEntry, ParameterHelper parameterHelper, ILogger logger, CancellationToken cancellationToken) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 249. IsReplay: False. State: Failed. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 91.
2018-12-20T16:30:27.429 [Information] Executing 'IssueCertificate' (Reason='', Id=472439d0-f211-4e66-9c46-f8764378e5c8)
2018-12-20T16:30:27.430 [Information] Executed 'IssueCertificate' (Succeeded, Id=472439d0-f211-4e66-9c46-f8764378e5c8)
2018-12-20T16:30:27.429 [Information] Executing 'IssueCertificate' (Reason='', Id=472439d0-f211-4e66-9c46-f8764378e5c8)
2018-12-20T16:30:27.430 [Information] Executed 'IssueCertificate' (Succeeded, Id=472439d0-f211-4e66-9c46-f8764378e5c8)
2018-12-20T16:30:27.431 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'IssueCertificate (Orchestrator)' awaited. IsReplay: False. State: Awaited. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 92.
2018-12-20T16:30:33.652 [Information] Executing 'IssueCertificate' (Reason='', Id=e6852e06-ac89-4521-a39e-b19fadd51f21)
2018-12-20T16:30:33.653 [Information] Executed 'IssueCertificate' (Succeeded, Id=e6852e06-ac89-4521-a39e-b19fadd51f21)
2018-12-20T16:30:33.653 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'IssueCertificate (Orchestrator)' awaited. IsReplay: False. State: Awaited. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 93.
2018-12-20T16:30:33.670 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'CheckIsReady (Activity)' started. IsReplay: False. Input: (2512 bytes). State: Started. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 94.
2018-12-20T16:30:33.671 [Information] Executing 'CheckIsReady' (Reason='', Id=04b95902-0fbf-488d-8bff-e6649ec6a70e)
2018-12-20T16:30:33.827 [Error] Executed 'CheckIsReady' (Failed, Id=04b95902-0fbf-488d-8bff-e6649ec6a70e)
Invalid order status is invalid
2018-12-20T16:30:36.787 [Error] c56f0e67d8ca45a491bc903265f985e0: Function 'CheckIsReady (Activity)' failed with an error. Reason: System.InvalidOperationException: Invalid order status is invalid
   at AzureKeyVault.LetsEncrypt.SharedFunctions.CheckIsReady(DurableActivityContext context, ILogger log)
   at Microsoft.Azure.WebJobs.Host.Executors.VoidTaskMethodInvoker`2.InvokeAsync(TReflected instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\VoidTaskMethodInvoker.cs:line 20
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker`2.InvokeAsync(Object instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionInvoker.cs:line 63
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.InvokeAsync(IFunctionInvoker invoker, ParameterHelper parameterHelper, CancellationTokenSource timeoutTokenSource, CancellationTokenSource functionCancellationTokenSource, Boolean throwOnTimeout, TimeSpan timerInterval, IFunctionInstance instance) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 556
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithWatchersAsync(IFunctionInstance instance, ParameterHelper parameterHelper, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 503
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstance instance, ParameterHelper parameterHelper, IFunctionOutputDefinition outputDefinition, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 439
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstance instance, FunctionStartedMessage message, FunctionInstanceLogEntry instanceLogEntry, ParameterHelper parameterHelper, ILogger logger, CancellationToken cancellationToken) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 249. IsReplay: False. State: Failed. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 95.
2018-12-20T16:30:33.652 [Information] Executing 'IssueCertificate' (Reason='', Id=e6852e06-ac89-4521-a39e-b19fadd51f21)
2018-12-20T16:30:33.653 [Information] Executed 'IssueCertificate' (Succeeded, Id=e6852e06-ac89-4521-a39e-b19fadd51f21)
2018-12-20T16:30:33.671 [Information] Executing 'CheckIsReady' (Reason='', Id=04b95902-0fbf-488d-8bff-e6649ec6a70e)
2018-12-20T16:30:36.734 [Error] Executed 'CheckIsReady' (Failed, Id=04b95902-0fbf-488d-8bff-e6649ec6a70e)
Invalid order status is invalid
2018-12-20T16:30:36.945 [Information] Executing 'IssueCertificate' (Reason='', Id=37ffc595-b75a-4af3-9e85-b99ac072fe7d)
2018-12-20T16:30:36.948 [Information] Executed 'IssueCertificate' (Succeeded, Id=37ffc595-b75a-4af3-9e85-b99ac072fe7d)
2018-12-20T16:30:36.945 [Information] Executing 'IssueCertificate' (Reason='', Id=37ffc595-b75a-4af3-9e85-b99ac072fe7d)
2018-12-20T16:30:36.947 [Information] Executed 'IssueCertificate' (Succeeded, Id=37ffc595-b75a-4af3-9e85-b99ac072fe7d)
2018-12-20T16:30:36.948 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'IssueCertificate (Orchestrator)' awaited. IsReplay: False. State: Awaited. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 96.
2018-12-20T16:30:40.998 [Information] Executing 'IssueCertificate' (Reason='', Id=335404a9-d8e5-488f-81df-76f5c9a989da)
2018-12-20T16:30:40.999 [Information] Executed 'IssueCertificate' (Succeeded, Id=335404a9-d8e5-488f-81df-76f5c9a989da)
2018-12-20T16:30:40.999 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'IssueCertificate (Orchestrator)' awaited. IsReplay: False. State: Awaited. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 97.
2018-12-20T16:30:41.022 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'CheckIsReady (Activity)' started. IsReplay: False. Input: (2512 bytes). State: Started. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 98.
2018-12-20T16:30:41.023 [Information] Executing 'CheckIsReady' (Reason='', Id=58f6d4a3-7e3d-403b-ae1c-9f5851d6a706)
2018-12-20T16:30:41.168 [Error] Executed 'CheckIsReady' (Failed, Id=58f6d4a3-7e3d-403b-ae1c-9f5851d6a706)
Invalid order status is invalid
2018-12-20T16:30:41.023 [Information] Executing 'CheckIsReady' (Reason='', Id=58f6d4a3-7e3d-403b-ae1c-9f5851d6a706)
2018-12-20T16:30:41.302 [Error] Executed 'CheckIsReady' (Failed, Id=58f6d4a3-7e3d-403b-ae1c-9f5851d6a706)
Invalid order status is invalid
2018-12-20T16:30:41.393 [Error] c56f0e67d8ca45a491bc903265f985e0: Function 'CheckIsReady (Activity)' failed with an error. Reason: System.InvalidOperationException: Invalid order status is invalid
   at AzureKeyVault.LetsEncrypt.SharedFunctions.CheckIsReady(DurableActivityContext context, ILogger log)
   at Microsoft.Azure.WebJobs.Host.Executors.VoidTaskMethodInvoker`2.InvokeAsync(TReflected instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\VoidTaskMethodInvoker.cs:line 20
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker`2.InvokeAsync(Object instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionInvoker.cs:line 63
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.InvokeAsync(IFunctionInvoker invoker, ParameterHelper parameterHelper, CancellationTokenSource timeoutTokenSource, CancellationTokenSource functionCancellationTokenSource, Boolean throwOnTimeout, TimeSpan timerInterval, IFunctionInstance instance) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 556
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithWatchersAsync(IFunctionInstance instance, ParameterHelper parameterHelper, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 503
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstance instance, ParameterHelper parameterHelper, IFunctionOutputDefinition outputDefinition, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 439
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstance instance, FunctionStartedMessage message, FunctionInstanceLogEntry instanceLogEntry, ParameterHelper parameterHelper, ILogger logger, CancellationToken cancellationToken) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 249. IsReplay: False. State: Failed. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 99.
2018-12-20T16:30:40.998 [Information] Executing 'IssueCertificate' (Reason='', Id=335404a9-d8e5-488f-81df-76f5c9a989da)
2018-12-20T16:30:40.999 [Information] Executed 'IssueCertificate' (Succeeded, Id=335404a9-d8e5-488f-81df-76f5c9a989da)
2018-12-20T16:30:41.631 [Information] Executing 'IssueCertificate' (Reason='', Id=af5dd29b-ac59-4ef7-a832-81e2f75b3802)
2018-12-20T16:30:41.632 [Information] Executed 'IssueCertificate' (Succeeded, Id=af5dd29b-ac59-4ef7-a832-81e2f75b3802)
2018-12-20T16:30:41.631 [Information] Executing 'IssueCertificate' (Reason='', Id=af5dd29b-ac59-4ef7-a832-81e2f75b3802)
2018-12-20T16:30:41.632 [Information] Executed 'IssueCertificate' (Succeeded, Id=af5dd29b-ac59-4ef7-a832-81e2f75b3802)
2018-12-20T16:30:41.632 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'IssueCertificate (Orchestrator)' awaited. IsReplay: False. State: Awaited. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 100.
2018-12-20T16:30:48.868 [Information] Executing 'IssueCertificate' (Reason='', Id=894db1fd-47cf-4fa3-8cfc-36f0bc9fcdc0)
2018-12-20T16:30:48.869 [Information] Executed 'IssueCertificate' (Succeeded, Id=894db1fd-47cf-4fa3-8cfc-36f0bc9fcdc0)
2018-12-20T16:30:48.906 [Information] Executing 'CheckIsReady' (Reason='', Id=5915cf22-2641-4eb9-ad8d-29a4a9916648)
2018-12-20T16:30:48.868 [Information] Executing 'IssueCertificate' (Reason='', Id=894db1fd-47cf-4fa3-8cfc-36f0bc9fcdc0)
2018-12-20T16:30:48.869 [Information] Executed 'IssueCertificate' (Succeeded, Id=894db1fd-47cf-4fa3-8cfc-36f0bc9fcdc0)
2018-12-20T16:30:48.869 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'IssueCertificate (Orchestrator)' awaited. IsReplay: False. State: Awaited. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 101.
2018-12-20T16:30:48.905 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'CheckIsReady (Activity)' started. IsReplay: False. Input: (2512 bytes). State: Started. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 102.
2018-12-20T16:30:48.906 [Information] Executing 'CheckIsReady' (Reason='', Id=5915cf22-2641-4eb9-ad8d-29a4a9916648)
2018-12-20T16:30:49.023 [Error] Executed 'CheckIsReady' (Failed, Id=5915cf22-2641-4eb9-ad8d-29a4a9916648)
Invalid order status is invalid
2018-12-20T16:30:53.893 [Error] c56f0e67d8ca45a491bc903265f985e0: Function 'CheckIsReady (Activity)' failed with an error. Reason: System.InvalidOperationException: Invalid order status is invalid
   at AzureKeyVault.LetsEncrypt.SharedFunctions.CheckIsReady(DurableActivityContext context, ILogger log)
   at Microsoft.Azure.WebJobs.Host.Executors.VoidTaskMethodInvoker`2.InvokeAsync(TReflected instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\VoidTaskMethodInvoker.cs:line 20
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker`2.InvokeAsync(Object instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionInvoker.cs:line 63
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.InvokeAsync(IFunctionInvoker invoker, ParameterHelper parameterHelper, CancellationTokenSource timeoutTokenSource, CancellationTokenSource functionCancellationTokenSource, Boolean throwOnTimeout, TimeSpan timerInterval, IFunctionInstance instance) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 556
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithWatchersAsync(IFunctionInstance instance, ParameterHelper parameterHelper, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 503
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstance instance, ParameterHelper parameterHelper, IFunctionOutputDefinition outputDefinition, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 439
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstance instance, FunctionStartedMessage message, FunctionInstanceLogEntry instanceLogEntry, ParameterHelper parameterHelper, ILogger logger, CancellationToken cancellationToken) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 249. IsReplay: False. State: Failed. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 103.
2018-12-20T16:30:53.861 [Error] Executed 'CheckIsReady' (Failed, Id=5915cf22-2641-4eb9-ad8d-29a4a9916648)
Invalid order status is invalid
2018-12-20T16:30:53.939 [Information] Executing 'IssueCertificate' (Reason='', Id=0b969299-63d1-41ca-be1a-c5d7e3359607)
2018-12-20T16:30:53.941 [Information] Executed 'IssueCertificate' (Succeeded, Id=0b969299-63d1-41ca-be1a-c5d7e3359607)
2018-12-20T16:30:53.939 [Information] Executing 'IssueCertificate' (Reason='', Id=0b969299-63d1-41ca-be1a-c5d7e3359607)
2018-12-20T16:30:53.940 [Information] Executed 'IssueCertificate' (Succeeded, Id=0b969299-63d1-41ca-be1a-c5d7e3359607)
2018-12-20T16:30:53.941 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'IssueCertificate (Orchestrator)' awaited. IsReplay: False. State: Awaited. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 104.
2018-12-20T16:31:00.137 [Information] Executing 'IssueCertificate' (Reason='', Id=8bf7e1e3-65f6-4904-8731-a675e418fa81)
2018-12-20T16:31:00.138 [Information] Executed 'IssueCertificate' (Succeeded, Id=8bf7e1e3-65f6-4904-8731-a675e418fa81)
2018-12-20T16:31:00.139 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'IssueCertificate (Orchestrator)' awaited. IsReplay: False. State: Awaited. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 105.
2018-12-20T16:31:00.156 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'CheckIsReady (Activity)' started. IsReplay: False. Input: (2512 bytes). State: Started. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 106.
2018-12-20T16:31:00.157 [Information] Executing 'CheckIsReady' (Reason='', Id=a38ef373-3e9a-44be-bc20-0964d871106b)
2018-12-20T16:31:00.848 [Error] Executed 'CheckIsReady' (Failed, Id=a38ef373-3e9a-44be-bc20-0964d871106b)
Invalid order status is invalid
2018-12-20T16:31:00.137 [Information] Executing 'IssueCertificate' (Reason='', Id=8bf7e1e3-65f6-4904-8731-a675e418fa81)
2018-12-20T16:31:00.138 [Information] Executed 'IssueCertificate' (Succeeded, Id=8bf7e1e3-65f6-4904-8731-a675e418fa81)
2018-12-20T16:31:00.157 [Information] Executing 'CheckIsReady' (Reason='', Id=a38ef373-3e9a-44be-bc20-0964d871106b)
2018-12-20T16:31:01.000 [Error] Executed 'CheckIsReady' (Failed, Id=a38ef373-3e9a-44be-bc20-0964d871106b)
Invalid order status is invalid
2018-12-20T16:31:01.409 [Error] c56f0e67d8ca45a491bc903265f985e0: Function 'CheckIsReady (Activity)' failed with an error. Reason: System.InvalidOperationException: Invalid order status is invalid
   at AzureKeyVault.LetsEncrypt.SharedFunctions.CheckIsReady(DurableActivityContext context, ILogger log)
   at Microsoft.Azure.WebJobs.Host.Executors.VoidTaskMethodInvoker`2.InvokeAsync(TReflected instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\VoidTaskMethodInvoker.cs:line 20
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker`2.InvokeAsync(Object instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionInvoker.cs:line 63
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.InvokeAsync(IFunctionInvoker invoker, ParameterHelper parameterHelper, CancellationTokenSource timeoutTokenSource, CancellationTokenSource functionCancellationTokenSource, Boolean throwOnTimeout, TimeSpan timerInterval, IFunctionInstance instance) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 556
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithWatchersAsync(IFunctionInstance instance, ParameterHelper parameterHelper, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 503
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstance instance, ParameterHelper parameterHelper, IFunctionOutputDefinition outputDefinition, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 439
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstance instance, FunctionStartedMessage message, FunctionInstanceLogEntry instanceLogEntry, ParameterHelper parameterHelper, ILogger logger, CancellationToken cancellationToken) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 249. IsReplay: False. State: Failed. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 107.
2018-12-20T16:31:01.469 [Information] Executing 'IssueCertificate' (Reason='', Id=98dfc7a3-db6d-471f-8048-57a6a6a131a1)
2018-12-20T16:31:01.470 [Information] Executed 'IssueCertificate' (Succeeded, Id=98dfc7a3-db6d-471f-8048-57a6a6a131a1)
2018-12-20T16:31:01.469 [Information] Executing 'IssueCertificate' (Reason='', Id=98dfc7a3-db6d-471f-8048-57a6a6a131a1)
2018-12-20T16:31:01.470 [Information] Executed 'IssueCertificate' (Succeeded, Id=98dfc7a3-db6d-471f-8048-57a6a6a131a1)
2018-12-20T16:31:01.471 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'IssueCertificate (Orchestrator)' awaited. IsReplay: False. State: Awaited. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 108.
2018-12-20T16:31:08.159 [Information] Executing 'IssueCertificate' (Reason='', Id=08008184-cca0-4061-8ecc-a6d7560d259e)
2018-12-20T16:31:08.160 [Information] Executed 'IssueCertificate' (Succeeded, Id=08008184-cca0-4061-8ecc-a6d7560d259e)
2018-12-20T16:31:08.161 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'IssueCertificate (Orchestrator)' awaited. IsReplay: False. State: Awaited. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 109.
2018-12-20T16:31:08.198 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'CheckIsReady (Activity)' started. IsReplay: False. Input: (2512 bytes). State: Started. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 110.
2018-12-20T16:31:08.199 [Information] Executing 'CheckIsReady' (Reason='', Id=2b970d07-27fa-4f7a-986e-e891883eedbf)
2018-12-20T16:31:08.323 [Error] Executed 'CheckIsReady' (Failed, Id=2b970d07-27fa-4f7a-986e-e891883eedbf)
Invalid order status is invalid
2018-12-20T16:31:08.388 [Error] c56f0e67d8ca45a491bc903265f985e0: Function 'CheckIsReady (Activity)' failed with an error. Reason: System.InvalidOperationException: Invalid order status is invalid
   at AzureKeyVault.LetsEncrypt.SharedFunctions.CheckIsReady(DurableActivityContext context, ILogger log)
   at Microsoft.Azure.WebJobs.Host.Executors.VoidTaskMethodInvoker`2.InvokeAsync(TReflected instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\VoidTaskMethodInvoker.cs:line 20
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker`2.InvokeAsync(Object instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionInvoker.cs:line 63
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.InvokeAsync(IFunctionInvoker invoker, ParameterHelper parameterHelper, CancellationTokenSource timeoutTokenSource, CancellationTokenSource functionCancellationTokenSource, Boolean throwOnTimeout, TimeSpan timerInterval, IFunctionInstance instance) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 556
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithWatchersAsync(IFunctionInstance instance, ParameterHelper parameterHelper, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 503
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstance instance, ParameterHelper parameterHelper, IFunctionOutputDefinition outputDefinition, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 439
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstance instance, FunctionStartedMessage message, FunctionInstanceLogEntry instanceLogEntry, ParameterHelper parameterHelper, ILogger logger, CancellationToken cancellationToken) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 249. IsReplay: False. State: Failed. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 111.
2018-12-20T16:31:08.199 [Information] Executing 'CheckIsReady' (Reason='', Id=2b970d07-27fa-4f7a-986e-e891883eedbf)
2018-12-20T16:31:08.362 [Error] Executed 'CheckIsReady' (Failed, Id=2b970d07-27fa-4f7a-986e-e891883eedbf)
Invalid order status is invalid
2018-12-20T16:31:08.159 [Information] Executing 'IssueCertificate' (Reason='', Id=08008184-cca0-4061-8ecc-a6d7560d259e)
2018-12-20T16:31:08.160 [Information] Executed 'IssueCertificate' (Succeeded, Id=08008184-cca0-4061-8ecc-a6d7560d259e)
2018-12-20T16:31:08.434 [Information] Executing 'IssueCertificate' (Reason='', Id=6b2d695d-1819-44a2-9159-948abef125cb)
2018-12-20T16:31:08.436 [Information] Executed 'IssueCertificate' (Succeeded, Id=6b2d695d-1819-44a2-9159-948abef125cb)
2018-12-20T16:31:08.434 [Information] Executing 'IssueCertificate' (Reason='', Id=6b2d695d-1819-44a2-9159-948abef125cb)
2018-12-20T16:31:08.435 [Information] Executed 'IssueCertificate' (Succeeded, Id=6b2d695d-1819-44a2-9159-948abef125cb)
2018-12-20T16:31:08.437 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'IssueCertificate (Orchestrator)' awaited. IsReplay: False. State: Awaited. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 112.
2018-12-20T16:31:15.196 [Information] Executing 'IssueCertificate' (Reason='', Id=dbae3e70-dbff-412a-af48-15dcc38dd792)
2018-12-20T16:31:15.197 [Information] Executed 'IssueCertificate' (Succeeded, Id=dbae3e70-dbff-412a-af48-15dcc38dd792)
2018-12-20T16:31:15.197 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'IssueCertificate (Orchestrator)' awaited. IsReplay: False. State: Awaited. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 113.
2018-12-20T16:31:15.321 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'CheckIsReady (Activity)' started. IsReplay: False. Input: (2512 bytes). State: Started. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 114.
2018-12-20T16:31:15.322 [Information] Executing 'CheckIsReady' (Reason='', Id=3c4710f8-6eed-4557-9914-f2a65c9f5b65)
2018-12-20T16:31:15.682 [Error] Executed 'CheckIsReady' (Failed, Id=3c4710f8-6eed-4557-9914-f2a65c9f5b65)
Invalid order status is invalid
2018-12-20T16:31:15.196 [Information] Executing 'IssueCertificate' (Reason='', Id=dbae3e70-dbff-412a-af48-15dcc38dd792)
2018-12-20T16:31:15.197 [Information] Executed 'IssueCertificate' (Succeeded, Id=dbae3e70-dbff-412a-af48-15dcc38dd792)
2018-12-20T16:31:15.322 [Information] Executing 'CheckIsReady' (Reason='', Id=3c4710f8-6eed-4557-9914-f2a65c9f5b65)
2018-12-20T16:31:18.701 [Error] Executed 'CheckIsReady' (Failed, Id=3c4710f8-6eed-4557-9914-f2a65c9f5b65)
Invalid order status is invalid
2018-12-20T16:31:22.244 [Error] c56f0e67d8ca45a491bc903265f985e0: Function 'CheckIsReady (Activity)' failed with an error. Reason: System.InvalidOperationException: Invalid order status is invalid
   at AzureKeyVault.LetsEncrypt.SharedFunctions.CheckIsReady(DurableActivityContext context, ILogger log)
   at Microsoft.Azure.WebJobs.Host.Executors.VoidTaskMethodInvoker`2.InvokeAsync(TReflected instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\VoidTaskMethodInvoker.cs:line 20
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker`2.InvokeAsync(Object instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionInvoker.cs:line 63
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.InvokeAsync(IFunctionInvoker invoker, ParameterHelper parameterHelper, CancellationTokenSource timeoutTokenSource, CancellationTokenSource functionCancellationTokenSource, Boolean throwOnTimeout, TimeSpan timerInterval, IFunctionInstance instance) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 556
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithWatchersAsync(IFunctionInstance instance, ParameterHelper parameterHelper, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 503
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstance instance, ParameterHelper parameterHelper, IFunctionOutputDefinition outputDefinition, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 439
   at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstance instance, FunctionStartedMessage message, FunctionInstanceLogEntry instanceLogEntry, ParameterHelper parameterHelper, ILogger logger, CancellationToken cancellationToken) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 249. IsReplay: False. State: Failed. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 115.
2018-12-20T16:31:23.522 [Information] Executing 'IssueCertificate' (Reason='', Id=306f97e1-9d42-4e2f-ae4e-6ef0d275b936)
2018-12-20T16:31:23.525 [Information] Executed 'IssueCertificate' (Succeeded, Id=306f97e1-9d42-4e2f-ae4e-6ef0d275b936)
2018-12-20T16:31:23.522 [Information] Executing 'IssueCertificate' (Reason='', Id=306f97e1-9d42-4e2f-ae4e-6ef0d275b936)
2018-12-20T16:31:23.525 [Information] Executed 'IssueCertificate' (Succeeded, Id=306f97e1-9d42-4e2f-ae4e-6ef0d275b936)
2018-12-20T16:31:23.529 [Information] c56f0e67d8ca45a491bc903265f985e0: Function 'IssueCertificate (Orchestrator)' awaited. IsReplay: False. State: Awaited. HubName: DurableFunctionsHub. AppName: cert-updater. SlotName: Production. ExtensionVersion: 1.7.0. SequenceNumber: 116.

Key Vault Certificate Renew?

Will the issued certificate that is downloaded from Key Vault and use within azure be automatically renewed 30 days before their expiration?

In addition, can i check if one subscription user assigned managed identity can assess another subscription key vault certificate? I having issue setup HTTPS within the Application Gateway without downloading and uploading certificate. I cannot find the key vault.

Sorry to ask stupid question.

WhatsApp Image 2020-08-14 at 16 35 19

Question: Zone apex domain

Using the Web UI, how do I add a certificate for a zone apex domain?

From the Web UI screenshot I understand that I can add a certificate for sub1.contoso.com, but how do I do it for contoso.com (if contoso.com is zone apex domain) ?

Invalid order status. Required retry at first.

Hi shibayan,

For some reason every time my function attempts to renew certificates in my key vault, it fails immediately. This is the issue I receive, with no info on which of these certificates it's having trouble with.:

---> System.InvalidOperationException: Invalid order status. Required retry at first.
  at KeyVault.Acmebot.SharedFunctions.CheckIsReady(OrderDetails orderDetails) in d:\a\1\s\KeyVault.Acmebot\SharedFunctions.cs:line 225
  at Microsoft.Azure.WebJobs.Host.Executors.VoidTaskMethodInvoker`2.InvokeAsync(TReflected instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\VoidTaskMethodInvoker.cs:line 20
  at Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker`2.InvokeAsync(Object instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionInvoker.cs:line 52
  at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.InvokeAsync(IFunctionInvoker invoker, ParameterHelper parameterHelper, CancellationTokenSource timeoutTokenSource, CancellationTokenSource functionCancellationTokenSource, Boolean throwOnTimeout, TimeSpan timerInterval, IFunctionInstance instance) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 566
  at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithWatchersAsync(IFunctionInstanceEx instance, ParameterHelper parameterHelper, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 514
  at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstanceEx instance, ParameterHelper parameterHelper, IFunctionOutputDefinition outputDefinition, ILogger logger, CancellationTokenSource functionCancellationTokenSource) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 458
  at Microsoft.Azure.WebJobs.Host.Executors.FunctionExecutor.ExecuteWithLoggingAsync(IFunctionInstanceEx instance, FunctionStartedMessage message, FunctionInstanceLogEntry instanceLogEntry, ParameterHelper parameterHelper, ILogger logger, CancellationToken cancellationToken) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionExecutor.cs:line 270
  --- End of inner exception stack trace ---
  at Microsoft.Azure.WebJobs.Extensions.DurableTask.DurableOrchestrationContext.CallDurableTaskFunctionAsync[TResult](String functionName, FunctionType functionType, Boolean oneWay, String instanceId, String operation, RetryOptions retryOptions, Object input, Nullable`1 scheduledTimeUtc) in d:\a\r1\a\azure-functions-durable-extension\src\WebJobs.Extensions.DurableTask\ContextImplementations\DurableOrchestrationContext.cs:line 617
  at KeyVault.Acmebot.SharedFunctions.IssueCertificate(IDurableOrchestrationContext context) in d:\a\1\s\KeyVault.Acmebot\SharedFunctions.cs:line 74
  at Microsoft.Azure.WebJobs.Host.Executors.VoidTaskMethodInvoker`2.InvokeAsync(TReflected instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\VoidTaskMethodInvoker.cs:line 20
  at Microsoft.Azure.WebJobs.Host.Executors.FunctionInvoker`2.InvokeAsync(Object instance, Object[] arguments) in C:\projects\azure-webjobs-sdk-rqm4t\src\Microsoft.Azure.WebJobs.Host\Executors\FunctionInvoker.cs:line 52
  at Microsoft.Azure.WebJobs.Extensions.DurableTask.TaskOrchestrationShim.Execute(OrchestrationContext innerContext, String serializedInput) in d:\a\r1\a\azure-functions-durable-extension\src\WebJobs.Extensions.DurableTask\Listener\TaskOrchestrationShim.cs:line 86```

DNS Zone Dropdown sometimes is empty

When reloading the page, loading the DNS Zones Dropdown takes minutes and is sometimes empty. Pressing reload again then sometimes loads the list, sometimes it still keeps empty.

Bildschirmfoto 2020-06-10 um 10 03 06

vaultBaseUrl missing

After deployment, "vaultBaseUrl" is missing from the application settings in the function app. The README also incorrectly states to use VaultBaseName.

Questions about pricing

So i'm still a bit new to azure. Sorry if this is a dumb question.

  • When creating the template it also creates a application insights resource, why is this needed?

  • So when request a certificate via domain/add-certificate it auto renews every 60 days? Thats what the function does?

  • Key Vault pricing on azure states 3 euro for renewals. Does that mean for this app as wel? so a certificate wil be renewed 6 times a year so that's 18 eu a year?

Thanks!

Auto-renew

Hi, how does this app auto renew certs? I can see the new cert added to the keyvault, but not sure where to check the status and how to set the renewal period.

'Dns01Authorization' failing.

Hi,
Thank you for the great work.

I deployed the function but upon running it I'm getting this error

"Orchestrator function 'IssueCertificate' failed: The activity function 'Dns01Authorization' failed

When trying to run AddCertificate_HttpStart

Apparently there's a bad request somewhere but I can't define exactly where, investigating the response I found this.

The server encountered an error processing the request. The exception message is 'Object reference not set to an instance of an object.

I wonder if this is a bug or I'm doing something wrong.

Thanks again!

fix (?) DNS Zone Name vs DNS Domain Name

The example shows daruyanagi.com in the dropdown. Is that the name of the DNS Zone in your Azure? Do we have to make a DNS Zone with the same name as our root domain for it to work? I noticed I set up my DNS zone with a different name, will that info in the UI get carried through in the function to the request to Let's Encrypt? Or do you query the CNAME records stored in the DNS Zone itself?

Step 5 doesnt make sense

Assign DNS Zone Contributor role to Azure DNS

Do you mean to the Function App, or the AAD App/Service Principal?

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.