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

Ability to scan private git repositories (e.g. bitbucket onpremise) #3

Open
ChristianWeissCG opened this issue Mar 25, 2019 · 6 comments

Comments

@ChristianWeissCG
Copy link

ChristianWeissCG commented Mar 25, 2019

HelmQA webserver is not able to access a private bitbucket repo (at the moment), and i do not want HelmQA webserver to know my passwords or keys.

So there is the need to push a archive (zip, tgz) to HelmQA webserver or to get rid of the webserver and to execute helmQA as a cli within the CI/CD server (and to point it to a local (work-)dir or archive file).

Cross-chart statistic is for most developers not very important (the second goal, if at all) - i guess.
The primary goal of your tool should be to report concrete acionable tasks - so a cli without the "cross chart / cross repo"-stuff is welcomed. In a alpine-based docker image as a dockerized command line tool. Will end up in a very small docker image size - i guess less then 30 MB (compared to your 659MB docker image).

@spiogit
Copy link
Contributor

spiogit commented Apr 2, 2019

HelmQA specifically has split SaaS and CI/CD modes. We have successfully implemented CLI-based CI/CD here for example: appuio/charts#22 - Perhaps this comes closer to your desired solution? Thank you for your other feedback. It will be considered for the evolving implementation and packaging. As there are not many users yet, you may want to share more details about your intended use case, and therefore get a customised solution which fits your situation.

@christian-weiss
Copy link

This is a integration of helmqa instance running at helmqa-zhaw-prod-demos.appuioapp.ch in a CI pipeline, but it is still using helmqa as a webserver and sends a URL to it to ask helmqa webserver to validate this github repo.

What i am dreaming of is NOT:
http://helmqa-zhaw-prod-demos.appuioapp.ch/livecheck?repo=https://github.com/appuio/charts.git

What i need is to feed a tgz file to it:
helmqa.sh --verify local/path/to/file/myChart.tgz
helmqa.sh --verify local/path/to/file/chart/dir
To work with repos that are not hosted at github.com. Maybe using Atlassian Bitbucket or gitlab. Maybe not public (without auth). Maybe even a local dir or a local chart.tgz (without a git repo at all).

At least URLs that point directly to a tgz file (archive) would help:
http://helmqa-zhaw-prod-demos.appuioapp.ch/livecheck?repo=https://www.customwebsite.com/myChart.tgz
or
http://localhost/livecheck?repo=https://localhost:8080/myChart.tgz
(where helmqa runs as a local webservice that loads the data from another webserver at localhost:8080.)

@spiogit
Copy link
Contributor

spiogit commented Apr 11, 2019

OK, understood. The code is in principle prepared for that, but during the refactoring to OOP the main.py script lost some parameters. Essentially, you could say in main.py: 'bucket = Bucket(path = /my/local/path[.tgz])' and you should get the desired result working on directories and tgzs. We will provide a convenience script for this purpose.

@ChristianWeissCG
Copy link
Author

Do you know when the script will be available?

@ChristianWeissCG
Copy link
Author

Any news on this?

@spiogit
Copy link
Contributor

spiogit commented Jun 21, 2019

Some progress - sorry for the delay. There is now preliminary support for running the following:
docker run -ti -v $PWD:/charts jszhaw/helmqa, where $PWD references a single chart directory or a directory with multiple charts. It only runs the checks without feeding back the same JSON as the web server does, and it does not modify the exit status yet.

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

No branches or pull requests

3 participants