MCPcopy Create free account
hub / github.com/OverloadBlitz/cloudcent-cli / LoadMetadataFromFile

Function LoadMetadataFromFile

internal/api/client.go:209–234  ·  view source on GitHub ↗

LoadMetadataFromFile reads and decompresses ~/.cloudcent/metadata.json.gz.

()

Source from the content-addressed store, hash-verified

207
208// LoadMetadataFromFile reads and decompresses ~/.cloudcent/metadata.json.gz.
209func LoadMetadataFromFile() (*MetadataResponse, error) {
210 p, err := config.MetadataGzPath()
211 if err != nil {
212 return nil, err
213 }
214 f, err := os.Open(p)
215 if os.IsNotExist(err) {
216 return nil, fmt.Errorf("metadata file not found — run 'cloudcent metadata refresh' first")
217 }
218 if err != nil {
219 return nil, err
220 }
221 defer f.Close()
222
223 gr, err := gzip.NewReader(f)
224 if err != nil {
225 return nil, fmt.Errorf("failed to open gzip metadata: %w", err)
226 }
227 defer gr.Close()
228
229 var meta MetadataResponse
230 if err := json.NewDecoder(gr).Decode(&meta); err != nil {
231 return nil, fmt.Errorf("failed to parse metadata JSON: %w", err)
232 }
233 return &meta, nil
234}
235
236// GenerateToken calls POST /api/auth/generate-token.
237func (c *Client) GenerateToken() (*GenerateTokenResponse, error) {

Callers 3

loadMetadataIntoViewMethod · 0.92
runMetadataStatsFunction · 0.92
runPulumiEstimateFunction · 0.92

Calls 2

MetadataGzPathFunction · 0.92
CloseMethod · 0.80

Tested by

no test coverage detected