Gestión de archivos, directorios y enlaces

Puede utilizar Ignition para crear, sustituir o actualizar archivos, directorios o enlaces.

Este ejemplo crea un directorio con el modo predeterminado (establecido en 0755: legible y recursible para todos), y escribible solo por el propietario (por defecto, root).

Ejemplo para crear un directorio con propiedad y permisos predeterminados
variant: fcos
version: 1.6.0
storage:
  directories:
  - path: /opt/tools
    overwrite: true

Este ejemplo crea un archivo llamado /var/helloworld con algún contenido definido en línea. También establece el modo de archivo en 0644 (lectura para todos, escritura para el propietario) y asigna la propiedad a dnsmasq:dnsmasq.

Ejemplo para crear un archivo con contenido en línea
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

Este ejemplo crea un archivo cuyo contenido se obtiene de una ubicación remota. En este caso, obtiene una URL HTTPS y espera que el archivo esté comprimido con gzip, descomprimiéndolo antes de escribirlo en el disco. El contenido descomprimido se compara con el valor hash especificado en la configuración. El formato es sha512- seguido de los 128 caracteres hexadecimales proporcionados por el comando sha512sum. El archivo resultante es legible y ejecutable por todos.

Ejemplo para crear unos archivos desde un origen remoto
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

Este ejemplo creara un enlace simbólico en /usr/local/bin a una ruta en /opt. Esto es útil para dejar los procesos locales invocar un programa sin alterar su ruta de la variable PATH del entorno.

Ejemplo para crear un enlace simbólico
variant: fcos
version: 1.6.0
storage:
  links:
    - path: /usr/local/bin/transmogrifier
      overwrite: true
      target: /opt/tools/transmogrifier
      hard: false

Si necesita que un directorio y algunos de sus antecesores pertenezcan a un usuario específico, actualmente debe incluirlos explícitamente en la configuración de Butane. Consulte butane#380 para obtener información sobre el problema de seguimiento en Butane y una sintaxis mejorada para este caso.

Ejemplo para crear directorios con propiedad específica
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