cloud-gov / cf-domain-broker Goto Github PK
View Code? Open in Web Editor NEWCustom Domain broker for Cloud Foundry
License: Other
Custom Domain broker for Cloud Foundry
License: Other
Currently, we take great pains to ensure that we can restart the certificate registration process without impacting the user (ie: cert registration is idempotent):
Obtain()
entry point from the lego
library.This adds a lot of complexity, which translates to difficulty in maintenance and increased time to debug issues. Since issues in this broker's operation can result in real downtime for our end users, I'd like to explore ways we can reduce this complexity, and hopefully the time it would take to fix any such issues.
To that end: What would be the expected impact on the end user if we didn't implement idempotent certificate registration? Here's what I'm imagining, but I'm hoping this starts a discussion around the idea in the comments.
Obtain()
is restarted before the user sees the DNS instructions.
TXT
record including BI believe this is pretty straight forward -- the user never notices. I also wouldn't bet on this being a more likely path. The bigger issue is...
Obtain()
is restarted after the user sees the DNS instructions.
TXT
record including BEither one of two paths would then happen:
TXT
record, but that it doesn't match the expected token (B). We can explain that this might be due to a restart on our end.This isn't great by any means, but it's also not catastrophic.
Are there other scenarios I'm not considering?
Are there other impacts in the above scenarios?
What's even the likelihood we'll hit either of these? (maybe we'll be deploying somewhat often, but we won't be provisioning new certs that frequently)
How much could we mitigate the impact on the user via documentation, clear error messages and our own support time?
How savvy are the users who'll be provisioning instances of this service? Is it primarily Federalist? If so, can we reach out to educate them of this issue beforehand?
Thanks for reading all of the above, and thanks in advance for any thoughts and ideas you can contribute below. I'll update the above with any new information from the comments.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
๐ Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. ๐๐๐
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google โค๏ธ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.