Lewati ke konten utama

Referensi Konfigurasi

Resolusi dan kepemilikan​

Jika sebuah pengaturan memiliki opsi CLI yang sesuai, Reflow menentukan nilainya dalam urutan berikut:

  1. Argumen CLI eksplisit
  2. .config/reflow/config.toml
  3. Default internal

File yang dibuat oleh reflow init dimiliki proyek target. Tinjau sebelum melakukan commit, dan jangan menaruh kredensial atau token di URL repositori atau nama image.

Repositori dan Git

Pengaturan target

PropertyTypeDescriptionDefaultRequired
repository.pathpathDirektori lokal yang sudah ada. Nilai relatif ditentukan dari direktori pemanggilan..No
repository.urlURL GitRepositori remote yang dimaterialisasi dalam clone sementara terkelola. Jangan masukkan kredensial.tidak diaturNo
git.default_remotestringNama remote untuk penggantian tag remote dan push pemulihan release.originNo
PerintahTarget pathTarget urlCakupan persisten
reflow initDidukungDitolakFile konfigurasi proyek
reflow tags convert localDidukungDitolakTag ref lokal saja
reflow tags convert remoteMemakai remote checkoutMemakai clone sementaraAtomic push remote yang dijaga
reflow releases recoverMemakai remote checkoutMemakai clone sementaraHapus dan push ulang tag remote terpilih
reflow dockerizeMemakai checkout sebagai sumberMemakai clone sementara sebagai sumberOperasi Docker dan registry

Nilai registry seperti github.image dan gitlab.image tidak pernah memilih repositori Git.

Eksekusi CLI Bersama

[tool.reflow.cli.execution]

PropertyTypeDescriptionDefaultRequired
debugbooleanAktifkan output diagnostik terperinci ketika flag CLI tidak diberikan.falseNo
dry_runbooleanSimulasikan perubahan lokal, remote, Docker, dan registry sambil tetap menjalankan discovery dan validasi.falseNo

[tool.reflow.cli.progress]

PropertyTypeDescriptionDefaultRequired
enabledbooleanTampilkan spinner dan progress bar Rich. Pengaturan ini hanya mengubah presentasi, bukan perilaku live atau dry-run.trueNo

Inisialisasi

[tool.reflow.initialization]

PropertyTypeDescriptionDefaultRequired
forcebooleanPerilaku overwrite default untuk reflow init ketika --force/--no-force tidak diberikan.falseNo
askbooleanMinta konfirmasi sebelum keputusan pembuatan atau penggantian yang didukung ketika --ask tidak diberikan.falseNo

Pengaturan ini hanya digunakan oleh reflow init. Perintah aktif menerima mode all dan config serta memerlukan target lokal persisten.

Konversi Tag

[tool.reflow.cli.tags.convert]

PropertyTypeDescriptionDefaultRequired
target_formatsemver | pep440Format tujuan bersama untuk konversi tag lokal dan remote ketika --to tidak diberikan.semverNo
yesbooleanLewati konfirmasi penggantian live setelah rencana lengkap ditampilkan. Dry-run tidak meminta konfirmasi.falseNo

Default yang sama dipakai oleh reflow tags convert local dan reflow tags convert remote; subperintah yang dipilih tetap menentukan apakah ref lokal atau remote yang dapat berubah.

Pemulihan Release dan Alias Deprecated

[tool.reflow.cli.releases.recover]

PropertyTypeDescriptionDefaultRequired
delayinteger >= 0Jeda dalam detik di antara operasi push ulang tag remote terpilih.2No
only_stablebooleanKecualikan tag prerelease saat memilih release yang dipulihkan.falseNo
limitinteger >= 1 | tidak diaturJumlah maksimum tag tanpa release yang dipilih.tanpa batasNo

--yes untuk reflow releases recover hanya tersedia melalui CLI. Recovery memeriksa GitHub release, lalu menghapus dan push ulang tag remote terpilih untuk memicu kembali CI/CD berbasis tag; perintah ini tidak membuat release melalui API.

[tool.reflow.cli.tags.replay] (deprecated)

PropertyTypeDescriptionDefaultRequired
delayinteger >= 0Fallback lama ketika delay recovery kanonis tidak dikonfigurasi.2No
only_stablebooleanFallback lama untuk filter stable-only kanonis.falseNo
limitinteger >= 1 | tidak diaturFallback lama untuk limit recovery kanonis.tanpa batasNo

Pertahankan nilai lama hanya selama migrasi konfigurasi. Konfigurasi dan automasi baru harus memakai [tool.reflow.cli.releases.recover] dan reflow releases recover.

Docker dan Image Registry

Publikasi container

PropertyTypeDescriptionDefaultRequired
docker.providergithub | gitlab | bothPilih tujuan registry terkonfigurasi yang dipakai reflow dockerize.githubNo
docker.keep_local_imagesbooleanPertahankan semua tagged image lokal dan jangan hapus image non-latest setelah push.falseNo
github.imagenama imageTujuan GHCR, misalnya ghcr.io/acme/project. Wajib untuk github atau both.placeholder templateNo
gitlab.imagenama imageTujuan GitLab Container Registry. Wajib untuk gitlab atau both.placeholder templateNo

reflow dockerize tidak memiliki flag provider atau image khusus perintah pada Reflow 1.0.2; atur nilai ini di TOML. Mode live melakukan build dan push satu image per tag repositori, menandai tag terurut terbaru sebagai latest, serta dapat menghapus image lokal non-latest.

Logging Console dan File

[tool.reflow.logging]

PropertyTypeDescriptionDefaultRequired
levellog levelAmbang logging console; --log-level mengalahkan nilai ini.INFONo
markupbooleanAktifkan Rich markup pada logging console.trueNo
rich_tracebacksbooleanAktifkan rendering traceback Rich.trueNo
show_timebooleanTampilkan timestamp pada record log console.falseNo
show_levelbooleanTampilkan label severity pada record log console.falseNo
console_formatformat stringFormat logging Python untuk record console.%(message)sNo

[tool.reflow.logging.file]

PropertyTypeDescriptionDefaultRequired
levellog levelAmbang logging file.DEBUGNo
log_dirpathDirektori untuk log persisten.logsNo
log_filenama fileNama file log aktif.reflow.logNo
max_bytesukuranRotasi log setelah mencapai ukuran perkiraan ini.10MBNo
backup_countintegerJumlah file log hasil rotasi yang dipertahankan.5No
file_formatformat stringFormat logging Python untuk record file.timestamp | level | logger | messageNo

Jangan masukkan kredensial, token, atau URL yang mengandung secret ke dalam konfigurasi atau output diagnostik.

Contoh Target Minimal

Target lokal
toml
[tool.reflow.repository]
path = "../project"

[tool.reflow.cli.tags.convert]
target_format = "semver"
yes = false
Target URL remote
toml
[tool.reflow.repository]
url = "https://github.com/acme/project.git"

[tool.reflow.git]
default_remote = "origin"

Jangan gabungkan contoh path dan url dalam satu konfigurasi aktif.