Mengelola File, Direktori, dan Tautan

Anda dapat menggunakan Ignition untuk membuat, mengganti, atau memperbarui file, direktori, maupun tautan.

Contoh berikut membuat sebuah direktori dengan mode default (0755): dapat dibaca dan dimasuki oleh semua pengguna, namun hanya dapat ditulis oleh pemiliknya (secara default root).

Contoh membuat direktori dengan kepemilikan dan izin default
variant: fcos
version: 1.6.0
storage:
  directories:
  - path: /opt/tools
    overwrite: true

Contoh ini membuat file bernama /var/helloworld dengan isi yang ditentukan secara in-line. File ini akan memiliki mode 0644 (dapat dibaca oleh semua, ditulis hanya oleh pemilik), serta kepemilikan ditetapkan ke dnsmasq:dnsmasq.

Contoh membuat file dengan konten in-line
variant: fcos
version: 1.6.0
storage:
  files:
    - path: /var/helloworld
      overwrite: true
      contents:
        inline: Hello, world!
      mode: 0644
      user:
        name: dnsmasq
      group:
        name: dnsmasq

Contoh ini membuat file dengan isi yang diambil dari sumber jarak jauh. Dalam hal ini, file diambil melalui HTTPS dan diasumsikan telah dikompres dengan gzip, yang akan didekompres sebelum ditulis ke disk. Konten yang telah didekompres kemudian diverifikasi dengan nilai hash yang ditentukan dalam konfigurasi. Formatnya adalah sha512- diikuti oleh 128 karakter heksadesimal dari perintah sha512sum. File yang dihasilkan dapat dibaca dan dijalankan oleh semua pengguna.

Contoh membuat file dari sumber jarak jauh
variant: fcos
version: 1.6.0
storage:
  files:
    - path: /opt/tools/transmogrifier
      overwrite: true
      contents:
        source: https://mytools.example.com/path/to/archive.gz
        compression: gzip
        verification:
          hash: sha512-00000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000000
      mode: 0555

Contoh ini membuat tautan simbolik di /usr/local/bin yang mengarah ke jalur di /opt. Ini berguna agar proses lokal dapat memanggil program tanpa harus mengubah variabel lingkungan PATH mereka.

Contoh membuat tautan simbolik
variant: fcos
version: 1.6.0
storage:
  links:
    - path: /usr/local/bin/transmogrifier
      overwrite: true
      target: /opt/tools/transmogrifier
      hard: false

Jika Anda memerlukan direktori dan beberapa induknya dimiliki oleh pengguna tertentu, saat ini Anda harus mencantumkannya secara eksplisit dalam konfigurasi Butane. Lihat butane#380 untuk pembahasan progres menuju sintaks yang lebih baik di masa mendatang.

Contoh membuat direktori dengan kepemilikan spesifik
variant: fcos
version: 1.6.0
storage:
  directories:
    - path: /home/builder/.config
      user:
        name: builder
      group:
        name: builder
    - path: /home/builder/.config/systemd
      user:
        name: builder
      group:
        name: builder
    - path: /home/builder/.config/systemd/user
      user:
        name: builder
      group:
        name: builder
    - path: /home/builder/.config/systemd/user/default.target.wants
      user:
        name: builder
      group:
        name: builder
    - path: /home/builder/.config/systemd/user/timers.target.wants
      user:
        name: builder
      group:
        name: builder
    - path: /home/builder/.config/systemd/user/sockets.target.wants
      user:
        name: builder
      group:
        name: builder