Code Monkey home page Code Monkey logo

Comments (6)

bartbutenaers avatar bartbutenaers commented on August 23, 2024

Hi @lu4t,
Thanks for the constructive feedback!!!

on a hosted node-red instance, the acme-client node didn't show up

Can you share some more detail about the hosted node-red?
And what do you mean that it doesn't show up? In the panel on the left side of your editor, or in the flow editor?
I know for example on IBM cloud this can result in headache, as e.g. in this discussion.

Can I assume that you run Docker containers?
And is this the only contrib node that has this kind of troubles?

If you should see errors in the logs, please share those!
Bart

from node-red-contrib-letsencrypt.

lu4t avatar lu4t commented on August 23, 2024

Hi @lu4t,
Thanks for the constructive feedback!!!

on a hosted node-red instance, the acme-client node didn't show up

Can you share some more detail about the hosted node-red?
And what do you mean that it doesn't show up? In the panel on the left side of your editor, or in the flow editor?
I know for example on IBM cloud this can result in headache, as e.g. in this discussion.

Can I assume that you run Docker containers?
And is this the only contrib node that has this kind of troubles?

If you should see errors in the logs, please share those!
Bart

hi @bartbutenaers
you nailed it. This happened when deploying a node-red docker on a kubernetes cluster at IBMCloud.
I had a look at the discussion you mention, but it is not applicable to this case, you had this problem on a cloudfoundry environment (which kind of sucks, to be all honest). We are using a regular k8s cluster, which is no different of any other you would find at any other cloud provider.
When I say it doesn't show up, the node is not showing on the left... and if I import a flow which contains this node, a warning saying "the node XXXXX is not known" pops on the screen.

imagen

By the way, when I do the exact same process (following your guide on this repo) on a NR docker running on my local desktop, none of this happened, the flows are working and the node shows up.

There's no log on NR editor that I can show (nothing there).

This is the console right after installing the node:

bash-5.0# npm install bartbutenaers/node-red-contrib-letsencrypt

> @root/[email protected] postinstall /usr/src/node-red/node_modules/@root/acme
> node scripts/postinstall

npm notice created a lockfile as package-lock.json. You should commit this file.
+ [email protected]
added 46 packages from 26 contributors and audited 408 packages in 11.367s

6 packages are looking for funding
  run `npm fund` for details

found 3 moderate severity vulnerabilities
  run `npm audit fix` to fix them, or `npm audit` for details
bash-5.0# 

something that looks strange to me is, when I enter the nodes folder, I cannot see any module called acme-client. This is what I get if I do ls into node-red/node_modules folder:

abbrev                                 denque                                 jsbn                                   proxy-addr
accepts                                depd                                   json-schema                            pseudomap
acme-dns-01-cloudflare                 destroy                                json-schema-traverse                   psl
acme-dns-01-digitalocean               detect-libc                            json-stable-stringify-without-jsonify  pump
acme-dns-01-dnsimple                   dicer                                  json-stringify-safe                    pumpify
acme-dns-01-duckdns                    dom-serializer                         jsonata                                punycode
acme-dns-01-gandi                      domelementtype                         jsonfile                               qs
acme-dns-01-godaddy                    domhandler                             jsprim                                 random-bytes
acme-dns-01-namecheap                  domutils                               leven                                  range-parser
acme-dns-01-namedotcom                 duplexer3                              lodash.assignin                        raw-body
acme-dns-01-route53                    duplexify                              lodash.bind                            rc
acme-dns-01-vultr                      ecc-jsbn                               lodash.clonedeep                       read
acme-dns-01-zeit                       ee-first                               lodash.defaults                        readable-stream
acme-v2                                emoji-regex                            lodash.filter                          regenerator-runtime
agent-base                             encodeurl                              lodash.flatten                         reinterval
ajv                                    end-of-stream                          lodash.foreach                         remove-trailing-separator
ansi-regex                             entities                               lodash.map                             request
ansi-styles                            es-class                               lodash.merge                           retry
append-field                           es6-promise                            lodash.pick                            rimraf
aproba                                 es6-promisify                          lodash.reduce                          safe-buffer
are-we-there-yet                       escape-html                            lodash.reject                          safer-buffer
argparse                               escape-string-regexp                   lodash.some                            sax
array-flatten                          esprima                                lowercase-keys                         semver
asn1                                   etag                                   lru-cache                              send

it might be normal, but I was expecting to see: Lets encrypt and acme-client modules.... I hope this helps, and let me know if I can help on debugging.

best regards!

from node-red-contrib-letsencrypt.

lu4t avatar lu4t commented on August 23, 2024

