Skip to content

[feature] плейбук для обновления сертификатов на нодах и добавления дополнительных DNS имен #93

@melazyk

Description

@melazyk

сейчас нет возможности перевыписать сертификаты для нод, я делал это сторонним bash скриптом

root_dir="$1"
ca_key='secure/ca.key'
ca_conf='ca.cnf'

for opt_file in $(find $root_dir/ -type f -name 'options.cnf'); do
        node_dir=$(dirname $opt_file)
        echo "DNS.3=balancer.example.com" >> $node_dir/options.cnf
        openssl req -new -sha256 -config $node_dir/options.cnf -key $node_dir/node.key -out $node_dir/node.csr -batch
        openssl ca -config $ca_conf -keyfile $ca_key -cert $root_dir/ca.crt -policy signing_policy -extensions signing_node_req -out $node_dir/node.crt -outdir $node_dir -in $node_dir/node.csr -batch
        cat $node_dir/node.key $node_dir/node.crt $root_dir/ca.crt > $node_dir/web.pem
done

и потом запускал отдельный плейбук для обрезанной роли

- hosts: all
  become: true

  roles:
  - role: cert_update
- name: setup certificates
  block:
    - name: copy the TLS node.crt
      copy:
        src: "{{ ydb_tls_dir }}/{{ inventory_hostname_short }}/node.crt"
        dest: "{{ ydb_dir }}/certs/node.crt"
        owner: root
        group: certs
        mode: 0440

    - name: copy the TLS web.pem
      copy:
        src: "{{ ydb_tls_dir }}/{{ inventory_hostname_short }}/web.pem"
        dest: "{{ ydb_dir }}/certs/web.pem"
        owner: root
        group: certs
        mode: 0440

и запускал ролинг рестарты

ansible-playbook   ydb_platform.ydb.rolling_restart_static
ansible-playbook   ydb_platform.ydb.rolling_restart_dynamic

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions