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

Support Framework and Control Sources other than GitHub #580

Open
vijaytdh opened this issue Jan 5, 2025 · 0 comments
Open

Support Framework and Control Sources other than GitHub #580

vijaytdh opened this issue Jan 5, 2025 · 0 comments
Assignees

Comments

@vijaytdh
Copy link

vijaytdh commented Jan 5, 2025

Overview

At present it looks like if you want to download frameworks/controls at run/scan time when using the kubernetes operator, this can ONLY be pulled from GitHub. Ideally other sources should be supported.

The documentation is not particularly clear on other options - it only mentions disabling the artifact download for air gapped environments - so it is possible I have missed something and there is a way to do this without public GitHub access.

Problem

At present it looks like if you want to download frameworks/controls at run/scan time when using the kubernetes operator, this can ONLY be pulled from GitHub. This is a problem for air gapped environments because you have to rely on updating the image if you do not have the option to allow unfettered access to GitHub.

Solution

There are probably several options (in order of my personal preference):

  • Make the git repo configurable so you can use GitLab etc
  • Allow using a local source (e.g. that comes from a PVC and mount - then we could have something that will periodically sync the framework/controls from cloud storage etc)

Alternatives

Running with the controls/frameworks baked into the image works but this can be a chore if you have multiple clusters. I guess it may be possible to try to set the tag to latest and pullPolicy to always but you then need to periodically trigger restarts of kubescape - which I guess you could do with a custom cron job that deletes the pod...but this is a very hacky solution.

I tried to read the code here https://github.com/kubescape/kubescape/blob/9544e9cd66e1a4b9500b11813ed649d5bfafbbeb/core/cautils/scaninfo.go#L167 and this suggests maybe there is a way to tell it to use a local location but I could not figure out how I do that. It wasn't clear if there is a configuration file option or perhaps its via a command line argument - but then you do you provide that to the container?

@matthyx matthyx moved this to Accepted in Kubescaping Jan 7, 2025
@matthyx matthyx self-assigned this Jan 7, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Status: Accepted
Development

No branches or pull requests

2 participants