Comments (1)
I think it makes sense to consider prior art here, to see how other ACME clients tackle this, if at all. I'll start by listing the ones I know of the top of my head:
acmetool
is the only one that has it documented in every single detail, see https://github.com/hlandau/acmetool/blob/master/_doc/SCHEMA.mdlego
uses ajson
file that's sitting in the same directory as the certificate and private key
Regarding the format: bincode
itself doesn't handle schema differences at all, and from what I can tell, it might accidentally parse data even if the structs did change, so automatically falling back if it doesn't parse is dangerous.
It would be possible to split this into a wrapper instead, that contains a version number and a byte vec. After parsing the version number, the byte vec could be parsed again, this time through the correct struct. A fancy version of this, which would allow us to skip all the replication of the fields for the different versions is provided by https://lib.rs/crates/obake.
from acmed.
Related Issues (20)
- Random failure in podman deployment HOT 3
- Cargo.lock not updated/committed for 0.22.0 HOT 3
- Make {{proof}} available in base64url format, for challenge-tls-alpn-01. HOT 6
- Support for ARI (ACME Renewal Information)
- Runtime failure on 32-bit platforms on musl 1.2.0+ HOT 4
- Allow for not using any pidfile HOT 2
- Lock the dependencies by committing the Cargo.lock HOT 1
- Compliance with Let's Encrypt Integration Guide HOT 9
- Use more external crates HOT 3
- Include config directories HOT 1
- Scheduling renewals
- Exponential backoff for retrying renewals
- Functional/integration testing
- Fine grained rate-limits HOT 2
- Exposing prometheus/opentelemetry compatible metrics.
- Reduce error boilerplate using `thiserror` HOT 2
- Don't create a new http client/session on each request
- Expose file paths of cert and private key to post-operation hook
- Stop using a deprecated function when creating a certificate in tacd
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
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.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from acmed.