Developing a ruby gem with an acme client & cloudflare


#1

Preface

I don’t know quite where to put this, but I wanted to ask the community some questions on what would make a good behavior system and best practices on making sure it is designed with the community in mind.
I’m developing a ruby gem that will have two executables, certflare_hook which is a hook to be used when you don’t have anything else set up, and certflare which is basically a ruby version of certbot with more bells and whistles added in

Idea

I basically want to make dns validation quick and easy. Easy enough that someone can install the gem, paste in their API key and email to a prompt, have it saved to a local file on their system like cloudflare.ini on the certbot-dns-cloudflare.

They can then run a command and then use it to either put into cron, like certbot renew. Or allow copying certs and keys to a directory other than /etc/letsencrypt/(live|archive)/DOMAIN

UnixCharles has made a client for acme in Ruby, so I’ll be using that to talk to the servers.

Links

  • GitHub
    • Pre-alpha stages but part of it uses an authenticator and cleanup class file/executable, which I can then port into it.
    • Its going to use unixcharles/acme-client and thor to implement a certbot like interface.
    • It will also allow itself to be run like certflare_hook auth and certflare_hook clean.
    • It will also have management and copying abilities, as well as logging to syslog instead of a file, although i may allow options that either do both or set whether it does one of three things.
      • syslog
        • Syslog::Logger in stdlib/core
      • /var/log/certflare.#.log.gz
        • would be using stdlib/core regular Logger or Logging gem, for this since the age bit would be alot easier to implement.
      • custom logger
        • stdlib/core Logger to custom directory
        • Would also output to stdout if wanted

Where to get updates

I currently have the following integrations set to respond when triggered for actions pertaining to the repository.

Contact

  • My Contact Details
  • I’m also on mastodon, @IotaSpencer@cloutfla.re
  • Chat with me
    • All Update Channels are valid points of contact for me.

closed #2

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.