{"id":19096611,"url":"https://github.com/sapcc/swift-s3-cache-prewarmer","last_synced_at":"2025-04-30T14:15:22.207Z","repository":{"id":37849455,"uuid":"322299131","full_name":"sapcc/swift-s3-cache-prewarmer","owner":"sapcc","description":"Cache prewarmer for the Swift s3token middleware","archived":false,"fork":false,"pushed_at":"2024-04-12T13:13:54.000Z","size":4948,"stargazers_count":4,"open_issues_count":1,"forks_count":0,"subscribers_count":41,"default_branch":"main","last_synced_at":"2024-04-12T20:31:09.570Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"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/sapcc.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":".github/CODEOWNERS","security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null}},"created_at":"2020-12-17T13:13:40.000Z","updated_at":"2024-04-15T15:22:58.644Z","dependencies_parsed_at":"2024-01-19T04:22:36.895Z","dependency_job_id":"de5dcefd-a760-4574-a8be-b4faa7466670","html_url":"https://github.com/sapcc/swift-s3-cache-prewarmer","commit_stats":{"total_commits":166,"total_committers":9,"mean_commits":"18.444444444444443","dds":0.6325301204819277,"last_synced_commit":"fbccb06d837870d76110a4b7b7e75f10ac2e04a1"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sapcc%2Fswift-s3-cache-prewarmer","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sapcc%2Fswift-s3-cache-prewarmer/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sapcc%2Fswift-s3-cache-prewarmer/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/sapcc%2Fswift-s3-cache-prewarmer/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/sapcc","download_url":"https://codeload.github.com/sapcc/swift-s3-cache-prewarmer/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223783447,"owners_count":17201900,"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-11-09T03:37:14.109Z","updated_at":"2024-11-09T03:37:14.676Z","avatar_url":"https://github.com/sapcc.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# swift-s3-cache-prewarmer\n\n[![CI](https://github.com/sapcc/swift-s3-cache-prewarmer/actions/workflows/ci.yaml/badge.svg)](https://github.com/sapcc/swift-s3-cache-prewarmer/actions/workflows/ci.yaml)\n\nWe have a few customers making extensive use of the S3 API in our [Swift](https://github.com/openstack/swift) cluster.\nTo avoid putting too much load on Keystone, Swift can cache S3 credentials in a Memcache. However, when the customer\ntraffic is high enough to keep multiple parallel Swift API workers busy, once a cache entry expires, they all hit\nKeystone simultaneously. To avoid this high request load on Keystone caused by expiring cache entries, this tool\nperiodically refreshes the cache entries so that they never expire.\n\n## Usage\n\nBuild with `make/make install` or `go get` or `docker build`. Check out the `--help` for how to run this.\n\n## Metrics\n\nThe `prewarm` command exposes two gauges for each credential that was prewarmed:\n\n- `swift_s3_cache_prewarm_last_run_secs`: UNIX timestamp in seconds of last successful cache prewarm (or 0 before the first successful prewarm)\n- `swift_s3_cache_prewarm_duration_secs`: duration in seconds of last successful cache prewarm (or absent before the first successful prewarm)\n\nEach time series has the labels `userid` and `accesskey` identifying the credential in question.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsapcc%2Fswift-s3-cache-prewarmer","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fsapcc%2Fswift-s3-cache-prewarmer","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fsapcc%2Fswift-s3-cache-prewarmer/lists"}