Similarly to the compose mode, this series of squashed commits adds
support for Kubernetes as an execution environment for the target
container image.
The branch is a few months old, so it has been squashed to a single commit to
reduce the complexity of the rebase & merge. Below are the messages from the squashed commits:
[Refactoring] Group all Node.js inspect flags into a single DTO
With the upcoming addition of Kubernetes support, we need to figure out
a way of sharing code between the existing container.Insepector and the
new pod.Inspector. In particular, it can be done through shared config
objects.
[Refactoring] Extract fat image building into a separate function
[Refactoring] Extract fat image inspection into a separate subroutine.
Bring in Kubernetes client-go dependency
Fix github.com/getkin/kin-openapi usage - got broken by version bump
Finding K8s workloads
Inspecting fat kubernetes workload image
Injecting sensor into K8s workload - initial phase
Introduce `kubectl` client
Injecting sensor into pod (cont.)
Get artifacts from the pod
[Refactoring] Extract building slim images into a subroutine
Put the rest of the build.handler logic to the kubernetes build subroutine
Applying Kubernetes manifest(s)
[Refactoring] Revamped Kubernetes Workload Finder
[Refactoring] Reshape Kubernetes logic
Scale down Kubernetes workloads after slimming
Restore Kubernetes workload to the original state if no manifest is used
[Refactoring] Introduce HTTPProbeOptions struct and refactor the code
Basic Kubernetes workload monitoring - CAMEnter, CAMTimeout, CAMSignal, CAMExec
Fix (workaround) for kubectl cp missing file permissions
master rebase
[Refactoring] Remove unused HTTP Probe Proxy flags
Fix HTTP probe having no ports
Use latest set of e2e tests
HTTP probe for Kubernetes workloads
Refine Kubernetes-related flag names
Bump down Kubernetes deps to v1.22 to keep Go at v1.16
* Add unit tests for deserialiseHealtheckInstruction
* Do not add default values for HEALTHCHECK to the reconstructed one
* Correct HEALTHCHECK parsing
deserialiseHealtheckInstruction is expecting to get the full history line and
not just the parameters
* Fix the parsing of retries in HEALTHCHECK
the --retries value in the history is formatted via %q, which means that we have
to treat the cases of the number being printed as a hex value, a unicode value,
a character or a C escape sequence separately
* Fix formatting of the --retries parameter for HEALTHCHECK
* update vendored dependencies
* Fix reconstruction of the CMD-SHELL HEALTHCHECK
the config.Test when HEALTHCHECK is using the shell form is expected to be a two
element array: the first entry is `CMD-SHELL` and the second is the full
command. We were erronously using the split value here instead of joined one.
* add support to pull from private registry with --registry flags
* document registry username / password setting usage info
* remove use of deprecated Inspect call
* use extracted auth config
* assume dockerhub when we do not have a registry
* cleanup
* cleanup
* use registry account and secret
* add support for explicit docker-config flag
* update README, add docker config command
* update README, add docker config command
* fix shadowed err
* nuxt includes
* nuxt includes cleanup
* nuxt add logging on warn /err
Co-authored-by: Kyle Quest <kcq.public@gmail.com>
* adds function to deserialise Healthcheck instruction
Signed-off-by: Mritunjay Sharma <mritunjaysharma394@gmail.com>
* refactors and adds logic to get healthcheck inst for Dockerfile
Signed-off-by: Mritunjay Sharma <mritunjaysharma394@gmail.com>
* uses the go-dockerclient for healthcheck struct
Signed-off-by: Mritunjay Sharma <mritunjaysharma394@gmail.com>
* tries to append data from input for healthcheck
Signed-off-by: Mritunjay Sharma <mritunjaysharma394@gmail.com>
* add support to pull from private registry with --registry flags
* document registry username / password setting usage info
* remove use of deprecated Inspect call
* use extracted auth config
* assume dockerhub when we do not have a registry
* cleanup
* cleanup
* use registry account and secret
* add support for explicit docker-config flag
* update README, add docker config command
* update README, add docker config command
* fix shadowed err
Before this, I got build errors complaining about undefined logrus symbols from
the docker package, e.g.
```
../../vendor/github.com/docker/docker/errdefs/http_helpers.go:103:21: undefined: logrus.Fields
```
I suspect this happened because the path for the logrus package has a casing
error, but this did not surface on case-insensitive filesystems.
In addition, I ran `go mod vendor` and `go mod tidy`, which added some
additional dependencies to go.mod.