part 2: I tried to install Let's encrypt node using the palette, and this is the log I got after installing:

-----------------------------------------------------------
2021-02-12T01:32:16.578Z Install : node-red-contrib-lets-encrypt 0.0.3

2021-02-12T01:32:16.877Z npm install --no-audit --no-update-notifier --no-fund --save --save-prefix=~ --production [email protected]
2021-02-12T01:32:20.084Z [err] npm
2021-02-12T01:32:20.085Z [err]  WARN deprecated [email protected]: Please use acme-dns-01-cli. See https://www.npmjs.com/package/acme-dns-01-cli
2021-02-12T01:32:22.822Z [out] 
2021-02-12T01:32:22.822Z [out] > [email protected] postinstall /data/node_modules/acme/node_modules/acme-v2
2021-02-12T01:32:22.822Z [out] > node scripts/postinstall
2021-02-12T01:32:22.822Z [out] 
2021-02-12T01:32:23.214Z [out] 
2021-02-12T01:32:23.215Z [out] �[31mGreenlock and ACME.js v3 are on the way!�[0m
2021-02-12T01:32:23.215Z [out] Watch for updates at https://indiegogo.com/at/greenlock
2021-02-12T01:32:23.215Z [out] 
2021-02-12T01:32:24.424Z [out] 
2021-02-12T01:32:24.424Z [out] > [email protected] postinstall /data/node_modules/greenlock/node_modules/acme-v2
2021-02-12T01:32:24.424Z [out] > node scripts/postinstall
2021-02-12T01:32:24.424Z [out] 
2021-02-12T01:32:24.835Z [out] 
2021-02-12T01:32:24.838Z [out] �[31mGreenlock and ACME.js v3 are on the way!�[0m
2021-02-12T01:32:24.838Z [out] Watch for updates at https://indiegogo.com/at/greenlock
2021-02-12T01:32:24.838Z [out] 
2021-02-12T01:32:26.162Z [out] + [email protected]
2021-02-12T01:32:26.162Z [out] added 43 packages from 21 contributors in 8.77s
2021-02-12T01:32:26.187Z rc=0

just in case it helps... after adding Let's encrypt node using the palette I get it listed on the left, but I still get the message saying the acme-client node is missing.

from node-red-contrib-letsencrypt.

lu4t avatar lu4t commented on August 23, 2024

part 3:
this is the most interesting one. I added a let's encrypt input node from the left navigation, then I clicked deploy flows... nothing happened.
Right after that I killed the pod, recreated a new one and there you have it. The acme-client node showed up.

I am happy, cause I get it working... but I am pretty sure this is not the install method you'd like the users of your nodes to follow.... :)

Let me know if I can help on something.

imagen

from node-red-contrib-letsencrypt.

bartbutenaers avatar bartbutenaers commented on August 23, 2024

something that looks strange to me is, when I enter the nodes folder, I cannot see any module called acme-client.

I have now installed the node on my Windows portable and this is what has been added to .node-red\node_modules folder:

12/02/2021  12:41    <DIR>          .bin
12/02/2021  12:41    <DIR>          cert-info
12/02/2021  12:41    <DIR>          node-red-contrib-letsencrypt
12/02/2021  12:41    <DIR>          acme-dns-01-zeit
12/02/2021  12:41    <DIR>          acme-v2
12/02/2021  12:41    <DIR>          bcryptjs
12/02/2021  12:41    <DIR>          check-password-strength
12/02/2021  12:41    <DIR>          acme-dns-01-route53
12/02/2021  12:41    <DIR>          acme-dns-01-namedotcom
12/02/2021  12:41    <DIR>          acme-dns-01-cloudflare
12/02/2021  12:41    <DIR>          acme-dns-01-dnsimple
12/02/2021  12:41    <DIR>          acme-dns-01-namecheap
12/02/2021  12:41    <DIR>          acme-dns-01-gandi
12/02/2021  12:41    <DIR>          acme-dns-01-vultr
12/02/2021  12:41    <DIR>          acme-dns-01-godaddy
12/02/2021  12:41    <DIR>          url-parse-lax
12/02/2021  12:41    <DIR>          got
12/02/2021  12:41    <DIR>          acme-dns-01-duckdns
12/02/2021  12:41    <DIR>          cloudflare
12/02/2021  12:41    <DIR>          unzip-response
12/02/2021  12:41    <DIR>          timed-out
12/02/2021  12:41    <DIR>          should-proxy
12/02/2021  12:41    <DIR>          url-pattern
12/02/2021  12:41    <DIR>          acme-dns-01-digitalocean
12/02/2021  12:41    <DIR>          lowercase-keys
12/02/2021  12:41    <DIR>          prepend-http
12/02/2021  12:41    <DIR>          duplexer3
12/02/2021  12:41    <DIR>          is-retry-allowed
12/02/2021  12:41    <DIR>          es-class
12/02/2021  12:41    <DIR>          is-redirect
12/02/2021  12:41    <DIR>          is-stream
12/02/2021  12:41    <DIR>          autocreate
12/02/2021  12:41    <DIR>          create-error-class
12/02/2021  12:41    <DIR>          capture-stack-trace
12/02/2021  12:41    <DIR>          get-stream
12/02/2021  12:41    <DIR>          @root

The node-red-contrib-letsencrypt folder is my node, the others are dependencies. In the early days my node called node-red-contrib-acme-client, but after a discussion on Discourse we decided to change the name (because nobody knows what acme is ...).

The weird thing is that it looks like you don't get a node-red-contrib-letsencrypt folder?

after adding Let's encrypt node using the palette I get it listed on the left

Did you install a node (which is not published on NPM) via the Node-RED flow editor menu? Have not used that yet ...

I tried to install Let's encrypt node using the palette, and this is the log I got after installing

Have not seen the v3 messages before, because at the time being there was only the v2 version of the acme library...

Right after that I killed the pod, recreated a new one and there you have it. The acme-client node showed up.

Well to be honest this is way above my paygrade. Have not used Kubernetes, and my spare time is way too limited to start with it unfortunately. If I were you, I would start a discussion on Discourse. Hopefully somebody from the community has some experience with this kind of stuff ...

from node-red-contrib-letsencrypt.

lu4t avatar lu4t commented on August 23, 2024

something that looks strange to me is, when I enter the nodes folder, I cannot see any module called acme-client.

I have now installed the node on my Windows portable and this is what has been added to .node-red\node_modules folder:

12/02/2021  12:41    <DIR>          .bin
12/02/2021  12:41    <DIR>          cert-info
12/02/2021  12:41    <DIR>          node-red-contrib-letsencrypt
12/02/2021  12:41    <DIR>          acme-dns-01-zeit
12/02/2021  12:41    <DIR>          acme-v2
12/02/2021  12:41    <DIR>          bcryptjs
12/02/2021  12:41    <DIR>          check-password-strength
12/02/2021  12:41    <DIR>          acme-dns-01-route53
12/02/2021  12:41    <DIR>          acme-dns-01-namedotcom
12/02/2021  12:41    <DIR>          acme-dns-01-cloudflare
12/02/2021  12:41    <DIR>          acme-dns-01-dnsimple
12/02/2021  12:41    <DIR>          acme-dns-01-namecheap
12/02/2021  12:41    <DIR>          acme-dns-01-gandi
12/02/2021  12:41    <DIR>          acme-dns-01-vultr
12/02/2021  12:41    <DIR>          acme-dns-01-godaddy
12/02/2021  12:41    <DIR>          url-parse-lax
12/02/2021  12:41    <DIR>          got
12/02/2021  12:41    <DIR>          acme-dns-01-duckdns
12/02/2021  12:41    <DIR>          cloudflare
12/02/2021  12:41    <DIR>          unzip-response
12/02/2021  12:41    <DIR>          timed-out
12/02/2021  12:41    <DIR>          should-proxy
12/02/2021  12:41    <DIR>          url-pattern
12/02/2021  12:41    <DIR>          acme-dns-01-digitalocean
12/02/2021  12:41    <DIR>          lowercase-keys
12/02/2021  12:41    <DIR>          prepend-http
12/02/2021  12:41    <DIR>          duplexer3
12/02/2021  12:41    <DIR>          is-retry-allowed
12/02/2021  12:41    <DIR>          es-class
12/02/2021  12:41    <DIR>          is-redirect
12/02/2021  12:41    <DIR>          is-stream
12/02/2021  12:41    <DIR>          autocreate
12/02/2021  12:41    <DIR>          create-error-class
12/02/2021  12:41    <DIR>          capture-stack-trace
12/02/2021  12:41    <DIR>          get-stream
12/02/2021  12:41    <DIR>          @root

The node-red-contrib-letsencrypt folder is my node, the others are dependencies. In the early days my node called node-red-contrib-acme-client, but after a discussion on Discourse we decided to change the name (because nobody knows what acme is ...).

The weird thing is that it looks like you don't get a node-red-contrib-letsencrypt folder?

after adding Let's encrypt node using the palette I get it listed on the left

Did you install a node (which is not published on NPM) via the Node-RED flow editor menu? Have not used that yet ...

I tried to install Let's encrypt node using the palette, and this is the log I got after installing

Have not seen the v3 messages before, because at the time being there was only the v2 version of the acme library...

Right after that I killed the pod, recreated a new one and there you have it. The acme-client node showed up.

Well to be honest this is way above my paygrade. Have not used Kubernetes, and my spare time is way too limited to start with it unfortunately. If I were you, I would start a discussion on Discourse. Hopefully somebody from the community has some experience with this kind of stuff ...

it's okay, now it seems to work properly.
The fact this is installed on a kubernetes cluster has no effect on the install process of a node. At the end of the day, it is just a docker install from the same image you would use on a localhost.
There's a node-red-contrib-letsencrypt folder. Actually, there are two. One with a dash:


bash-5.0# ls -lsa
total 332
     4 drwxr-xr-x   83 root     root          4096 Feb 12 02:37 .
     4 drwxr-xr-x    5 root     root          4096 Feb 12 08:58 ..
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:32 .bin
     4 drwxr-xr-x   11 root     root          4096 Feb 12 02:32 @root
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:32 acme
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:27 acme-dns-01-cloudflare
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:27 acme-dns-01-digitalocean
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:27 acme-dns-01-dnsimple
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:27 acme-dns-01-duckdns
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:27 acme-dns-01-gandi
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:27 acme-dns-01-godaddy
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:27 acme-dns-01-namecheap
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:27 acme-dns-01-namedotcom
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:27 acme-dns-01-route53
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:27 acme-dns-01-vultr
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:27 acme-dns-01-zeit
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:27 acme-v2
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:27 agent-base
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:27 autocreate
     4 drwxr-xr-x    9 root     root          4096 Feb 12 02:27 bcryptjs
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:27 capture-stack-trace
     4 drwxr-xr-x    4 root     root          4096 Feb 12 02:27 cert-info
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:27 check-password-strength
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:27 cloudflare
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:32 core-util-is
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:27 create-error-class
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:27 debug
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:32 detect-node
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:27 duplexer3
     4 drwxr-xr-x    5 root     root          4096 Feb 12 02:32 eckles
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:27 es-class
     4 drwxr-xr-x    4 root     root          4096 Feb 12 02:27 es6-promise
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:27 es6-promisify
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:27 get-stream
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:27 got
     4 drwxr-xr-x    4 root     root          4096 Feb 12 02:32 greenlock
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:32 greenlock-challenge-dns
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:32 greenlock-store-fs
     4 drwxr-xr-x    4 root     root          4096 Feb 12 02:32 handle-thing
     4 drwxr-xr-x    7 root     root          4096 Feb 12 02:32 hpack.js
     4 drwxr-xr-x    4 root     root          4096 Feb 12 02:32 http-deceiver
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:27 https-proxy-agent
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:32 inherits
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:27 is-redirect
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:27 is-retry-allowed
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:27 is-stream
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:32 isarray
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:32 keypairs
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:32 le-challenge-fs
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:32 le-sni-auto
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:32 le-store-certbot
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:27 lowercase-keys
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:32 minimalistic-assert
     4 drwxr-xr-x    4 root     root          4096 Feb 12 02:32 minimist
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:32 mkdirp
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:27 ms
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:32 node-red-contrib-lets-encrypt
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:37 node-red-contrib-letsencrypt
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:27 safe-buffer
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:32 safe-replace
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:27 sax
     4 drwxr-xr-x    4 root     root          4096 Feb 12 02:32 select-hose
     4 drwxr-xr-x    4 root     root          4096 Feb 12 02:27 should-proxy
     4 drwxr-xr-x    5 root     root          4096 Feb 12 02:32 spdy
     4 drwxr-xr-x    4 root     root          4096 Feb 12 02:32 spdy-transport
     4 drwxr-xr-x    4 root     root          4096 Feb 12 02:32 string_decoder
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:27 timed-out
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:27 unzip-response
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:27 url-parse-lax
     4 drwxr-xr-x    5 root     root          4096 Feb 12 02:27 url-pattern
     4 drwxr-xr-x    2 root     root          4096 Feb 12 02:32 util-deprecate
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:32 wbuf
     4 drwxr-xr-x    3 root     root          4096 Feb 12 02:27 xml2js
     4 drwxr-xr-x    4 root     root          4096 Feb 12 02:27 xmlbuilder

I believe the first one (node-red-contrib-lets-encrypt) is the one installed with the npm install command on your guide, and the second one (node-red-contrib-letsencrypt) is the one installed when using the palette. I don't know if the problem happens cause one is referenced as a dependency or something; the truth is the "acme-client" showed up after I installed the one on the palette and, right after I killed the pod (i.e. restarted the node-red docker).

from node-red-contrib-letsencrypt.

Related Issues (2)

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.