FEATURE: h8 kubectl exec --script for multi-line commands
Nessuno ha ancora preso questa issue.
Valutazione
- Difficoltà
- 3/5
- Tempo stimato
- 1-2 giorni
- Idoneità per principianti
- 58/100
- Tipo di issue
- Funzionalità
- Chiarezza
- Abbastanza chiara
- Stato di attività
- Tranquilla
- Stack tecnologico
- kubernetes, shell, typescript
Direzione di ricerca
Inizia individuando la gestione esistente di h8 kubectl exec e kubectl cp, quindi traccia il modo in cui vengono restituiti command stderr e i codici di uscita. Implementa il flusso proposto con file temporanei per h8 app exec --script, inclusa la pulizia, e verifica che script stderr venga inoltrato e che il suo codice di uscita diventi il codice di uscita del comando h8.
Scritto dal modello di indicizzazione a partire dal testo della issue.
Descrizione
Problem
Multi-line shell commands through exec are nearly impossible due to quote escaping hell. During the Grist migration, every attempt to run more than one command failed silently:
# Broken — quotes inside quotes, \$ escaping, shebangs
h8 kubectl exec pod -- sh -c '
mv /persist/home.sqlite3 /persist/home.sqlite3.bak
tar xzf /persist/backup.tar.gz -C /persist
chown grist:grist /persist/*
'
Ended up having to copy a script file via kubectl cp first, then exec it, then rm it — 3 commands where 1 should work.
Proposal
h8 app exec grist --script '
mv /persist/home.sqlite3 /persist/home.sqlite3.bak
tar xzf /persist/backup.tar.gz -C /persist
chown grist:grist /persist/*
'
Implementation: write the script to a temp file, kubectl cp it to the pod, kubectl exec pod -- sh /tmp/h8-script, then kubectl exec pod -- rm /tmp/h8-script. All transparent to the user.
Stderr from the script should be forwarded, and exit code from the script should be the exit code of the h8 command.
- Lingua principale
- TypeScript
- Stelle
- 0
- Fork
- 1
- Metriche di merge delle PR
- Nessuna PR unita negli ultimi 30g
Preparare l'ambiente
Questo progetto non fornisce container di sviluppo, Dockerfile né guida per i contributori, quindi l'ambiente è a tuo carico: parti dal suo README e consulta la nostra guida al primo contributo per i passaggi generali.
Come iniziare
- Leggi tutta la issue e poi la guida ai contributi del progetto.
- Commenta sulla issue per dire che te ne occupi tu — evita che due persone facciano lo stesso lavoro.
- Fai un fork del repository e lavora su un branch.
- Apri una pull request che faccia riferimento al numero della issue.
Altre issue di erfanium/h8-cli
-
ai-agent enhancement P1-high
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
-
ai-agent enhancement P2-nice
Difficoltà 3/5 1-2 giorni Idoneità per principianti 66/100
-
ai-agent enhancement P0-critical
Difficoltà 3/5 1-2 giorni Idoneità per principianti 68/100
-
ai-agent enhancement P1-high
Difficoltà 5/5 Più di una settimana Idoneità per principianti 35/100
-
enhancement P2-nice
Difficoltà 3/5 1-2 giorni Idoneità per principianti 67/100
Tutte le issue di erfanium/h8-cli
Issue simili
-
Contrib indemnité de départ à la retraite : faire le pont avec le simulateur sur la page génériqueApertaP1
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
SocialGouv/code-du-travail-numerique#7561 ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 85/100
kubernetes-sigs/headlamp#7950 ·
I maintainer di solito rispondono entro 3 giorni
-
README for cliForse già presa @Janvi-kapoor l’ha presa oggi. ApertaOSCI'26
Difficoltà 2/5 1-3 ore Idoneità per principianti 70/100
GauravKarakoti/SecureFlow#1308 · 1 commento ·
I maintainer di solito rispondono entro 1 giorno
-
Difficoltà 2/5 1-3 ore Idoneità per principianti 74/100
I maintainer di solito rispondono entro 1 giorno
-
documentation
Difficoltà 2/5 1-3 ore Idoneità per principianti 62/100
vitest-dev/vitest#11577 ·
I maintainer di solito rispondono entro 1 giorno