{"id":27946315,"url":"https://github.com/jeffneff/gtflp","last_synced_at":"2025-08-20T02:11:00.149Z","repository":{"id":46762161,"uuid":"408343778","full_name":"JeffNeff/gtflp","owner":"JeffNeff","description":"A Knative debugging tool.","archived":false,"fork":false,"pushed_at":"2025-04-17T11:22:00.000Z","size":29618,"stargazers_count":9,"open_issues_count":3,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-07-22T23:37:04.246Z","etag":null,"topics":["cloudevents","knative","kubernetes","logging","monitoring-tool"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/JeffNeff.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,"zenodo":null}},"created_at":"2021-09-20T07:10:36.000Z","updated_at":"2023-09-08T18:26:40.000Z","dependencies_parsed_at":"2025-07-22T23:37:39.753Z","dependency_job_id":null,"html_url":"https://github.com/JeffNeff/gtflp","commit_stats":null,"previous_names":[],"tags_count":33,"template":false,"template_full_name":null,"purl":"pkg:github/JeffNeff/gtflp","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeffNeff%2Fgtflp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeffNeff%2Fgtflp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeffNeff%2Fgtflp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeffNeff%2Fgtflp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/JeffNeff","download_url":"https://codeload.github.com/JeffNeff/gtflp/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/JeffNeff%2Fgtflp/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":271252993,"owners_count":24726918,"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","status":"online","status_checked_at":"2025-08-20T02:00:09.606Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["cloudevents","knative","kubernetes","logging","monitoring-tool"],"created_at":"2025-05-07T13:53:33.842Z","updated_at":"2025-08-20T02:11:00.111Z","avatar_url":"https://github.com/JeffNeff.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\n                                         __    _____.__          \n                                   _____/  |__/ ____\\  | ______  \n                                  / ___\\   __\\   __\\|  | \\____ \\ \n                                 / /_/  \u003e  |  |  |  |  |_|  |_\u003e \u003e\n                                 \\___  /|__|  |__|  |____/   __/ \n                                /_____/                  |__|    \n\n\n## What it is\n\n`gtfp` is a tool for debugging pods and cloudevents.\n\nCapabilities:\n\nJoin the [Discord](https://discord.gg/BTqzsWHh9R) for help or to chat! \n\n* Logging : Stream the logs from pods in the same namespace as the `gtflp` deployment. Allowing you to monitor pod logs in a single window. \n\n![](./img/ls.png)\n\n* Monitor and Inject Cloudevents : Inject \u0026| view events that are sent directly to the `gtflp` deployment, or configured triggers.\n*note:* One can populate the Injection values by clicking a recieved event, allowing users to re-play cloudevents.\n\n![](./img/ce.png)\n\n* View active Pods \n\n![](./img/podless.png)\n\n* View info about the active pods\n\n![](./img/podmore.png)\n\n* View Knative Service deployments\n\n![](./img/ksvcless.png)\n\n* View info about the KSVC deployments\n\n![](./img/ksvcmore.png)\n\n* View Brokers \n\n![](./img/brokerless.png)\n\n* View info about the Brokers\n\n![](./img/brokermore.png)\n\n* View Triggers \n\n![](./img/triggerless.png)\n\n* View info about the Triggers\n\n![](./img/triggermore.png)\n\n* View Bridges \n\n![](./img/bridgeless.png)\n\n* View info about the Bridges\n\n![](./img/bridgemore.png)\n\n* View Deployed Sources \n\n![](./img/sourceless.png)\n\n* View info about the Sources\n\n![](./img/sourcemore.png)\n\n* List resources by providing a custom Grop Version Resource\n\n![](./img/gvrless.png)\n\n* View information about resources by providing a custom Grop Version Resource\n\n![](./img/gvrmore.png)\n\n\n\n## Prerequisites\n\n### To deploy\n\n* [kubectl](https://kubernetes.io/docs/tasks/tools/install-kubectl/)\n* [Kubernetes](https://kubernetes.io/)\n* [Knative](https://knative.dev/)\n\n### To develop\n\n* [go](https://go.dev/learn/)\n* [yarn](https://yarnpkg.com/getting-started/install)\n* [make](https://www.gnu.org/software/make/)\n* [ko](https://github.com/google/ko) \n* [docker](https://docs.docker.com/get-started/) or [gcloud](https://cloud.google.com/sdk/docs/quickstart)\n\n## How to use it\n### Deploy from manifest\n\n1. Download the `release.yaml` from the most current [releases.](https://github.com/JeffNeff/gtflp/releases) \n\n1. Update line 74 of file `release.yaml` with the correct namespace.\n\n1. Apply the manifest:\n\n        kubectl -n \u003cnamespace\u003e apply -f release.yaml\n    \n1. After applying the manifest, retreive the url with the following command:\n\n        kubectl -n \u003cnamespace\u003e get ksvc\n\n1. It should return something similar to the following:\n\n        NAME         URL                                          LATESTCREATED      LATESTREADY        READY   REASON\n        gtflp        https://gtflp.demo.dev.triggermesh.io        gtflp-00002        gtflp-00002        True    \n  \n1. Open the url in your browser.\n\nNote: The image located at gcr.io/fit-stream-305821/gtflp is kept up to date with this repo via Github Actions, on each merge with master. If you want to deploy an image that gets regular updates. Use this one. \n\n### Deploy from Triggermesh\n\n1. Login to [triggermesh.](cloud.triggermesh.io)\n\n1. Navigate to the [Bridges](https://cloud.triggermesh.io/bridges) page.\n\n1. Select \"New Bridge\" in the top right corner, next to \"Refresh\".\n\n1. Select \"Create a New Bridge\".\n\n1. Select \"Target\".\n\n1. Select the `Services` item.\n\n1. Select `gtflp` from the \"Image Catalog\" dropdown. \n\n1. Save.\n\n1. Select \"Submit Bridge\" in the top right corner, next to \"Refresh\".\n\n1. Navigate to the [Services](https://cloud.triggermesh.io/services) page.\n\n1. Select `gtflp` (or whatever you named the deployment).\n\n1. On this page in the \"Routes\" card you can note the deployment URL listed as \"Domain\".\n\n1. Navigate to this URL.\n\n1. Enjoy a quality deubbing experience. \n\n**Note** If you leave the deployment name as `gtflp` then the logs will be hidden from the UI. \nIf you want to show logs from the `gtflp` pod, then chagne the name of the deployment to something else. \n\n\n## Development\n### Frontend\n\n    cd frontend\n    yarn install\n    yarn start\n\nTo build the frontend and update the static files located in `/cmd/gtflp/kodata`.\n\n    make update-static\n\n### Backend\n\n    export CLUSTER_NAME=\u003ccluster-name\u003e\n    KO_DATA_PATH=cmd/gtflp/kodata/ go run ./cmd/gtflp\n    \nOr\n\n    export CLUSTER_NAME=\u003ccluster-name\u003e\n    make debug\n\n### Releaseing\n\n1. Create a `release.yaml` file in the root directory:\n  \n    make release\n    \n1. Update line 74 of file [gtflp.yaml](./config/gtflp.yaml ) with the correct namespace before applying. \n\n**Note** If you leave the deployment name as `gtflp` then the logs will be hidden from the ui. \nIf you want to show logs from the `gtflp` pod, then chagne the name of the deployment to something else. \n\n## Contributing\n\nPlease [open an issue](https://github.com/JeffNeff/gtflp/issues/new) if you have any questions or suggestions!\nOr feel free to fork and PR!\n\n\nJoin the [Discord](https://discord.gg/BTqzsWHh9R) for help or to chat! \n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeffneff%2Fgtflp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjeffneff%2Fgtflp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjeffneff%2Fgtflp/lists"}