dettrace
werf
dettrace | werf | |
---|---|---|
2 | 15 | |
29 | 3,924 | |
- | 0.9% | |
2.6 | 9.8 | |
over 3 years ago | 3 days ago | |
C++ | Go | |
GNU General Public License v3.0 or later | Apache License 2.0 |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
dettrace
-
Deterministic Linux for Controlled Testing and Software Bug-Finding
Note that this is a follow-on project from the earlier Dettrace system, which was applied mainly to reproducible builds (as in the academic paper, https://dl.acm.org/doi/10.1145/3373376.3378519, and presented to the Debian Reproducible Builds summit):
- https://github.com/dettrace/dettrace
And one cool part of it is this Rust program instrumentation layer:
- https://github.com/facebookexperimental/reverie
It's good for building OS-emulator style projects or tracing tools.
-
Shadow Simlulator – run real applications over a simulated Internet topology
We've started looking into eBPF a bit - IIUC eBPF by itself doesn't give us the ability to service or arbitrarily manipulate the traced process's syscalls.
We have recently learned of an interesting technique that dettrace [1] uses of combining seccomp with an eBPF filter and ptrace. Instead of generating a ptrace-stop for every syscall (as we do now, using PTRACE_SYSEMU), they use a seccomp policy with an eBPF filter, s.t. a ptrace-stop is only generated for syscalls that violate the policy, allowing them to emulate the result of those syscalls. syscalls that don't violate the policy are allowed to execute natively, saving a lot of overhead.
[1]: https://github.com/dettrace/dettrace
This works great for them since they want to emulate a relatively small subset of syscalls. In our case we want to emulate most syscalls, so it's not as clear-cut of a win. We have found though that if we use an LD_PRELOAD'd shim in the target process to intercept syscalls and then service them via IPC, that's substantially faster than catching them with ptrace. That runs back into the problems with LD_PRELOAD in general of there being various ways of missing syscalls. but, we may be able to use that technique along with ptrace+seccomp+ebpf to intercept any syscalls that we'd otherwise miss. The seccomp technique would allow us to exempt the syscalls that our shim itself is making to do the IPC.
werf
-
Is there a CD solution that can be (painlessly) fully automated between stages?
I am looking as well for this kind of tool. I just took a look today by exploring the CNCF landscape this tool : https://werf.io/ , I haven't used it, but it seems to take care of painful stuff like automatic versioning for example. (If someone here tried it, I will be happy to listen to your feedbacks)
-
Phabricator replacement? | Or OpenProject alternative? | issue tracking/code
Werf - um ok
-
Top 200 Kubernetes Tools for DevOps Engineer Like You
HybridK8s Droid - Intelligence foor your favourite Delivery Platform Devtron - Software Delivery Workflow for Kubernetes Skaffold - Easy and Repeatable Kubernetes Development Apollo - Apollo - The logz.io continuous deployment solution over kubernetes Helm Cabin - Web UI that visualizes Helm releases in a Kubernetes cluster flagger - Progressive delivery Kubernetes operator (Canary, A/B Testing and Blue/Green deployments) Kubeform - Kubernetes CRDs for Terraform providers https://kubeform.com Spinnaker - Spinnaker is an open source, multi-cloud continuous delivery platform for releasing software changes with high velocity and confidence. http://www.spinnaker.io/ werf - GitOps tool to deliver apps to Kubernetes and integrate this process with GitLab and other CI tools Flux - GitOps Kubernetes operator Argo CD - Declarative continuous deployment for Kubernetes Tekton - A cloud native continuous integration and delivery (CI/CD) solution Jenkins X - Jenkins X provides automated CI+CD for Kubernetes with Preview Environments on Pull Requests using Tekton, Knative, Lighthouse, Skaffold and Helm KubeVela - KubeVela works as an application delivery control plane that is fully decoupled from runtime infrastructure ksonnet - A CLI-supported framework that streamlines writing and deployment of Kubernetes configurations to multiple clusters CircleCI - A cloud-based tool that helps build continuous integration and continuous delivery pipelines to Kubernetes.
-
Deployment Watching Tool
Check out https://werf.io/ tool. It features giterminism which is somewhat similar to gitops, but it does not require pull model. Giterminism aims to improve reproducibility of your build and deploy configuration. werf also features content-based-tagging out of the box, which allows creating immutable images, stored in the container-registry, shared between multiple runners (werf uses distributed locking to prevent overriding image which is already published). Giterminism and content-based-tagging enables easy rollbacks to any git-commit in the history of your project. By design werf could be embedded into any ci/cd system.
-
werf is a CLI tool for implementing CI/CD with Kubernetes; its v1.2 became stable
Rename of dapp to werf was in Jan'19 to be precise (https://github.com/werf/werf/pull/1213).
- Werf
-
11 Open Source Kubernetes Ci Cd Tools To Improve Your Devops
Werf
-
Alternative to helmfile that works well with Github Actions
You can try werf, it has Helm under the hood and there are github actions available for it: https://github.com/werf/actions
-
werf as [yet another] way to build Docker images
As you know, there's plenty of tools that can be used to build your Docker images, besides the docker build itself. werf is an Open Source project with a long history (started in 2016 as a simple wrapper around Docker CLI). Still being a CLI tool, today it is focused not just on the building but also delivering these images to Kubernetes — and this is what makes it really different.
- Podman: A tool for managing OCI containers and pods
What are some alternatives?
mininet - Emulator for rapid prototyping of Software Defined Networks
argo-cd - Declarative Continuous Deployment for Kubernetes
shadow - Shadow is a discrete-event network simulator that directly executes real application code, enabling you to simulate distributed systems with thousands of network-connected processes in realistic and scalable private network experiments using your laptop, desktop, or server running Linux.
flux2 - Open and extensible continuous delivery solution for Kubernetes. Powered by GitOps Toolkit.
core - Common Open Research Emulator
terraform-controller - Use K8s to Run Terraform
shadow-plugin-tor - A Shadow plug-in that runs the Tor anonymity software
kaniko - Build Container Images In Kubernetes
imunes - Integrated Multiprotocol Network Emulator/Simulator
Fabric - Simple, Pythonic remote execution and deployment.
reverie - An ergonomic and safe syscall interception framework for Linux.
fleet - Deploy workloads from Git to large fleets of Kubernetes clusters