{"id":19905578,"url":"https://github.com/ekristen/satokens","last_synced_at":"2026-04-15T18:01:41.133Z","repository":{"id":187720353,"uuid":"620050908","full_name":"ekristen/satokens","owner":"ekristen","description":"Providing Kubernetes Service Account Tokens Locally for Development Purposes","archived":false,"fork":false,"pushed_at":"2023-08-11T21:33:43.000Z","size":46,"stargazers_count":0,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-11T00:39:39.189Z","etag":null,"topics":["golang","jwt","kubernetes","service-account"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ekristen.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}},"created_at":"2023-03-27T23:49:46.000Z","updated_at":"2023-03-29T05:39:48.000Z","dependencies_parsed_at":"2023-08-11T22:56:48.573Z","dependency_job_id":null,"html_url":"https://github.com/ekristen/satokens","commit_stats":null,"previous_names":["ekristen/satokens"],"tags_count":7,"template":false,"template_full_name":null,"purl":"pkg:github/ekristen/satokens","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekristen%2Fsatokens","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekristen%2Fsatokens/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekristen%2Fsatokens/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekristen%2Fsatokens/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ekristen","download_url":"https://codeload.github.com/ekristen/satokens/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ekristen%2Fsatokens/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31853279,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"ssl_error","status_checked_at":"2026-04-15T15:24:39.138Z","response_time":63,"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":["golang","jwt","kubernetes","service-account"],"created_at":"2024-11-12T20:33:55.157Z","updated_at":"2026-04-15T18:01:41.086Z","avatar_url":"https://github.com/ekristen.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# satokens (aka Service Account Tokens) \n\n**Status:** beta\n\nThe purpose of this project is to make developing locally easier with respect to using Kubernetes Service Account\ntokens for federated authentication.\n\nSuggested Reading: [What Are Service Account Tokens](https://kubernetes.io/docs/tasks/configure-pod-container/configure-service-account/)\n\n## Known Issues\n\n- If the port-forward fails, the client can exit without cleaning up the mount, simple `umount /mount/path` to fix.\n\n## How To Use\n\n**Note:** the commands leverage environment variables for kube configs (ie KUBECONFIG)\n\n1. Deploy the satokens pod `satokens deploy`\n2. Mount the token `mkdir -p /tmp/satokens \u0026\u0026 satokens mount --mount-path /tmp/satokens`\n3. Read the token `cat /tmp/satokens/token`\n\n## How It Works\n\nThis tool allows you to deploy a pod into a cluster's namespace. The pod is configured to have a projected volume\nthat adds a JWT token signed by the cluster for the associated service account. This pod serves up the token on\nan http API that's available on port 44044 within the container.\n\nThis tool then offers a `mount` command that uses a fuse filesystem and port-forwarding capabilities of kubernetes.\nThe mount command opens a connection to the deployed container and mounts the fuse filesystem. The filesystem as a\nsingle file called `token`. The contents of this token is the cluster generated token.\n\nYou can simply read the file at will and use during development of applications and tools as if you were running in the\ncluster.\n\n## License\n\nApache 2.0","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekristen%2Fsatokens","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fekristen%2Fsatokens","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fekristen%2Fsatokens/lists"}