unixcharles / acme-client

A Ruby client for the letsencrypt's ACME protocol.
MIT License
495 stars 116 forks source link

acme-client does not work with Ruby 3.1 #225

Closed dElogics closed 1 year ago

dElogics commented 1 year ago

When attempting to run on Ruby 3.1, it results in an error 'client.rb:34:in `initialize': wrong number of arguments (given 1, expected 0) (ArgumentError)'.

auto-wildcard_debug_delete_me.tar.gz

This is an attached dockerfile bundle which builds an image using Ruby 3.1 and adds a test script in it as an entrypoint.

dentarg commented 1 year ago

Can't you just post your Dockerfile and test script here as text? Thanks

dElogics commented 1 year ago

! /usr/bin/ruby

require 'acme-client' $account_key='-----BEGIN PRIVATE KEY----- MIIEvwIBADANBgkqhkiG9w0BAQEFAASCBKkwggSlAgEAAoIBAQCtfrdznq1n0nAC 4t1QZ9/UFsu+ICPyGWG9waoc9WZg4BS5moLltMahvVkEMN6GMSmhhXAsnXfPzYHV 4SfB/8lUJDHKEXvOvUC+wSp0cifJ3fgdOcfPwFFzufH2kgcDLRnTRnurlxhlBV42 wAJE/PEiYZ+qIR6dZjcHjuCfkqmdba1jPc0lZpV54ZKiDhrmTgfW/FOVT3LGucn4 emJ5Iza2Nz2fB751xR9NIZhs/gsSCjxTKMu9vmnnRCmee+vdmi7Ks5Al5eHFmKxu jnHlfYaTkJNGG56akwylt8XY2ABkIHrSOUWQ8ZXh346K4wNWZwDcgJEX1yj5PbCz AlBQ+m91AgMBAAECggEABZoFylHhP2zn+O/iPWpdK7fgtC7Nek+ffET4fR7fQ1l4 0dVPTKNdlnNKoHwDc0m7EmAAkzAyYh88he9THUxo77KLeP6/hJlPsdkCyee1qSrl i+wFq4uGFbp3OYLVfyDBqLSp4YxrWTenJxVj/V49WuLUCOYw2twmArR2RDC0EUUf p2IrCg3OSGfF5e/XCyMk7efWB6d48clurepZxn3yJF3+sTVCmbm6Uv+OtOsAILlq GXjOqH9RRHNsfHc6dniXf88kmtiFR0jMvJOyHloOj3+iNzisMBkZ7D3png5ugA0/ MgohHTOoCcjKtJy5bLkW2V9JPgPMwA7TY2+FNXcxMQKBgQDeArDivS71+6b2Vvmd Y4UWL2WwgPZ+YKF2EAH13iV1w+dzvyPNb3g0oe3ZudDj+CFhjriJnyDuulQWFVPq HeZDwRuQFsGUloQLcxcBVdIFbEOgqTvGOphAzSq20mDYhuedn5orQC6HHFwR+s67 HDoZccylW4xiIDcTKh/GigbLNwKBgQDIDounmP3+j2bag31iiM+2AQXy/WvBbwCP BtVgZ7ppEzPVldrFHAmk5QvbMcKPqe9JuPTXA0ak0lvhOF/J5ByxZqxGePyaovkK y/0pqNAsRvmBBv1vwJwvX5aDLDTKKjKp/L6pKAS48PeSK32IakOzVppwqM8KIaq8 O5Z7n7RoswKBgQDS4eN7vRBaf8w8uqkoo1vLkwIZAqchrFAygUobbgRPNOMpwyoS /gtEk3wHEMYnhY7PyG3p68mwejVdNK0c+YG8YjX4TGVc6wxKg+waTJbOp+QlPBuX VBlDlJ86QePUSXDA/NXIt5J6rKmYOpEcktdtS/eEKs3Sd59ZCO5d/MYvSQKBgQCY +6aH71KsC3UXvF1xsDVGdNnbyzdPoFbJCOy64BeIqoqE1ieJe7tUQWMjp5WkzsqR kcKJeZPYDpT8UWPOu4XFk0JCUdq5Vc8kFoHuDY3DjjLWHEZJ4vyMrYgnnvJvdn1v yDr0mAmkc4CeYmuImdpTlfJcHHrWwJATiW2185a+SQKBgQCbpWEbQRF/RLXQ/aJX 347lNKb547+85eu0nkkJBecPeKSAP42uIZfLfU8VpbfZiOxLLNxS2Ik9jko9Jj17 8ltNcd12+Iisce+D7e3TFSWfwBaRNTr5FLaS7Uv+T5RS4NZ1eX2uaU75HOz4gAsx IJHVQlOo4vES3yk+Z48/WaUh8g== -----END PRIVATE KEY-----' client = Acme::Client.new({:private_key => OpenSSL::PKey::RSA.new($account_key), :directory => 'https://acme-v02.api.letsencrypt.org/directory', :kid => 'https://acme-v02.api.letsencrypt.org/acme/acct/983475498'})

dElogics commented 1 year ago

FROM debian:bookworm-20230703 ADD 99nolang /etc/apt/apt.conf.d/99nolang ADD 99minimal /etc/apt/apt.conf.d/99minimal ADD 99retries /etc/apt/apt.conf.d/99retries

ADD sources.list /etc/apt/sources.list

RUN chown root:root /etc/apt/apt.conf.d/99nolang /etc/apt/apt.conf.d/99minimal /etc/apt/apt.conf.d/99retries; chmod 644 /etc/apt/apt.conf.d/99retries /etc/apt/apt.conf.d/99nolang /etc/apt/apt.conf.d/99minimal RUN chown root:root /etc/localtime; chmod 644 /etc/localtime; apt-get update; apt-get -y install aptitude; aptitude -y install libc6; aptitude -y full-upgrade RUN aptitude -y install ruby-mysql2 bundler ruby-faraday RUN gem install acme-client RUN rm -f /var/cache/apt/archives/ /var/lib/apt/lists/; exit 0

ADD wildcard_autorenew.rb /usr/bin RUN chmod 700 /usr/bin/wildcard_autorenew.rb; chown root:root /usr/bin/wildcard_autorenew.rb

ENTRYPOINT ["/usr/bin/wildcard_autorenew.rb"]

unixcharles commented 1 year ago

I'm assuming something is up with your environment. We have CI integration for 2.7/3.0/3.1/3.2 and its running fine.