datree icon indicating copy to clipboard operation
datree copied to clipboard

disconnected environment - enable dashboad

Open bvaturi opened this issue 2 years ago • 9 comments

Describe the solution you'd like A clear and concise description of what you want to happen.

is there a way to enable internal dashboard?

  1. how does the output test is sent to the external dashboard? is there a way to mimic it?

  2. is there a way to create an internal dashboard using an Image? i can think of a way - create a docker image with the dashboard bundle with the sink target of the results, and by that i can run it on my k8s / openshift cluster.

bvaturi avatar Aug 25 '22 10:08 bvaturi

Do you mean you want to have the SaaS dashboard offline?

eyarz avatar Aug 25 '22 10:08 eyarz

yes that sums it up :)

bvaturi avatar Aug 25 '22 10:08 bvaturi

Got it.

May I ask what is the main use case for having the dashboard available on-prem?

eyarz avatar Aug 25 '22 12:08 eyarz

yes,

well we have some environments that prefer to work offline from some reasons... and we found this tool - started to exam it on our k8s clusters. this is a great tool that we found :)

bvaturi avatar Aug 28 '22 07:08 bvaturi

If you want to use Datree in air-gapped environments, it's already supported: https://hub.datree.io/setup/offline-mode

But the dashboard (UI) is not supported in offline mode. If you share your use case for the dashboard (UI), maybe we can find a quick workaround for your needs :)

eyarz avatar Aug 28 '22 09:08 eyarz

yea we are working with offline mode. but from security reasons we cant sent the result to the hub. we run health checks on our clusters, and we simply want a UI to display the results. we thought of a workaround, to build a dashboard locally, that is way i asked how the result is sent to the hub - as a json?

we know that --output json display it as a json. but is there a flag or a way to send only the json and not all the display results, like: test --> result only --> UI

bvaturi avatar Aug 28 '22 09:08 bvaturi

send only the json and not all the display results

Can you share an example of what you mean?

eyarz avatar Aug 28 '22 09:08 eyarz

well this is the output of the test:

datree test ~/.datree/k8s-demo.yaml --output json {"policyValidationResults":[{"fileName":"/root/.datree/k8s-demo.yaml","ruleResults":[{"identifier":"CONTAINERS_MISSING_IMAGE_VALUE_VERSION","name":"Ensure each container image has a pinned (tag) version","messageOnFailure":"Incorrect value for key image - specify an image version to avoid unpleasant "version surprises" in the future","occurrencesDetails":[{"metadataName":"rss-site","kind":"Deployment","skipMessage":"","occurrences":1,"isSkipped":false}]},{"identifier":"CONTAINERS_MISSING_MEMORY_LIMIT_KEY","name":"Ensure each container has a configured memory limit","messageOnFailure":"Missing property object limits.memory - value should be within the accepted boundaries recommended by the organization","occurrencesDetails":[{"metadataName":"rss-site","kind":"Deployment","skipMessage":"","occurrences":1,"isSkipped":false}]},{"identifier":"WORKLOAD_INVALID_LABELS_VALUE","name":"Ensure workload has valid label values","messageOnFailure":"Incorrect value for key(s) under labels - the vales syntax is not valid so the Kubernetes engine will not accept it","occurrencesDetails":[{"metadataName":"rss-site","kind":"Deployment","skipMessage":"","occurrences":1,"isSkipped":false}]},{"identifier":"CONTAINERS_MISSING_LIVENESSPROBE_KEY","name":"Ensure each container has a configured liveness probe","messageOnFailure":"Missing property object livenessProbe - add a properly configured livenessProbe to catch possible deadlocks","occurrencesDetails":[{"metadataName":"rss-site","kind":"Deployment","skipMessage":"","occurrences":1,"isSkipped":false}]}]}],"policySummary":{"policyName":"Default","totalRulesInPolicy":21,"totalSkippedRules":0,"totalRulesFailed":4,"totalPassedCount":17},"evaluationSummary":{"configsCount":1,"filesCount":1,"passedYamlValidationCount":1,"k8sValidation":"1/1","passedPolicyValidationCount":0},"yamlValidationResults":null,"k8sValidationResults":null}

we can take that and use it.

but when we run it with "oc datree" it spit more output. we want to know if there a formal output that we can send to the web console

bvaturi avatar Aug 28 '22 10:08 bvaturi

Can you describe what should be expected output and format to help you send it to the web console?

eyarz avatar Aug 28 '22 20:08 eyarz

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

github-actions[bot] avatar Sep 28 '22 02:09 github-actions[bot]