Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

otterscan: initial chart #152

Open
wants to merge 4 commits into
base: master
Choose a base branch
from

Conversation

O1ahmad
Copy link

@O1ahmad O1ahmad commented Feb 8, 2023

closes: #124

@O1ahmad O1ahmad marked this pull request as draft February 8, 2023 21:50
@O1ahmad O1ahmad marked this pull request as ready for review February 15, 2023 13:50
@O1ahmad
Copy link
Author

O1ahmad commented Feb 15, 2023

Hey @skylenet @barnabasbusa - I've been waiting to open this for review while I brought an Erigon mainnet client instance to tip to test a bit more. As expected, it's taking quite a bit of time so I figured it makes sense to at least get your feedback (when you have a chance) in the meantime.

@skylenet
Copy link
Member

Hey @skylenet @barnabasbusa - I've been waiting to open this for review while I brought an Erigon mainnet client instance to tip to test a bit more. As expected, it's taking quite a bit of time so I figured it makes sense to at least get your feedback (when you have a chance) in the meantime.

Hey @0x0i . Really appreciate you taking your time and doing this PR 🙏

I haven't used Otterscan myself, so some questions/notes that come up to my mind are:

  1. Is Otterscan mainly stateless and queries it's data from somewhere else ? I think it's the case, but just double checking, because if there's some kind of state we would need to rethink of maybe using a StatefulSet instead of Deployment.
  2. I didn't see any config that points to an Erigon node. Looking at the otterscan repo, it seems that an env var like ERIGON_URL should exist.
  3. Is the WS_SECRET env var used for anything? Probably just copy/paste remains from the ethstats chart.
  4. Seems like CI is failing with some nginx permission problems. This is related to the pods securityContext:
==> Logs of container otterscan-7d2xlvz95w-7f9cdfc89-ksjwr
------------------------------------------------------------------------------------------------------------------------
/run-nginx.sh: line 3: can't create /usr/share/nginx/html/config.json: Permission denied
2023/02/12 16:41:22 [warn] 13#13: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
2023/02/12 16:41:22 [emerg] 13#13: mkdir() "/var/cache/nginx/client_temp" failed (13:

@O1ahmad
Copy link
Author

O1ahmad commented Feb 15, 2023

Hey @skylenet @barnabasbusa - I've been waiting to open this for review while I brought an Erigon mainnet client instance to tip to test a bit more. As expected, it's taking quite a bit of time so I figured it makes sense to at least get your feedback (when you have a chance) in the meantime.

Hey @0x0i . Really appreciate you taking your time and doing this PR pray

I haven't used Otterscan myself, so some questions/notes that come up to my mind are:

  1. Is Otterscan mainly stateless and queries it's data from somewhere else ? I think it's the case, but just double checking, because if there's some kind of state we would need to rethink of maybe using a StatefulSet instead of Deployment.
  2. I didn't see any config that points to an Erigon node. Looking at the otterscan repo, it seems that an env var like ERIGON_URL should exist.
  3. Is the WS_SECRET env var used for anything? Probably just copy/paste remains from the ethstats chart.
  4. Seems like CI is failing with some nginx permission problems. This is related to the pods securityContext:
==> Logs of container otterscan-7d2xlvz95w-7f9cdfc89-ksjwr
------------------------------------------------------------------------------------------------------------------------
/run-nginx.sh: line 3: can't create /usr/share/nginx/html/config.json: Permission denied
2023/02/12 16:41:22 [warn] 13#13: the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
nginx: [warn] the "user" directive makes sense only if the master process runs with super-user privileges, ignored in /etc/nginx/nginx.conf:1
2023/02/12 16:41:22 [emerg] 13#13: mkdir() "/var/cache/nginx/client_temp" failed (13:

Hey, thanks for the comments @skylenet - same here regarding not much to no prior usage of otterscan and to answer your questions:

  1. I'm confirming with the otterscan folk though it's my understanding that it's mainly stateless and queries data solely from execution clients like erigon without preserving state for caching or subsequent loading purposes.
  2. Indeed - the thinking was that ERIGION_URL could be specified as an extraEnv value. I just updated the defaults to contain a setting pointing to an erigon instance in the default namespace (to call it out) though not sure if there's a really solid default value here.
  3. copy/paste for sure - removed
  4. Ah ok thanks, noted and looking into it.

@O1ahmad
Copy link
Author

O1ahmad commented Feb 24, 2023

Hey @skylenet, I confirmed otterscan is stateless (see explanation) and also am thinking I'm missing the issue with the securityContext setup in the current chart implementation (seems to match configs throughout the other charts). Anything obvious come to mind and/or mind rerunning the workflow to gather more debug info?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Create Otterscan helm chart
2 participants