Back to directory

Elasticsearch Hot Reload Credentials Migration

Agent skill
1 skill

Set up hot-reloading Elasticsearch managed credentials on a BEDEV2 service (C, Go, or Python) so creds rotate from Vault with no service restart — both migrating an existing service off static credentials and standing up a brand-new (greenfield) service with hot-reload from the start. C services adopt Roblox.RobloxElasticsearchClient 2.0.0, which is generic over the client type and works with ANY Elasticsearch client — ES7 (NEST/Elasticsearch.Net) or ES8 (Elastic.Clients.Elasticsearch) — by supplying a ~15-line client builder; Go services on go-elasticsearch (v7 or v8) adopt the eshotreload library (NewStore + eshv7/eshv8 NewClient); Python services on elasticsearch-py (v7 or v8) adopt the roblox-eshotreload library (newstartedstore + eshotreload.es7/es8 newclient). Use when a service constructs its own Elasticsearch client (new ElasticsearchClient(...), ElasticsearchClientSettings, BasicAuthentication, ElasticsearchClientFactory in C; elasticsearch.NewClient with Username/Password/APIKey in Go; Elasticsearch(basicauth=..., apikey=...) or connectionclass with static auth in Python), reads ES creds from env vars / appsettings / config (ElasticSearchUsername, ElasticSearchPassword, ElasticsearchClientSettings, ELASTICCLIENTUSER, ESUSERNAME/ESPASSWORD, ESAPIKEY), needs to adopt managed credentials / managedsecrets.json, set meta.EnableManagedCredentials, stop restarting on credential rotation, or is asked to move to hot-reloading / rotating Elasticsearch credentials. Also use when a new or greenfield service needs to add an Elasticsearch client with rotating/hot-reload credentials, or a service already has an ES client but no managed-credentials wiring yet. Also covers eshotreload, http.RoundTripper-based credential injection (Go), the elastictransport Node / elasticsearch.connection subclass injection (Python), and the ccgen managedsecrets.json schema. As of library 2.0.0 there is NO client-version gate in C: NEST (Nest, IElasticClient) and Elasticsearch.Net (IElasticLowLevelClient) services adopt hot-reload directly via their own builder — no v7→v8 rewrite required first (a v7→v8 client migration is a separate, optional concern for ES9 readiness, not a prerequisite for credential hot-reload). Go and Python have no such gate either — v7 and v8 wrappers ship side by side.

Install with
Claude CodeCodexCursorGitHub CopilotGemini CLI

Supported by the Atlas install prompt. Skill-specific requirements vary.

Skill stats

Skills1CategorySecurityStars0

About this skill

Set up hot-reloading Elasticsearch managed credentials on a BEDEV2 service (C, Go, or Python) so creds rotate from Vault with no service restart — both migrating an existing service off static credentials and standing up a brand-new (greenfield) service with hot-reload from the start. C services adopt Roblox.RobloxElasticsearchClient 2.0.0, which is generic over the client type and works with ANY Elasticsearch client — ES7 (NEST/Elasticsearch.Net) or ES8 (Elastic.Clients.Elasticsearch) — by supplying a ~15-line client builder; Go services on go-elasticsearch (v7 or v8) adopt the eshotreload library (NewStore + eshv7/eshv8 NewClient); Python services on elasticsearch-py (v7 or v8) adopt the roblox-eshotreload library (newstartedstore + eshotreload.es7/es8 newclient). Use when a service constructs its own Elasticsearch client (new ElasticsearchClient(...), ElasticsearchClientSettings, BasicAuthentication, ElasticsearchClientFactory in C; elasticsearch.NewClient with Username/Password/APIKey in Go; Elasticsearch(basicauth=..., apikey=...) or connectionclass with static auth in Python), reads ES creds from env vars / appsettings / config (ElasticSearchUsername, ElasticSearchPassword, ElasticsearchClientSettings, ELASTICCLIENTUSER, ESUSERNAME/ESPASSWORD, ESAPIKEY), needs to adopt managed credentials / managedsecrets.json, set meta.EnableManagedCredentials, stop restarting on credential rotation, or is asked to move to hot-reloading / rotating Elasticsearch credentials. Also use when a new or greenfield service needs to add an Elasticsearch client with rotating/hot-reload credentials, or a service already has an ES client but no managed-credentials wiring yet. Also covers eshotreload, http.RoundTripper-based credential injection (Go), the elastictransport Node / elasticsearch.connection subclass injection (Python), and the ccgen managedsecrets.json schema. As of library 2.0.0 there is NO client-version gate in C: NEST (Nest, IElasticClient) and Elasticsearch.Net (IElasticLowLevelClient) services adopt hot-reload directly via their own builder — no v7→v8 rewrite required first (a v7→v8 client migration is a separate, optional concern for ES9 readiness, not a prerequisite for credential hot-reload). Go and Python have no such gate either — v7 and v8 wrappers ship side by side.

Quick start

  1. Copy the install prompt. Use the green button above this README.
  2. Send it to your agent. Paste it into your coding agent’s chat and send.
  3. Review the setup. Your agent checks the skill’s instructions, requirements, and installation scope.
Review, license & listing details
Review the source before using this skill

This is an imported listing. We haven’t certified its safety, license, or compatibility. Skills may include executable scripts.

Automated security scan: Partial

Only SKILL.md was scanned. Supporting files and scripts were not checked. No safety grade has been assigned.

0 potential findings · Scanned 11/4/2026 · Scanner 0.2.1

Content SHA-256: c5fd2bf514ac3db681a2dd086026ebbe9c83ed7f79feb3e8b6cfc3bf5fbc35f0

About scan coverage and limitations

About this listing

Category
Security
Reported license
Not specified
Listing language (estimated)
English
Review status
Not individually reviewed
Agent compatibility
Atlas installation supports Claude Code, Codex, and Cursor. Skill-specific dependencies and features are checked during setup.
Elasticsearch Hot Reload Credentials Migration | Agent Skills Atlas