{"id":13839378,"url":"https://github.com/kubernetes-retired/mutating-trace-admission-controller","last_synced_at":"2025-07-11T03:32:15.215Z","repository":{"id":45910280,"uuid":"161265282","full_name":"kubernetes-retired/mutating-trace-admission-controller","owner":"kubernetes-retired","description":"[EOL] a mutating admission controller which enables experimental tracing of kubernetes object lifecycle","archived":true,"fork":false,"pushed_at":"2020-02-12T00:42:40.000Z","size":2952,"stargazers_count":23,"open_issues_count":0,"forks_count":11,"subscribers_count":7,"default_branch":"master","last_synced_at":"2024-08-05T17:23:37.239Z","etag":null,"topics":["k8s-sig-instrumentation"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kubernetes-retired.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":null,"license":"LICENSE","code_of_conduct":"code-of-conduct.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY_CONTACTS","support":null}},"created_at":"2018-12-11T02:26:50.000Z","updated_at":"2024-07-29T22:07:47.000Z","dependencies_parsed_at":"2022-09-01T01:51:36.882Z","dependency_job_id":null,"html_url":"https://github.com/kubernetes-retired/mutating-trace-admission-controller","commit_stats":null,"previous_names":["kubernetes-sigs/mutating-trace-admission-controller"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernetes-retired%2Fmutating-trace-admission-controller","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernetes-retired%2Fmutating-trace-admission-controller/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernetes-retired%2Fmutating-trace-admission-controller/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kubernetes-retired%2Fmutating-trace-admission-controller/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kubernetes-retired","download_url":"https://codeload.github.com/kubernetes-retired/mutating-trace-admission-controller/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":225675073,"owners_count":17506273,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["k8s-sig-instrumentation"],"created_at":"2024-08-04T17:00:21.085Z","updated_at":"2024-11-21T04:30:39.997Z","avatar_url":"https://github.com/kubernetes-retired.png","language":"Go","funding_links":[],"categories":["OPS"],"sub_categories":[],"readme":"# Mutating trace admission controller\n\n[Mutating admission controller](https://kubernetes.io/docs/reference/access-authn-authz/admission-controllers/#mutatingadmissionwebhook) that injects base64 encoded [OpenCensus span context](https://github.com/census-instrumentation/opencensus-specs/blob/master/trace/Span.md#spancontext) into the `trace.kubernetes.io/context` object annotation.\n\n## Purpose\n\nThe trace context injected with this mutating controller can be used by Kubernetes components to export traces associated with object lifecycles. For more information on this effort, [please refer to the official KEP](https://github.com/kubernetes/enhancements/pull/650).\n\n## Quick start\n\nThe structure of this mutating admission controller was informed by the [mutating admission webhook found here](https://github.com/morvencao/kube-mutating-webhook-tutorial). The basic idea is as follows:\n\n1) Create an HTTPS-enabled server that takes Pod json from the API server, inserts encoded span context as an annotation, and returns it \n2) Run a deployment with this webhook server, and expose it as a service\n3) Create a `MutatingWebhookConfiguration` which instructs the API server to send Pod objects to the aforementioned service upon creation\n\nThe included `Makefile` makes these steps straightforward and the available commands are as follows:\n\n* `make docker`: build local Docker image\n* `make cluster-up`: apply certificate configuration and deployment configuration to cluster for the mutating webhook\n* `make cluster-down`: delete resources associated with the mutating webhook from the active cluster\n\nThere are example patches which can be used with `kustomize` to configure the deployment of this webhook into your cluster under `deploy/base/overlays/example`. This example custom configuration can be applied with:  \n\n`kustomize build deploy/overlays/example | kubectl apply -f -`\n\nThis can be used, for example, to set different sampling policies between production and staging clusters.\n\n## Community, discussion, contribution, and support\n\nLearn how to engage with the Kubernetes community on the [community page](http://kubernetes.io/community/).\n\nYou can reach the maintainers of this project at:\n\n- [Slack channel](https://kubernetes.slack.com/messages/sig-instrumentation)\n- [Mailing list](https://groups.google.com/forum/#!forum/kubernetes-sig-instrumentation)\n\n### Code of conduct\n\nParticipation in the Kubernetes community is governed by the [Kubernetes Code of Conduct](code-of-conduct.md).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubernetes-retired%2Fmutating-trace-admission-controller","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkubernetes-retired%2Fmutating-trace-admission-controller","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkubernetes-retired%2Fmutating-trace-admission-controller/lists"}