Назад | Перейти на главную страницу

coreOS: заставить облачную конфигурацию запускать update-ca-Certificates перед docker.service

Я пытаюсь запустить coreOS update-ca-certificates перед запуском докера. Также хорошо, если update-ca-certificatesзапускается, а затем сразу же перезапускается докер.

Я создал новый юнит в облачной конфигурации:

- name: updatecertificates.service
  command: start
  content: |
    [Unit]
    Description=Update the certificates w/ self-signed root CAs
    Before=docker.service

    [Service]
    ExecStart=/usr/sbin/update-ca-certificates
    RemainAfterExit=yes
    Type=oneshot

Он работает, но не раньше docker.service как мне нужно.

Я пробовал изменить docker.service unit, но без какого-либо успеха даже при запуске демона докера.

Любые идеи о том, как обеспечить соблюдение updatecertificates запустить в правильном порядке или как перезапустить службу докеров после updatecertificates активирует?

Та же проблема, но я понял, что этот блок уже существует:

core@worker-1 ~ $ systemctl cat update-ca-certificates.service 
# /usr/lib64/systemd/system/update-ca-certificates.service
[Unit]
Description=Update CA bundle at /etc/ssl/certs/ca-certificates.crt
# Since other services depend on the certificate store run this early
DefaultDependencies=no
Wants=systemd-tmpfiles-setup.service clean-ca-certificates.service
After=systemd-tmpfiles-setup.service clean-ca-certificates.service
Before=sysinit.target
ConditionPathIsReadWrite=/etc/ssl/certs
# Do nothing if update-ca-certificates has never been run before
ConditionPathIsSymbolicLink=!/etc/ssl/certs/ca-certificates.crt

[Service]
Type=oneshot
ExecStart=/usr/sbin/update-ca-certificates --skip-rehash

Попробуй это:

- name: "update-ca-certificates.service"
  drop-ins:
   - name: 50-rehash-certs.conf
     content: |
      [Unit]
      ConditionPathIsSymbolicLink=

      [Service]
      ExecStart=
      ExecStart=/usr/sbin/update-ca-certificates