{"id":16878740,"url":"https://github.com/peterj/ambient-mtls-demo","last_synced_at":"2025-07-14T00:36:48.299Z","repository":{"id":246286451,"uuid":"820624159","full_name":"peterj/ambient-mtls-demo","owner":"peterj","description":null,"archived":false,"fork":false,"pushed_at":"2024-06-26T21:12:41.000Z","size":3,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-25T04:43:17.163Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Shell","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/peterj.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2024-06-26T21:11:10.000Z","updated_at":"2024-06-26T21:18:42.000Z","dependencies_parsed_at":"2024-06-27T02:19:17.052Z","dependency_job_id":"99340edb-7ad4-4650-aaaa-502a341fb860","html_url":"https://github.com/peterj/ambient-mtls-demo","commit_stats":null,"previous_names":["peterj/ambient-mtls-demo"],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterj%2Fambient-mtls-demo","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterj%2Fambient-mtls-demo/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterj%2Fambient-mtls-demo/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/peterj%2Fambient-mtls-demo/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/peterj","download_url":"https://codeload.github.com/peterj/ambient-mtls-demo/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":244511042,"owners_count":20464235,"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":[],"created_at":"2024-10-13T15:51:10.189Z","updated_at":"2025-03-19T21:39:35.293Z","avatar_url":"https://github.com/peterj.png","language":"Shell","funding_links":[],"categories":[],"sub_categories":[],"readme":"# Ambient and mTLS\n\nA demo that visually shows how you can go from unencrypted communication to mutual TLS (mTLS) using the Ambient.\n\nThree commands to get started with Istio ambient:\n\n```\nbrew install istioctl\nistioctl install --set profile=ambient -y\nkubectl label ns default istio.io/dataplane-mode=ambient\n```\n\n## Setup\n\nCreate a cluster and deploy the sample apps:\n\n```shell\nkind create cluster\nkubectl apply -f client.yaml\nkubectl apply -f server.yaml\n```\n\n## From unencrypted to mTLS\n\nStart sending requests from the client to the server by running the `traffic.sh` script:\n\n```shell\n./traffic.sh\n```\n\nThe script will send random requests from the client pod to the server pod. To watch the traffic on both sides (what's leaving the client and arriving at the server), you can run the `watch.sh` script:\n\n```shell\n# Terminal 1: Watch the traffic leaving the client\n./watch.sh client\n\n# Terminal 2: Watch the traffic arriving at the server\n./watch.sh server\n```\n\nNotice the traffic is unencrypted and you can see the contents of the headers and request bodies, including any passwords, API keys or other sensitive information.\n\nNext step is to install Istio ambient:\n\n```shell\nbrew install istioctl\nistioctl install --set profile=ambient -y\n```\n\nFinally, enable ambient in the default namespace and observe the traffic again:\n\n```shell\nkubectl label namespace default istio.io/dataplane-mode=ambient\n```\n\n## L4 metrics\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterj%2Fambient-mtls-demo","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fpeterj%2Fambient-mtls-demo","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fpeterj%2Fambient-mtls-demo/lists"}