{"id":21658030,"url":"https://github.com/xigxog/kubefox","last_synced_at":"2026-01-15T00:51:30.663Z","repository":{"id":153766293,"uuid":"630631356","full_name":"xigxog/kubefox","owner":"xigxog","description":"Simplifying Kubernetes.","archived":false,"fork":false,"pushed_at":"2025-03-06T03:38:05.000Z","size":53429,"stargazers_count":70,"open_issues_count":18,"forks_count":5,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-17T22:05:51.357Z","etag":null,"topics":["cloud-native","go","kubefox","kubernetes","paas"],"latest_commit_sha":null,"homepage":"https://kubefox.io","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mpl-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/xigxog.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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":"2023-04-20T19:55:24.000Z","updated_at":"2025-05-14T16:23:34.000Z","dependencies_parsed_at":"2023-10-16T11:14:38.994Z","dependency_job_id":"2ae1e0f8-3934-4788-a332-232db2396b6c","html_url":"https://github.com/xigxog/kubefox","commit_stats":{"total_commits":234,"total_committers":4,"mean_commits":58.5,"dds":"0.19658119658119655","last_synced_commit":"4c4bc88a5b9f5b8a5565fe4dc84a1d8a97d121ab"},"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"purl":"pkg:github/xigxog/kubefox","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xigxog%2Fkubefox","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xigxog%2Fkubefox/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xigxog%2Fkubefox/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xigxog%2Fkubefox/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/xigxog","download_url":"https://codeload.github.com/xigxog/kubefox/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/xigxog%2Fkubefox/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":28440576,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-01-15T00:34:46.850Z","status":"ssl_error","status_checked_at":"2026-01-15T00:34:46.551Z","response_time":107,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["cloud-native","go","kubefox","kubernetes","paas"],"created_at":"2024-11-25T09:28:34.212Z","updated_at":"2026-01-15T00:51:30.646Z","avatar_url":"https://github.com/xigxog.png","language":"Go","funding_links":[],"categories":["Go"],"sub_categories":[],"readme":"# KubeFox\n\n[![build](https://github.com/xigxog/kubefox/actions/workflows/build.yaml/badge.svg)](https://github.com/xigxog/kubefox/actions/workflows/build.yaml)\n[![release](https://github.com/xigxog/kubefox/actions/workflows/release.yaml/badge.svg)](https://github.com/xigxog/kubefox/actions/workflows/release.yaml)\n[![Go Report\nCard](https://goreportcard.com/badge/github.com/xigxog/kubefox)](https://goreportcard.com/report/github.com/xigxog/kubefox)\n\n- Website: \u003chttps://www.kubefox.io\u003e\n- Documentation: \u003chttps://docs.kubefox.io\u003e\n- Quickstart: \u003chttps://docs.kubefox.io/quickstart.html\u003e\n\n\u003cfigure markdown\u003e\n\u003cimg src=\"./docs/images/KubeFox Horizontal Layout (400 x 100) revised.svg\" width=100% height=100%\u003e\n\u003c/figure\u003e\n\nKubeFox is an SDK, platform and infrastructure to enable rapid construction and\ndeployment of secure and robust applications for Kubernetes, and which\ndrastically reduces bureaucracy and burdensome DevOps activities.\n\nTeams and even individual developers can create and rapidly prototype code on\nthe same cluster in what appear to be individual sandboxes. Behind the scenes,\nKubeFox provides the following capabilities:\n\n- **Deployment Distillation:**\n\n  With KubeFox, you deploy at an application level. You don't need to worry\n  about which components you have added or modified. KubeFox tracks the\n  repository and builds, containerizes and distills deployments to only those\n  components that have changed. You can read more about Deployment Distillation\n  [here](https://docs.kubefox.io/concepts/deployment_distillation.html).\n\n- **Versioned Deployments**\n\n  When you deploy an application with KubeFox, that application is automatically\n  versioned. KubeFox will ensure that traffic is restricted to the components\n  that composed the application when it was deployed. Note that individual\n  deployments may share one or more components. This enables KubeFox to prevent\n  over-provisioning; the deployments can run on the same cluster but it appears\n  that each deployment is running in its own invidual sandbox. That extends to\n  deployment telemetry, which will reflect data from each version. You can read\n  more about Versioned Deployments\n  [here](https://docs.kubefox.io/concepts/versioned_deployments.html).\n\n- **Virtual Environments**\n\n  KubeFox Virtual Environments (VEs for short) are lightweight, malleable\n  constructs that enable engineering teams and developers to create virtual\n  sandboxes in which they can run prototypes or POCs. Custom configurations\n  (consisting of environment variables and secrets) can be created and deployed\n  easily - either in concert with a deployment or independently. And they're\n  controllable by the developers themselves, eliminating the overhead associated\n  with traditional environments. You can read more about Virtual Environments\n  [here](https://docs.kubefox.io/concepts/virtual_environments.html).\n\n- **Federated metrics, tracing and logging**\n\n  Multiple versions of components and applications can be deployed to a single\n  cluster. That would seem to complicate telemetry but KubeFox provides for\n  telemetry at global, application and component levels. You can read more about\n  Telemetry [here](https://docs.kubefox.io/concepts/telemetry.html).\n\n- **Dynamic Routing and Guaranteed Delivery**\n\n  KubeFox is capable of managing multiple versions of applications and\n  components because it is aware of the composition of those applications, and\n  traffic is shaped and validated to a specific version of an application at\n  runtime. You can read more about Dynamic Routing\n  [here](https://docs.kubefox.io/concepts/dynamic_routing.html).\n\n- **Zero Trust**\n\n  Zero Trust is an intrinsic property of a KubeFox application. All requests are\n  validated at origin (Genesis Events in KubeFox) and at all\n  component-to-component boundaries.\n\n## Getting Started and Documentation\n\nThe best way to get started with KubeFox is to go through our\n[Quickstart](https://docs.kubefox.io/quickstart.html) and read through our\n[docs](https://docs.kubefox.io). The Quickstart currently supports\n[kind](https://kind.sigs.k8s.io/) and [Microsoft\nAzure](https://learn.microsoft.com/en-us/azure/?product=popular). The Quickstart\ncan be navigated in less than a half hour and gives you a good overview of the\npower of KubeFox.\n\n## Local Development\n\nThis will help get your workstation setup for local development, allowing you to\nrun a local instance of the `broker` and `httpsrv` with a debugger. First,\ncreate a new kind cluster.\n\n```shell\nkind create cluster --wait 5m\nexport BRANCH=$(git rev-parse --abbrev-ref HEAD)\n```\n\nThen, build all the components and load their container images into the kind\ncluster.\n\n```shell\nmake all KIND_LOAD=true VERSION=\"${BRANCH}\"\n```\n\nNow, install the KubeFox Operator using the current branch name as the image\ntag.\n\n```shell\nhelm install kubefox kubefox \\\n    --repo https://xigxog.github.io/helm-charts \\\n    --create-namespace --namespace kubefox-system \\\n    --set log.format=console --set log.level=debug --set image.tag=\"${BRANCH}\" \\\n    --wait\n```\n\nNext, create a new directory and initialize a KubeFox App with Fox. When\nprompted to initialize the `hello-world` App respond with `y` and for the\nPlatform name enter `debug` and press `Enter` to accept the default namespace of\n`kubefox-debug`. The name and namespace must match exactly for the local\ndevelopment environment to work.\n\n```shell\nexport FOX_INFO=true \u0026\u0026 \\\n    mkdir -p /tmp/kubefox/hello-world \u0026\u0026 \\\n    cd /tmp/kubefox/hello-world \u0026\u0026 \\\n    fox init \u0026\u0026 \\\n    fox publish --wait 5m \u0026\u0026 \\\n    kubectl apply -f ./hack/environments/ -n kubefox-debug ; \\\n    cd -\n```\n\nThe output should look something like this.\n\n```text\ninfo    Let's initialize a KubeFox App!\n\ninfo    To get things started quickly 🦊 Fox can create a 'hello-world' KubeFox App which\ninfo    includes two components and example environments for testing.\nWould you like to initialize the 'hello-world' KubeFox App? [y/N] y\nEnter URL for remote Git repo (default 'https://github.com/xigxog/hello-world.git'):\n\ninfo    You need to have a KubeFox Platform instance running to deploy your components.\ninfo    Don't worry, 🦊 Fox can create one for you.\nWould you like to create a KubeFox Platform? [Y/n] y\nEnter the KubeFox Platform's name (required): debug\nEnter the Kubernetes namespace of the KubeFox Platform (default 'kubefox-debug'):\n```\n\nGreat! Now that there is a local instance you just need to enable debug mode and\nstart the `broker` locally. There is a script that takes care of updating the\nPlatform and setting up port forwards to your workstation for Vault and NATS.\n\n```shell\nmake debug\n```\n\nIf everything went smoothly you can now start local instances of the `broker`\nand `httpsrv` using the commands provided by `make debug`. Or if using VSCode\nyou can start the launch configurations named `broker` and `httpsrv`. Once both\nare started use `curl` to perform a request and you should see corresponding log\noutput in the debug console.\n\n```shell\ncurl -v \"http://localhost:8080/qa/hello?kf-dep=hello-world-main\u0026kf-ve=qa\"\n```\n\n## License\n\nXigXog is committed to open source and our software is licensed under the\n[Mozilla Public License Version\n2.0](https://github.com/xigxog/kubefox/blob/main/LICENSE).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxigxog%2Fkubefox","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fxigxog%2Fkubefox","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fxigxog%2Fkubefox/lists"}