Skip to main content
Ogni metodo di questa pagina si trova su 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).
Per elencare le tue app, usa 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

Il server tiene aperte queste chiamate finché il container non agisce, quindi senza una scadenza su 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’è).
Per un flusso di log in tempo reale, usa Realtime.

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.
Per impostare un dominio personalizzato, vedi Rete.

Eliminare un’applicazione

L’eliminazione è permanente. Crea prima uno snapshot se potresti aver ancora bisogno dei file.

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.