c.Apps e accetta prima ctx, poi l’id dell’app. Un appID può anche essere l’id composto <appId>-<workspaceId> di un’app condivisa tramite un workspace.
Ogni snippet qui sotto funziona da solo all’interno di questo programma: incollane uno alla volta in main ed esegui goimports (vedi Eseguire gli esempi).
c.Account.Me: il suo slice Applications contiene ogni app che la chiave può vedere.
Recuperare un’applicazione
Stato
Status(ctx, appID) restituisce lo stato in tempo reale con valori formattati:
StatusRaw(ctx, appID) restituisce invece numeri (CPU in %, RAM in MB, Storage in byte, Network.Total e Network.Now come coppie di byte [in, out]):
Uptime è un timestamp (il momento in cui l’app è stata avviata), non una durata. Usa time.Since(time.UnixMilli(*status.Uptime)) per sapere da quanto tempo è attiva.Stato di tutte le applicazioni
StatusAll(ctx, workspaceID) restituisce un riepilogo per ogni app che la chiave può vedere, in una sola richiesta. Passa "" per tutte le app, oppure l’id di un workspace per le sole app di quel workspace. CPU e RAM sono valorizzati (non "") solo mentre l’app è in esecuzione.
Avvio, arresto e riavvio
ctx attendono almeno 2 minuti prima di andare in timeout. Quando la piattaforma rifiuta l’azione, la chiamata restituisce un *APIError con status 409, un Code e un Message vuoto:
Anche “già avviata” e “già fermata” sono errori. Se per te significano successo, gestiscili:
Log
Logs(ctx, appID) restituisce l’output più recente della console come un’unica stringa ("" quando non ce n’è).
Metriche
Metrics(ctx, appID) restituisce le ultime 24 ore, un punto ogni 5 minuti, dal più recente.
Domini e load balancer
Domains(ctx) elenca gli hostname predefiniti e personalizzati di ogni app. LoadBalancers(ctx) elenca i domini condivisi da più app, con il limite del tuo piano.
Eliminare un’applicazione
Prossimi passi
Commit e upload
Crea un’app da uno zip o inviale dei file.
Riferimento API delle applicazioni
Gli endpoint REST dietro questi metodi.
Gestire le app dalla CLI
Le stesse azioni dal terminale.

