Credential Examples
Credential Examples
Setup GitHub atau GitLab tanpa menyalin secrets ke proyek.
custy configure credentialsCategory
Quick Command
custy configure credentials COMMAND [OPTIONS]File-backed GitHub tokenâ
custy configure credentials set --provider github --source fileHidden prompt menyimpan token di external credential root. Mount directory itu secara read-only ke container:
Buat File dari Windows CMD melalui Docker
Credential mount harus writable saat set membuat atau mengganti external
file:docker run --rm -it -v "%cd%:/workspace" -v "%LOCALAPPDATA%Custycredentials:/run/secrets/custy" -w /workspace custy-prod:latest --no-banner configure credentials set --provider github
Host file yang dihasilkan adalah
%LOCALAPPDATA%\Custy\credentials\github.token. Di dalam running container,
file yang sama adalah /run/secrets/custy/github.token.
Setelah setup, mount directory secara read-only untuk status, test, dan push:
docker run --rm -it -v "${PWD}:/workspace" -v "$env:LOCALAPPDATA/Custy/credentials:/run/secrets/custy:ro" -w /workspace custy-prod:latest pushdocker run --rm -it -v "%cd%:/workspace" -v "%LOCALAPPDATA%Custycredentials:/run/secrets/custy:ro" -w /workspace custy-prod:latest pushPeriksa Mounted Source dari Windows CMD
docker run --rm -it -v "%cd%:/workspace" -v "%LOCALAPPDATA%Custycredentials:/run/secrets/custy:ro" -w /workspace custy-prod:latest --no-banner configure credentials status
docker run --rm -it -v "%cd%:/workspace" -v "%LOCALAPPDATA%Custycredentials:/run/secrets/custy:ro" -w /workspace custy-prod:latest --no-banner configure credentials test --remote originToken file: valid sudah cukup. Environment: missing adalah expected ketika
file source digunakan dan CUSTY_GITHUB_TOKEN tidak diberikan.
Environment-backed GitLab token
custy configure credentials set --provider gitlab --source environment --token-env CUSTY_GITLAB_TOKEN
docker run --rm -it -e CUSTY_GITLAB_TOKEN -v "${PWD}:/workspace" -w /workspace custy-prod:latest pushSet variable melalui calling shell atau secret-aware CI/Docker runtime. Hindari literal token value dalam committed Compose file atau reusable shell history.
Periksa dan uji
custy configure credentials status
custy configure credentials test --remote originGunakan Helper Make
Dari source checkout Custy, keluarga target d-, c-, dan r-custy- dapat
membuat, memeriksa, menguji, dan menggunakan external credential directory
yang sama:# Setup menggunakan writable mount
make d-credentials-set-github
make d-credentials-set-gitlab
# Pemeriksaan dan access test menggunakan read-only mount
make d-credentials-status
make d-credentials-test CUSTY_CREDENTIALS_REMOTE=origin
# Runtime mount harus diaktifkan secara eksplisit dan bersifat read-only
make d-run-push CUSTY_CREDENTIALS_MOUNT=true
Target Compose dan published image yang setara tersedia sebagai
c-credentials-* / c-run-push dan
r-custy-credentials-* / r-custy-run-push.
| Setting | Hasil |
|---|---|
CUSTY_CREDENTIALS_MOUNT=false | Default. Jangan mount external file; native Git, SSH, atau interactive username/PAT prompt tetap menangani authentication. |
CUSTY_CREDENTIALS_MOUNT=true | Mount external directory secara read-only untuk runtime command seperti d-run-push. |
make d-credentials-set-github | Mount directory secara writable hanya saat Custy membuat atau mengganti github.token. |
make d-credentials-status atau make d-credentials-test | Mount directory secara read-only tanpa menampilkan token value. |
Di Windows, default CUSTY_CREDENTIALS_HOST_DIR adalah
%LOCALAPPDATA%/Custy/credentials. Di Linux dan macOS, nilainya adalah
$XDG_DATA_HOME/custy/credentials, atau
$HOME/.local/share/custy/credentials saat XDG_DATA_HOME tidak diatur.
Override lokasi secara eksplisit jika diperlukan:make d-run-push CUSTY_CREDENTIALS_MOUNT=true CUSTY_CREDENTIALS_HOST_DIR=/approved/secret/directory
Token tidak pernah diberikan sebagai Make variable atau ditulis ke Makefile.
Nonaktifkan atau hapus
# Nonaktifkan tetapi pertahankan external file
custy configure credentials remove --provider github
# Nonaktifkan dan hapus external file secara eksplisit
custy configure credentials remove --provider github --delete-fileManual Docker Fallback
docker run --rm -it -v "%cd%:/workspace" -w /workspace custy-prod:latest --no-banner pushCommand ini sengaja tidak memakai credential mount atau token environment
variable. Git dapat meminta username dan PAT untuk setiap HTTPS provider. Nilai
tersebut tidak disimpan oleh disposable --rm container.