)]}'
{"/COMMIT_MSG":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"07f3963da6d79d587a81fb679b92bba5dd06badb","unresolved":true,"context_lines":[{"line_number":4,"context_line":"Commit:     Michal Arbet \u003cmichal.arbet@ultimum.io\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-08-09 22:24:05 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Rework letsencrypt"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I61b70fb4e12ba03b96e79004e735d2ead0f52319"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"cd97ead9_b4d9c6f7","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":3},"updated":"2023-08-10 14:37:27.000000000","message":"well we just had a discussion about relnotes and commit messages, could we at least provide _some_ context why letsencrypt is being \"reworked\" here?","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d1b5e1a35b8a1f1fb533fcc1cea597a87a710bcb","unresolved":false,"context_lines":[{"line_number":4,"context_line":"Commit:     Michal Arbet \u003cmichal.arbet@ultimum.io\u003e"},{"line_number":5,"context_line":"CommitDate: 2023-08-09 22:24:05 +0200"},{"line_number":6,"context_line":""},{"line_number":7,"context_line":"Rework letsencrypt"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"Change-Id: I61b70fb4e12ba03b96e79004e735d2ead0f52319"}],"source_content_type":"text/x-gerrit-commit-message","patch_set":13,"id":"539eda6b_f94f2142","line":7,"range":{"start_line":7,"start_character":0,"end_line":7,"end_character":3},"in_reply_to":"cd97ead9_b4d9c6f7","updated":"2023-09-17 15:32:44.000000000","message":"Done","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"}],"/PATCHSET_LEVEL":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"4b3f1da8ebe46e5cde9c03991bd30091c457bd5e","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":10,"id":"6bf37fab_5c1002b9","updated":"2023-08-04 17:10:33.000000000","message":"lgtm, but there need to refactor all shell scripts to make them more simple and use idempotent constructions... in the separate change.","commit_id":"79468aefb6de02ebc46b16714ee171c294c20bc6"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"54c111127b7f3336787a96141fa86db37fec6920","unresolved":true,"context_lines":[],"source_content_type":"","patch_set":13,"id":"c1e9b09e_a552eedc","updated":"2023-08-11 09:21:40.000000000","message":"Michal, the last comment stay unresolved about commit message and/or release note.\nFrom my side LGTM","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"8cd541d85d73c24c1c607d97c4e7871d91fed8fc","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"ab82345e_b9bffc81","updated":"2023-08-10 20:17:15.000000000","message":"Sven, almost all the code in the extend_start.sh not related to the LE, but all them in all containers should be refactored","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"2e8d0806951bbd00245ba16ebc9a3ada3712ba46","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"7d47219b_cba66334","updated":"2023-08-10 20:18:17.000000000","message":"in the separate review of course","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"83cb87972c03b8a2599326ff3f04434143fbfe2c","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"d3663cd3_25e543b7","in_reply_to":"ab82345e_b9bffc81","updated":"2023-08-11 09:10:33.000000000","message":"okay, fine for me. it\u0027s always hard to strike a balance between reaching to far or reaching to short in reviews in terms of scope.\n\nmarking everything as resolved then for now.","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d1b5e1a35b8a1f1fb533fcc1cea597a87a710bcb","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":13,"id":"b878a3e3_bbda4b68","in_reply_to":"c1e9b09e_a552eedc","updated":"2023-09-17 15:32:44.000000000","message":"Done","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"bbcc2502af1295e5826face2fa45f460f31f88c0","unresolved":false,"context_lines":[],"source_content_type":"","patch_set":16,"id":"b02b9b7f_687f1db2","updated":"2023-10-24 17:58:22.000000000","message":"Anyone would like to give me second +2 and +w ?","commit_id":"3213dccb8c318134695bcc9c9ba480448964314f"}],"docker/haproxy/haproxy-ssh/extend_start.sh":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"1681f709cb685985e9a79ed9553e8a5c24342e5e","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"SSH_HOST_KEY_TYPES\u003d( \"rsa\" \"dsa\" \"ecdsa\" \"ed25519\" )"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"for key_type in ${SSH_HOST_KEY_TYPES[@]}; do"},{"line_number":6,"context_line":"    KEY_PATH\u003d/etc/ssh/ssh_host_${key_type}_key"}],"source_content_type":"text/x-sh","patch_set":7,"id":"c94135bf_0aad085e","line":3,"range":{"start_line":3,"start_character":28,"end_line":3,"end_character":31},"updated":"2023-07-17 10:29:16.000000000","message":"do we really still need insecure dsa keys?","commit_id":"154e04bec35d33b639b91af8d824018f9766097f"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"6b6b11ba915ea7c850c0ae6834f02672181b13e5","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"SSH_HOST_KEY_TYPES\u003d( \"rsa\" \"dsa\" \"ecdsa\" \"ed25519\" )"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"for key_type in ${SSH_HOST_KEY_TYPES[@]}; do"},{"line_number":6,"context_line":"    KEY_PATH\u003d/etc/ssh/ssh_host_${key_type}_key"}],"source_content_type":"text/x-sh","patch_set":7,"id":"450669dc_10196880","line":3,"range":{"start_line":3,"start_character":28,"end_line":3,"end_character":31},"in_reply_to":"c94135bf_0aad085e","updated":"2023-07-17 10:32:32.000000000","message":"If we don\u0027t need i would prefer to remove at once in follow-up patch, this was copied from keystone, i am not introducing something new ... \n\nFeel free to propose a patch and i will rebase on top.","commit_id":"154e04bec35d33b639b91af8d824018f9766097f"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"1681f709cb685985e9a79ed9553e8a5c24342e5e","unresolved":true,"context_lines":[{"line_number":19,"context_line":"USERGROUP\u003d\"haproxy:haproxy\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"for folder in ${FOLDERS_LEGO}; do"},{"line_number":22,"context_line":"    if [[ ! -d \"${folder}\" ]]; then"},{"line_number":23,"context_line":"        mkdir -p ${folder}"},{"line_number":24,"context_line":"    fi"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    if [[ $(stat -c %U:%G ${folder}) !\u003d \"${USERGROUP}\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":7,"id":"4c6e793d_c4ec53ce","line":23,"range":{"start_line":22,"start_character":0,"end_line":23,"end_character":26},"updated":"2023-07-17 10:29:16.000000000","message":"why check this before creation? mkdir -p is idempotent","commit_id":"154e04bec35d33b639b91af8d824018f9766097f"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"6b6b11ba915ea7c850c0ae6834f02672181b13e5","unresolved":true,"context_lines":[{"line_number":19,"context_line":"USERGROUP\u003d\"haproxy:haproxy\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"for folder in ${FOLDERS_LEGO}; do"},{"line_number":22,"context_line":"    if [[ ! -d \"${folder}\" ]]; then"},{"line_number":23,"context_line":"        mkdir -p ${folder}"},{"line_number":24,"context_line":"    fi"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    if [[ $(stat -c %U:%G ${folder}) !\u003d \"${USERGROUP}\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":7,"id":"8f1147aa_b3055ad4","line":23,"range":{"start_line":22,"start_character":0,"end_line":23,"end_character":26},"in_reply_to":"4c6e793d_c4ec53ce","updated":"2023-07-17 10:32:32.000000000","message":"not final revision, this is mostly my dev :) , but currently almost final version.\nI will let this comment open and will mark as done when it will be done :) . Thanks.","commit_id":"154e04bec35d33b639b91af8d824018f9766097f"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"2da6d8664c9047d3f289f1e7546ae798be3a12a3","unresolved":true,"context_lines":[{"line_number":19,"context_line":"USERGROUP\u003d\"haproxy:haproxy\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"for folder in ${FOLDERS_LEGO}; do"},{"line_number":22,"context_line":"    if [[ ! -d \"${folder}\" ]]; then"},{"line_number":23,"context_line":"        mkdir -p ${folder}"},{"line_number":24,"context_line":"    fi"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    if [[ $(stat -c %U:%G ${folder}) !\u003d \"${USERGROUP}\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":7,"id":"949a1925_d111faa6","line":23,"range":{"start_line":22,"start_character":0,"end_line":23,"end_character":26},"in_reply_to":"8f1147aa_b3055ad4","updated":"2023-07-17 10:33:01.000000000","message":"Also, you can review https://review.opendev.org/c/openstack/kolla-ansible/+/741340 to speed up process","commit_id":"154e04bec35d33b639b91af8d824018f9766097f"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"f3e84de05e95a4f4392d821d9426981f1b0f499e","unresolved":false,"context_lines":[{"line_number":19,"context_line":"USERGROUP\u003d\"haproxy:haproxy\""},{"line_number":20,"context_line":""},{"line_number":21,"context_line":"for folder in ${FOLDERS_LEGO}; do"},{"line_number":22,"context_line":"    if [[ ! -d \"${folder}\" ]]; then"},{"line_number":23,"context_line":"        mkdir -p ${folder}"},{"line_number":24,"context_line":"    fi"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    if [[ $(stat -c %U:%G ${folder}) !\u003d \"${USERGROUP}\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":7,"id":"991925df_037ddf6d","line":23,"range":{"start_line":22,"start_character":0,"end_line":23,"end_character":26},"in_reply_to":"949a1925_d111faa6","updated":"2023-08-09 20:24:35.000000000","message":"Done","commit_id":"154e04bec35d33b639b91af8d824018f9766097f"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"4b3f1da8ebe46e5cde9c03991bd30091c457bd5e","unresolved":true,"context_lines":[{"line_number":9,"context_line":"    fi"},{"line_number":10,"context_line":"done"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"mkdir -p /var/lib/haproxy/.ssh"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"if [[ $(stat -c %U:%G /var/lib/haproxy/.ssh) !\u003d \"haproxy:haproxy\" ]]; then"},{"line_number":15,"context_line":"    sudo chown haproxy: /var/lib/haproxy/.ssh"}],"source_content_type":"text/x-sh","patch_set":10,"id":"661e304e_8db5235d","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":5},"updated":"2023-08-04 17:10:33.000000000","message":"sudo mkdir ?","commit_id":"79468aefb6de02ebc46b16714ee171c294c20bc6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"4a67bee34001547266faa7b613b6462fb0019812","unresolved":true,"context_lines":[{"line_number":9,"context_line":"    fi"},{"line_number":10,"context_line":"done"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"mkdir -p /var/lib/haproxy/.ssh"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"if [[ $(stat -c %U:%G /var/lib/haproxy/.ssh) !\u003d \"haproxy:haproxy\" ]]; then"},{"line_number":15,"context_line":"    sudo chown haproxy: /var/lib/haproxy/.ssh"}],"source_content_type":"text/x-sh","patch_set":10,"id":"b6fcdab0_29a12de3","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":5},"in_reply_to":"661e304e_8db5235d","updated":"2023-08-09 20:09:33.000000000","message":"I\u0027m not using sudo in extend starts - this approach is also used in other extend_starts.\n\n./docker/swift/swift-rsyncd/extend_start.sh: Sudo found\n./docker/octavia/octavia-base/extend_start.sh: Sudo not found\n./docker/octavia/octavia-api/extend_start.sh: Sudo not found\n./docker/influxdb/extend_start.sh: Sudo not found\n./docker/zun/zun-base/extend_start.sh: Sudo not found\n./docker/zun/zun-api/extend_start.sh: Sudo not found\n./docker/zun/zun-compute/extend_start.sh: Sudo found\n./docker/gnocchi/gnocchi-api/extend_start.sh: Sudo found\n./docker/gnocchi/gnocchi-base/extend_start.sh: Sudo not found\n./docker/cloudkitty/cloudkitty-api/extend_start.sh: Sudo not found\n./docker/cloudkitty/cloudkitty-base/extend_start.sh: Sudo not found\n./docker/redis/redis-base/extend_start.sh: Sudo not found\n./docker/redis/redis-sentinel/extend_start.sh: Sudo not found\n./docker/nova/nova-base/extend_start.sh: Sudo not found\n./docker/nova/nova-api/extend_start.sh: Sudo not found\n./docker/nova/nova-compute/extend_start.sh: Sudo not found\n./docker/nova/nova-conductor/extend_start.sh: Sudo not found\n./docker/nova/nova-ssh/extend_start.sh: Sudo not found\n./docker/nova/nova-libvirt/extend_start.sh: Sudo not found\n./docker/iscsid/extend_start.sh: Sudo not found\n./docker/prometheus/prometheus-base/extend_start.sh: Sudo not found\n./docker/telegraf/extend_start.sh: Sudo not found\n./docker/solum/solum-api/extend_start.sh: Sudo not found\n./docker/solum/solum-base/extend_start.sh: Sudo not found\n./docker/masakari/masakari-api/extend_start.sh: Sudo not found\n./docker/masakari/masakari-base/extend_start.sh: Sudo not found\n./docker/placement/placement-api/extend_start.sh: Sudo not found\n./docker/placement/placement-base/extend_start.sh: Sudo not found\n./docker/ironic-inspector/extend_start.sh: Sudo not found\n./docker/barbican/barbican-base/extend_start.sh: Sudo not found\n./docker/barbican/barbican-api/extend_start.sh: Sudo not found\n./docker/kuryr/kuryr-base/extend_start.sh: Sudo not found\n./docker/ovn/ovn-base/extend_start.sh: Sudo not found\n./docker/neutron/neutron-server/extend_start.sh: Sudo not found\n./docker/neutron/neutron-base/extend_start.sh: Sudo found\n./docker/manila/manila-api/extend_start.sh: Sudo not found\n./docker/manila/manila-base/extend_start.sh: Sudo not found\n./docker/ovsdpdk/ovsdpdk-db/extend_start.sh: Sudo not found\n./docker/ovsdpdk/ovsdpdk-vswitchd/extend_start.sh: Sudo not found\n./docker/ovsdpdk/ovsdpdk/extend_start.sh: Sudo not found\n./docker/cyborg/cyborg-base/extend_start.sh: Sudo not found\n./docker/cyborg/cyborg-api/extend_start.sh: Sudo not found\n./docker/vitrage/vitrage-api/extend_start.sh: Sudo not found\n./docker/vitrage/vitrage-base/extend_start.sh: Sudo not found\n./docker/ceilometer/ceilometer-base/extend_start.sh: Sudo not found\n./docker/ceilometer/ceilometer-notification/extend_start.sh: Sudo found\n./docker/keepalived/extend_start.sh: Sudo not found\n./docker/mistral/mistral-base/extend_start.sh: Sudo not found\n./docker/mistral/mistral-api/extend_start.sh: Sudo not found\n./docker/mariadb/mariadb-server/extend_start.sh: Sudo found\n./docker/mariadb/mariadb-clustercheck/extend_start.sh: Sudo not found\n./docker/hacluster/hacluster-base/extend_start.sh: Sudo not found\n./docker/grafana/extend_start.sh: Sudo not found\n./docker/letsencrypt/letsencrypt-base/extend_start.sh: Sudo not found\n./docker/letsencrypt/letsencrypt-webserver/extend_start.sh: Sudo not found\n./docker/horizon/extend_start.sh: Sudo not found\n./docker/magnum/magnum-base/extend_start.sh: Sudo not found\n./docker/magnum/magnum-api/extend_start.sh: Sudo not found\n./docker/fluentd/extend_start.sh: Sudo found\n./docker/opensearch/opensearch-dashboards/extend_start.sh: Sudo not found\n./docker/opensearch/opensearch/extend_start.sh: Sudo not found\n./docker/skyline/skyline-apiserver/extend_start.sh: Sudo not found\n./docker/skyline/skyline-base/extend_start.sh: Sudo not found\n./docker/senlin/senlin-base/extend_start.sh: Sudo not found\n./docker/senlin/senlin-api/extend_start.sh: Sudo not found\n./docker/glance/glance-api/extend_start.sh: Sudo not found\n./docker/glance/glance-base/extend_start.sh: Sudo not found\n./docker/openvswitch/openvswitch-netcontrold/extend_start.sh: Sudo not found\n./docker/openvswitch/openvswitch-db-server/extend_start.sh: Sudo not found\n./docker/openvswitch/openvswitch-base/extend_start.sh: Sudo not found\n./docker/openvswitch/openvswitch-vswitchd/extend_start.sh: Sudo not found\n./docker/tacker/tacker-server/extend_start.sh: Sudo not found\n./docker/tacker/tacker-base/extend_start.sh: Sudo not found\n./docker/kolla-toolbox/extend_start.sh: Sudo not found\n./docker/venus/venus-base/extend_start.sh: Sudo not found\n./docker/designate/designate-central/extend_start.sh: Sudo not found\n./docker/designate/designate-base/extend_start.sh: Sudo not found\n./docker/sahara/sahara-base/extend_start.sh: Sudo not found\n./docker/sahara/sahara-api/extend_start.sh: Sudo not found\n./docker/murano/murano-base/extend_start.sh: Sudo not found\n./docker/murano/murano-api/extend_start.sh: Sudo not found\n./docker/trove/trove-base/extend_start.sh: Sudo not found\n./docker/trove/trove-api/extend_start.sh: Sudo not found\n./docker/haproxy/haproxy-ssh/extend_start.sh: Sudo found\n./docker/ironic/ironic-pxe/extend_start.sh: Sudo not found\n./docker/ironic/ironic-api/extend_start.sh: Sudo not found\n./docker/ironic/ironic-base/extend_start.sh: Sudo not found\n./docker/freezer/freezer-base/extend_start.sh: Sudo not found\n./docker/freezer/freezer-api/extend_start.sh: Sudo not found\n./docker/blazar/blazar-api/extend_start.sh: Sudo not found\n./docker/blazar/blazar-base/extend_start.sh: Sudo not found\n./docker/cron/extend_start.sh: Sudo not found\n./docker/cinder/cinder-api/extend_start.sh: Sudo not found\n./docker/cinder/cinder-base/extend_start.sh: Sudo not found\n./docker/cinder/cinder-volume/extend_start.sh: Sudo found\n./docker/etcd/extend_start.sh: Sudo found\n./docker/aodh/aodh-api/extend_start.sh: Sudo not found\n./docker/aodh/aodh-base/extend_start.sh: Sudo not found\n./docker/collectd/extend_start.sh: Sudo not found\n./docker/keystone/keystone-ssh/extend_start.sh: Sudo found\n./docker/keystone/keystone-fernet/extend_start.sh: Sudo not found\n./docker/keystone/keystone/extend_start.sh: Sudo found\n./docker/heat/heat-api/extend_start.sh: Sudo not found\n./docker/heat/heat-base/extend_start.sh: Sudo not found\n./docker/heat/heat-api-cfn/extend_start.sh: Sudo not found\n./docker/rabbitmq/extend_start.sh: Sudo not found\n./docker/watcher/watcher-base/extend_start.sh: Sudo not found\n./docker/watcher/watcher-api/extend_start.sh: Sudo not found\n\n\nSudo found in extend_starts: 12\nSudo not found in extend_starts: 96\n\n\nSo, feel free to create separate change, but the above result speaks in my favor...","commit_id":"79468aefb6de02ebc46b16714ee171c294c20bc6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"f3e84de05e95a4f4392d821d9426981f1b0f499e","unresolved":false,"context_lines":[{"line_number":9,"context_line":"    fi"},{"line_number":10,"context_line":"done"},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"mkdir -p /var/lib/haproxy/.ssh"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"if [[ $(stat -c %U:%G /var/lib/haproxy/.ssh) !\u003d \"haproxy:haproxy\" ]]; then"},{"line_number":15,"context_line":"    sudo chown haproxy: /var/lib/haproxy/.ssh"}],"source_content_type":"text/x-sh","patch_set":10,"id":"2e1aeec8_b9ec80aa","line":12,"range":{"start_line":12,"start_character":0,"end_line":12,"end_character":5},"in_reply_to":"b6fcdab0_29a12de3","updated":"2023-08-09 20:24:35.000000000","message":"Done","commit_id":"79468aefb6de02ebc46b16714ee171c294c20bc6"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"27492c4c13e3984168dfde86513659e4286300cb","unresolved":true,"context_lines":[{"line_number":12,"context_line":"mkdir -p /var/lib/haproxy/.ssh"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"if [[ $(stat -c %U:%G /var/lib/haproxy/.ssh) !\u003d \"haproxy:haproxy\" ]]; then"},{"line_number":15,"context_line":"    sudo chown haproxy: /var/lib/haproxy/.ssh"},{"line_number":16,"context_line":"fi"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"FOLDERS_LEGO\u003d\"/etc/letsencrypt /etc/letsencrypt/backups\""}],"source_content_type":"text/x-sh","patch_set":10,"id":"9c1f9b29_9fd5e5f4","line":15,"range":{"start_line":15,"start_character":4,"end_line":15,"end_character":8},"updated":"2023-08-09 20:15:10.000000000","message":"if you not using sudo in extend starts why if used here?","commit_id":"79468aefb6de02ebc46b16714ee171c294c20bc6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"811c19f70de29fe8bc8a56cc9e065d84aa68f383","unresolved":false,"context_lines":[{"line_number":12,"context_line":"mkdir -p /var/lib/haproxy/.ssh"},{"line_number":13,"context_line":""},{"line_number":14,"context_line":"if [[ $(stat -c %U:%G /var/lib/haproxy/.ssh) !\u003d \"haproxy:haproxy\" ]]; then"},{"line_number":15,"context_line":"    sudo chown haproxy: /var/lib/haproxy/.ssh"},{"line_number":16,"context_line":"fi"},{"line_number":17,"context_line":""},{"line_number":18,"context_line":"FOLDERS_LEGO\u003d\"/etc/letsencrypt /etc/letsencrypt/backups\""}],"source_content_type":"text/x-sh","patch_set":10,"id":"5c98640a_e1600cf3","line":15,"range":{"start_line":15,"start_character":4,"end_line":15,"end_character":8},"in_reply_to":"9c1f9b29_9fd5e5f4","updated":"2023-08-09 20:18:39.000000000","message":"Done","commit_id":"79468aefb6de02ebc46b16714ee171c294c20bc6"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"4b3f1da8ebe46e5cde9c03991bd30091c457bd5e","unresolved":true,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"for folder in ${FOLDERS_LEGO}; do"},{"line_number":22,"context_line":"    if [[ ! -d \"${folder}\" ]]; then"},{"line_number":23,"context_line":"        mkdir -p ${folder}"},{"line_number":24,"context_line":"    fi"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    if [[ $(stat -c %U:%G ${folder}) !\u003d \"${USERGROUP}\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":10,"id":"e781db9f_58f0d902","line":23,"range":{"start_line":23,"start_character":8,"end_line":23,"end_character":13},"updated":"2023-08-04 17:10:33.000000000","message":"sudo mkdir ?","commit_id":"79468aefb6de02ebc46b16714ee171c294c20bc6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"f3e84de05e95a4f4392d821d9426981f1b0f499e","unresolved":false,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"for folder in ${FOLDERS_LEGO}; do"},{"line_number":22,"context_line":"    if [[ ! -d \"${folder}\" ]]; then"},{"line_number":23,"context_line":"        mkdir -p ${folder}"},{"line_number":24,"context_line":"    fi"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    if [[ $(stat -c %U:%G ${folder}) !\u003d \"${USERGROUP}\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":10,"id":"9e0bf89c_57b8431c","line":23,"range":{"start_line":23,"start_character":8,"end_line":23,"end_character":13},"in_reply_to":"17003f3a_aa851031","updated":"2023-08-09 20:24:35.000000000","message":"Done","commit_id":"79468aefb6de02ebc46b16714ee171c294c20bc6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"4a67bee34001547266faa7b613b6462fb0019812","unresolved":true,"context_lines":[{"line_number":20,"context_line":""},{"line_number":21,"context_line":"for folder in ${FOLDERS_LEGO}; do"},{"line_number":22,"context_line":"    if [[ ! -d \"${folder}\" ]]; then"},{"line_number":23,"context_line":"        mkdir -p ${folder}"},{"line_number":24,"context_line":"    fi"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    if [[ $(stat -c %U:%G ${folder}) !\u003d \"${USERGROUP}\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":10,"id":"17003f3a_aa851031","line":23,"range":{"start_line":23,"start_character":8,"end_line":23,"end_character":13},"in_reply_to":"e781db9f_58f0d902","updated":"2023-08-09 20:09:33.000000000","message":"ditto","commit_id":"79468aefb6de02ebc46b16714ee171c294c20bc6"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"4b3f1da8ebe46e5cde9c03991bd30091c457bd5e","unresolved":true,"context_lines":[{"line_number":24,"context_line":"    fi"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    if [[ $(stat -c %U:%G ${folder}) !\u003d \"${USERGROUP}\" ]]; then"},{"line_number":27,"context_line":"        chown ${USERGROUP} ${folder}"},{"line_number":28,"context_line":"    fi"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    if [[ \"${folder}\" \u003d\u003d \"/etc/letsencrypt\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":10,"id":"5af604bb_24f0fb60","line":27,"range":{"start_line":27,"start_character":8,"end_line":27,"end_character":13},"updated":"2023-08-04 17:10:33.000000000","message":"sudo chown ?","commit_id":"79468aefb6de02ebc46b16714ee171c294c20bc6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"4a67bee34001547266faa7b613b6462fb0019812","unresolved":true,"context_lines":[{"line_number":24,"context_line":"    fi"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    if [[ $(stat -c %U:%G ${folder}) !\u003d \"${USERGROUP}\" ]]; then"},{"line_number":27,"context_line":"        chown ${USERGROUP} ${folder}"},{"line_number":28,"context_line":"    fi"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    if [[ \"${folder}\" \u003d\u003d \"/etc/letsencrypt\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":10,"id":"b6535829_5c4bee80","line":27,"range":{"start_line":27,"start_character":8,"end_line":27,"end_character":13},"in_reply_to":"5af604bb_24f0fb60","updated":"2023-08-09 20:09:33.000000000","message":"ditto","commit_id":"79468aefb6de02ebc46b16714ee171c294c20bc6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"f3e84de05e95a4f4392d821d9426981f1b0f499e","unresolved":false,"context_lines":[{"line_number":24,"context_line":"    fi"},{"line_number":25,"context_line":""},{"line_number":26,"context_line":"    if [[ $(stat -c %U:%G ${folder}) !\u003d \"${USERGROUP}\" ]]; then"},{"line_number":27,"context_line":"        chown ${USERGROUP} ${folder}"},{"line_number":28,"context_line":"    fi"},{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    if [[ \"${folder}\" \u003d\u003d \"/etc/letsencrypt\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":10,"id":"4b1995c5_1dba347f","line":27,"range":{"start_line":27,"start_character":8,"end_line":27,"end_character":13},"in_reply_to":"b6535829_5c4bee80","updated":"2023-08-09 20:24:35.000000000","message":"Done","commit_id":"79468aefb6de02ebc46b16714ee171c294c20bc6"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"4b3f1da8ebe46e5cde9c03991bd30091c457bd5e","unresolved":true,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    if [[ \"${folder}\" \u003d\u003d \"/etc/letsencrypt\" ]]; then"},{"line_number":31,"context_line":"        if [[ $(stat -c %a ${folder}) !\u003d \"751\" ]]; then"},{"line_number":32,"context_line":"            chmod 751 ${folder}"},{"line_number":33,"context_line":"        fi"},{"line_number":34,"context_line":"    else"},{"line_number":35,"context_line":"        if [[ $(stat -c %a ${folder}) !\u003d \"755\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":10,"id":"21bf4cdb_c4879d9a","line":32,"range":{"start_line":32,"start_character":12,"end_line":32,"end_character":17},"updated":"2023-08-04 17:10:33.000000000","message":"sudo chmod ?","commit_id":"79468aefb6de02ebc46b16714ee171c294c20bc6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"4a67bee34001547266faa7b613b6462fb0019812","unresolved":true,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    if [[ \"${folder}\" \u003d\u003d \"/etc/letsencrypt\" ]]; then"},{"line_number":31,"context_line":"        if [[ $(stat -c %a ${folder}) !\u003d \"751\" ]]; then"},{"line_number":32,"context_line":"            chmod 751 ${folder}"},{"line_number":33,"context_line":"        fi"},{"line_number":34,"context_line":"    else"},{"line_number":35,"context_line":"        if [[ $(stat -c %a ${folder}) !\u003d \"755\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":10,"id":"bc3ec3f2_d3d73a9a","line":32,"range":{"start_line":32,"start_character":12,"end_line":32,"end_character":17},"in_reply_to":"21bf4cdb_c4879d9a","updated":"2023-08-09 20:09:33.000000000","message":"ditto","commit_id":"79468aefb6de02ebc46b16714ee171c294c20bc6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"f3e84de05e95a4f4392d821d9426981f1b0f499e","unresolved":false,"context_lines":[{"line_number":29,"context_line":""},{"line_number":30,"context_line":"    if [[ \"${folder}\" \u003d\u003d \"/etc/letsencrypt\" ]]; then"},{"line_number":31,"context_line":"        if [[ $(stat -c %a ${folder}) !\u003d \"751\" ]]; then"},{"line_number":32,"context_line":"            chmod 751 ${folder}"},{"line_number":33,"context_line":"        fi"},{"line_number":34,"context_line":"    else"},{"line_number":35,"context_line":"        if [[ $(stat -c %a ${folder}) !\u003d \"755\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":10,"id":"ad5c4bd5_45233a16","line":32,"range":{"start_line":32,"start_character":12,"end_line":32,"end_character":17},"in_reply_to":"bc3ec3f2_d3d73a9a","updated":"2023-08-09 20:24:35.000000000","message":"Done","commit_id":"79468aefb6de02ebc46b16714ee171c294c20bc6"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"4b3f1da8ebe46e5cde9c03991bd30091c457bd5e","unresolved":true,"context_lines":[{"line_number":33,"context_line":"        fi"},{"line_number":34,"context_line":"    else"},{"line_number":35,"context_line":"        if [[ $(stat -c %a ${folder}) !\u003d \"755\" ]]; then"},{"line_number":36,"context_line":"            chmod 755 ${folder}"},{"line_number":37,"context_line":"        fi"},{"line_number":38,"context_line":"    fi"},{"line_number":39,"context_line":"done"}],"source_content_type":"text/x-sh","patch_set":10,"id":"84ffa42b_888ae39c","line":36,"range":{"start_line":36,"start_character":12,"end_line":36,"end_character":17},"updated":"2023-08-04 17:10:33.000000000","message":"sudo chmod ?","commit_id":"79468aefb6de02ebc46b16714ee171c294c20bc6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"f3e84de05e95a4f4392d821d9426981f1b0f499e","unresolved":false,"context_lines":[{"line_number":33,"context_line":"        fi"},{"line_number":34,"context_line":"    else"},{"line_number":35,"context_line":"        if [[ $(stat -c %a ${folder}) !\u003d \"755\" ]]; then"},{"line_number":36,"context_line":"            chmod 755 ${folder}"},{"line_number":37,"context_line":"        fi"},{"line_number":38,"context_line":"    fi"},{"line_number":39,"context_line":"done"}],"source_content_type":"text/x-sh","patch_set":10,"id":"911ce031_c14728b0","line":36,"range":{"start_line":36,"start_character":12,"end_line":36,"end_character":17},"in_reply_to":"7351e5bd_cfd5f9aa","updated":"2023-08-09 20:24:35.000000000","message":"Done","commit_id":"79468aefb6de02ebc46b16714ee171c294c20bc6"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"4a67bee34001547266faa7b613b6462fb0019812","unresolved":true,"context_lines":[{"line_number":33,"context_line":"        fi"},{"line_number":34,"context_line":"    else"},{"line_number":35,"context_line":"        if [[ $(stat -c %a ${folder}) !\u003d \"755\" ]]; then"},{"line_number":36,"context_line":"            chmod 755 ${folder}"},{"line_number":37,"context_line":"        fi"},{"line_number":38,"context_line":"    fi"},{"line_number":39,"context_line":"done"}],"source_content_type":"text/x-sh","patch_set":10,"id":"7351e5bd_cfd5f9aa","line":36,"range":{"start_line":36,"start_character":12,"end_line":36,"end_character":17},"in_reply_to":"84ffa42b_888ae39c","updated":"2023-08-09 20:09:33.000000000","message":"ditto","commit_id":"79468aefb6de02ebc46b16714ee171c294c20bc6"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"07f3963da6d79d587a81fb679b92bba5dd06badb","unresolved":true,"context_lines":[{"line_number":26,"context_line":"    fi"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    if [[ \"${folder}\" \u003d\u003d \"/etc/letsencrypt\" ]]; then"},{"line_number":29,"context_line":"        if [[ $(stat -c %a ${folder}) !\u003d \"751\" ]]; then"},{"line_number":30,"context_line":"            chmod 751 ${folder}"},{"line_number":31,"context_line":"        fi"},{"line_number":32,"context_line":"    else"}],"source_content_type":"text/x-sh","patch_set":13,"id":"5002840f_060f3fbe","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":18},"updated":"2023-08-10 14:37:27.000000000","message":"can we remove this if then else constructs and just set the permissions? I think we can! 😊","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"83cb87972c03b8a2599326ff3f04434143fbfe2c","unresolved":false,"context_lines":[{"line_number":26,"context_line":"    fi"},{"line_number":27,"context_line":""},{"line_number":28,"context_line":"    if [[ \"${folder}\" \u003d\u003d \"/etc/letsencrypt\" ]]; then"},{"line_number":29,"context_line":"        if [[ $(stat -c %a ${folder}) !\u003d \"751\" ]]; then"},{"line_number":30,"context_line":"            chmod 751 ${folder}"},{"line_number":31,"context_line":"        fi"},{"line_number":32,"context_line":"    else"}],"source_content_type":"text/x-sh","patch_set":13,"id":"7699851e_cd2ab051","line":29,"range":{"start_line":29,"start_character":0,"end_line":29,"end_character":18},"in_reply_to":"5002840f_060f3fbe","updated":"2023-08-11 09:10:33.000000000","message":"Ack","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"07f3963da6d79d587a81fb679b92bba5dd06badb","unresolved":true,"context_lines":[{"line_number":30,"context_line":"            chmod 751 ${folder}"},{"line_number":31,"context_line":"        fi"},{"line_number":32,"context_line":"    else"},{"line_number":33,"context_line":"        if [[ $(stat -c %a ${folder}) !\u003d \"755\" ]]; then"},{"line_number":34,"context_line":"            chmod 755 ${folder}"},{"line_number":35,"context_line":"        fi"},{"line_number":36,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":13,"id":"11020664_7c8126e3","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":18},"updated":"2023-08-10 14:37:27.000000000","message":"ditto","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"83cb87972c03b8a2599326ff3f04434143fbfe2c","unresolved":false,"context_lines":[{"line_number":30,"context_line":"            chmod 751 ${folder}"},{"line_number":31,"context_line":"        fi"},{"line_number":32,"context_line":"    else"},{"line_number":33,"context_line":"        if [[ $(stat -c %a ${folder}) !\u003d \"755\" ]]; then"},{"line_number":34,"context_line":"            chmod 755 ${folder}"},{"line_number":35,"context_line":"        fi"},{"line_number":36,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":13,"id":"807f23bc_a8a5531b","line":33,"range":{"start_line":33,"start_character":0,"end_line":33,"end_character":18},"in_reply_to":"11020664_7c8126e3","updated":"2023-08-11 09:10:33.000000000","message":"Ack","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"}],"docker/haproxy/haproxy-ssh/update-haproxy-cert.sh":[{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"4cd00777916871b1dc196ee6d85098be879fd843","unresolved":true,"context_lines":[{"line_number":10,"context_line":"    transaction_grep_check\u003d\"Transaction (created|updated) for certificate $(echo $cert_dest | sed -e \u0027s|/|\\\\/|g\u0027)!\""},{"line_number":11,"context_line":"    transaction_result\u003d$(echo -e \"set ssl cert ${cert_dest} \u003c\u003c\\n$(cat ${cert_input})\\n\" | socat unix-connect:/var/lib/kolla/haproxy/haproxy.sock -)"},{"line_number":12,"context_line":"    if echo \"${transaction_result}\" | grep -Pq \"${transaction_grep_check}\"; then"},{"line_number":13,"context_line":"        echo \"$(date +%Y/%m-%d) $(date +%H:%M:%S) [INFO] [${cert_dest} - update] Transaction ${cert_input} -\u003e ${cert_dest} started.\""},{"line_number":14,"context_line":"    else"},{"line_number":15,"context_line":"        echo \"$(date +%Y/%m-%d) $(date +%H:%M:%S) [ERROR] [${cert_dest} - update] Transaction ${cert_input} -\u003e ${cert_dest} failed.\""},{"line_number":16,"context_line":"        exit 1"}],"source_content_type":"text/x-sh","patch_set":13,"id":"808097a8_79c906d4","line":13,"updated":"2023-08-16 07:37:34.000000000","message":"make a function for it","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d1b5e1a35b8a1f1fb533fcc1cea597a87a710bcb","unresolved":false,"context_lines":[{"line_number":10,"context_line":"    transaction_grep_check\u003d\"Transaction (created|updated) for certificate $(echo $cert_dest | sed -e \u0027s|/|\\\\/|g\u0027)!\""},{"line_number":11,"context_line":"    transaction_result\u003d$(echo -e \"set ssl cert ${cert_dest} \u003c\u003c\\n$(cat ${cert_input})\\n\" | socat unix-connect:/var/lib/kolla/haproxy/haproxy.sock -)"},{"line_number":12,"context_line":"    if echo \"${transaction_result}\" | grep -Pq \"${transaction_grep_check}\"; then"},{"line_number":13,"context_line":"        echo \"$(date +%Y/%m-%d) $(date +%H:%M:%S) [INFO] [${cert_dest} - update] Transaction ${cert_input} -\u003e ${cert_dest} started.\""},{"line_number":14,"context_line":"    else"},{"line_number":15,"context_line":"        echo \"$(date +%Y/%m-%d) $(date +%H:%M:%S) [ERROR] [${cert_dest} - update] Transaction ${cert_input} -\u003e ${cert_dest} failed.\""},{"line_number":16,"context_line":"        exit 1"}],"source_content_type":"text/x-sh","patch_set":13,"id":"d4f372b3_e9f4a36e","line":13,"in_reply_to":"808097a8_79c906d4","updated":"2023-09-17 15:32:44.000000000","message":"Done","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"07f3963da6d79d587a81fb679b92bba5dd06badb","unresolved":true,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"VALID_ARGS\u003d$(getopt -o ie --long internal,external -- \"$@\")"},{"line_number":72,"context_line":"if [[ $? -ne 0 ]]; then"},{"line_number":73,"context_line":"    exit 1;"},{"line_number":74,"context_line":"fi"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"eval set -- \"$VALID_ARGS\""}],"source_content_type":"text/x-sh","patch_set":13,"id":"dd49791b_8c581e48","line":73,"range":{"start_line":73,"start_character":0,"end_line":73,"end_character":5},"updated":"2023-08-10 14:37:27.000000000","message":"maybe echo anything to make debugging easier? just in case?","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"83cb87972c03b8a2599326ff3f04434143fbfe2c","unresolved":false,"context_lines":[{"line_number":70,"context_line":""},{"line_number":71,"context_line":"VALID_ARGS\u003d$(getopt -o ie --long internal,external -- \"$@\")"},{"line_number":72,"context_line":"if [[ $? -ne 0 ]]; then"},{"line_number":73,"context_line":"    exit 1;"},{"line_number":74,"context_line":"fi"},{"line_number":75,"context_line":""},{"line_number":76,"context_line":"eval set -- \"$VALID_ARGS\""}],"source_content_type":"text/x-sh","patch_set":13,"id":"d0fab54c_538f8f70","line":73,"range":{"start_line":73,"start_character":0,"end_line":73,"end_character":5},"in_reply_to":"dd49791b_8c581e48","updated":"2023-08-11 09:10:33.000000000","message":"Ack","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"f91dbd509bf5ea78e441604ab9ef20d7956ef9c1","unresolved":true,"context_lines":[{"line_number":98,"context_line":"        exit 1"},{"line_number":99,"context_line":"    fi"},{"line_number":100,"context_line":"    if [ \"${INTERNAL_SET}\" \u003d \"true\" ]; then"},{"line_number":101,"context_line":"        HAPROXY_CERT_INCOMING_PATH\u003d\"/tmp/haproxy-internal.pem\""},{"line_number":102,"context_line":"        HAPROXY_CERT_PATH\u003d\"/etc/haproxy/certificates/haproxy-internal.pem\""},{"line_number":103,"context_line":"    else"},{"line_number":104,"context_line":"        HAPROXY_CERT_INCOMING_PATH\u003d\"/tmp/haproxy.pem\""}],"source_content_type":"text/x-sh","patch_set":15,"id":"b12317f0_4f195705","line":101,"range":{"start_line":101,"start_character":36,"end_line":101,"end_character":61},"updated":"2023-09-18 08:15:48.000000000","message":"we should either use a path where just haproxy can write, or if we must use `/tmp` we should use it in a secure way, e.g. via `mktemp` or `mktemp -d`.","commit_id":"bf5e435defee2c4ee96bef43566f0b8b5552b709"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"2d559aa6846fc26392f240fce558f1e9cce308b8","unresolved":true,"context_lines":[{"line_number":98,"context_line":"        exit 1"},{"line_number":99,"context_line":"    fi"},{"line_number":100,"context_line":"    if [ \"${INTERNAL_SET}\" \u003d \"true\" ]; then"},{"line_number":101,"context_line":"        HAPROXY_CERT_INCOMING_PATH\u003d\"/tmp/haproxy-internal.pem\""},{"line_number":102,"context_line":"        HAPROXY_CERT_PATH\u003d\"/etc/haproxy/certificates/haproxy-internal.pem\""},{"line_number":103,"context_line":"    else"},{"line_number":104,"context_line":"        HAPROXY_CERT_INCOMING_PATH\u003d\"/tmp/haproxy.pem\""}],"source_content_type":"text/x-sh","patch_set":15,"id":"f11ccdf1_3e5c2b75","line":101,"range":{"start_line":101,"start_character":36,"end_line":101,"end_character":61},"in_reply_to":"1fd64d8e_a1d32ef2","updated":"2023-09-18 08:54:29.000000000","message":"it doesn\u0027t matter which tool is used to write there. this is just bad coding practice, because it can introduce vulnerabilities, just don\u0027t write to hardcoded paths in tmp, ever, period.\n\nsee e.g.: https://salvatoresecurity.com/the-many-perils-of-tmp/\n\nhttps://learn.snyk.io/lesson/insecure-temporary-file/\n\nthere are even automatic CI rules available to spot this kind of stuff, e.g.:\n\nhttps://rules.sonarsource.com/python/RSPEC-5445/\n\nhttps://ubuntu.com/blog/spotting-tmp-related-vulnerabilities-with-tmpwatcher","commit_id":"bf5e435defee2c4ee96bef43566f0b8b5552b709"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"a2ec0c9a24a286c5da5b30fadd92c0a131389984","unresolved":false,"context_lines":[{"line_number":98,"context_line":"        exit 1"},{"line_number":99,"context_line":"    fi"},{"line_number":100,"context_line":"    if [ \"${INTERNAL_SET}\" \u003d \"true\" ]; then"},{"line_number":101,"context_line":"        HAPROXY_CERT_INCOMING_PATH\u003d\"/tmp/haproxy-internal.pem\""},{"line_number":102,"context_line":"        HAPROXY_CERT_PATH\u003d\"/etc/haproxy/certificates/haproxy-internal.pem\""},{"line_number":103,"context_line":"    else"},{"line_number":104,"context_line":"        HAPROXY_CERT_INCOMING_PATH\u003d\"/tmp/haproxy.pem\""}],"source_content_type":"text/x-sh","patch_set":15,"id":"3a4844dd_785a87e0","line":101,"range":{"start_line":101,"start_character":36,"end_line":101,"end_character":61},"in_reply_to":"70d15bb5_f0300c0a","updated":"2023-09-18 09:27:50.000000000","message":"Done","commit_id":"bf5e435defee2c4ee96bef43566f0b8b5552b709"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"4cea33f79da2b1e7c95c8b660dd5a8c4bb4080e4","unresolved":true,"context_lines":[{"line_number":98,"context_line":"        exit 1"},{"line_number":99,"context_line":"    fi"},{"line_number":100,"context_line":"    if [ \"${INTERNAL_SET}\" \u003d \"true\" ]; then"},{"line_number":101,"context_line":"        HAPROXY_CERT_INCOMING_PATH\u003d\"/tmp/haproxy-internal.pem\""},{"line_number":102,"context_line":"        HAPROXY_CERT_PATH\u003d\"/etc/haproxy/certificates/haproxy-internal.pem\""},{"line_number":103,"context_line":"    else"},{"line_number":104,"context_line":"        HAPROXY_CERT_INCOMING_PATH\u003d\"/tmp/haproxy.pem\""}],"source_content_type":"text/x-sh","patch_set":15,"id":"1fd64d8e_a1d32ef2","line":101,"range":{"start_line":101,"start_character":36,"end_line":101,"end_character":61},"in_reply_to":"b12317f0_4f195705","updated":"2023-09-18 08:27:04.000000000","message":"This script don\u0027t create that path, that file lands via rsync.","commit_id":"bf5e435defee2c4ee96bef43566f0b8b5552b709"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"841f0df79ec40fb1158142d8ddb4005861d746ed","unresolved":true,"context_lines":[{"line_number":98,"context_line":"        exit 1"},{"line_number":99,"context_line":"    fi"},{"line_number":100,"context_line":"    if [ \"${INTERNAL_SET}\" \u003d \"true\" ]; then"},{"line_number":101,"context_line":"        HAPROXY_CERT_INCOMING_PATH\u003d\"/tmp/haproxy-internal.pem\""},{"line_number":102,"context_line":"        HAPROXY_CERT_PATH\u003d\"/etc/haproxy/certificates/haproxy-internal.pem\""},{"line_number":103,"context_line":"    else"},{"line_number":104,"context_line":"        HAPROXY_CERT_INCOMING_PATH\u003d\"/tmp/haproxy.pem\""}],"source_content_type":"text/x-sh","patch_set":15,"id":"70d15bb5_f0300c0a","line":101,"range":{"start_line":101,"start_character":36,"end_line":101,"end_character":61},"in_reply_to":"f11ccdf1_3e5c2b75","updated":"2023-09-18 08:59:18.000000000","message":"Okay, will you be OK with write to some haproxy owned directory not tmp ?","commit_id":"bf5e435defee2c4ee96bef43566f0b8b5552b709"}],"docker/letsencrypt/letsencrypt-base/extend_start.sh":[{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"07f3963da6d79d587a81fb679b92bba5dd06badb","unresolved":true,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Logs"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"if [[ ! -d \"/var/log/kolla/letsencrypt\" ]]; then"},{"line_number":6,"context_line":"    mkdir -p /var/log/kolla/letsencrypt"},{"line_number":7,"context_line":"fi"},{"line_number":8,"context_line":"if [[ $(stat -c %a /var/log/kolla/letsencrypt) !\u003d \"755\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":13,"id":"8a29d434_d93da10d","line":5,"range":{"start_line":5,"start_character":0,"end_line":5,"end_character":15},"updated":"2023-08-10 14:37:27.000000000","message":"please remove useless checks, mkdir -p is idempotent and will not complain if the directory already exists :) it also improves the readability, even if only a little :) \nthanks!","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"83cb87972c03b8a2599326ff3f04434143fbfe2c","unresolved":false,"context_lines":[{"line_number":2,"context_line":""},{"line_number":3,"context_line":"# Logs"},{"line_number":4,"context_line":""},{"line_number":5,"context_line":"if [[ ! -d \"/var/log/kolla/letsencrypt\" ]]; then"},{"line_number":6,"context_line":"    mkdir -p /var/log/kolla/letsencrypt"},{"line_number":7,"context_line":"fi"},{"line_number":8,"context_line":"if [[ $(stat -c %a /var/log/kolla/letsencrypt) !\u003d \"755\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":13,"id":"ddf3e600_9178384b","line":5,"range":{"start_line":5,"start_character":0,"end_line":5,"end_character":15},"in_reply_to":"8a29d434_d93da10d","updated":"2023-08-11 09:10:33.000000000","message":"Ack","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"07f3963da6d79d587a81fb679b92bba5dd06badb","unresolved":true,"context_lines":[{"line_number":5,"context_line":"if [[ ! -d \"/var/log/kolla/letsencrypt\" ]]; then"},{"line_number":6,"context_line":"    mkdir -p /var/log/kolla/letsencrypt"},{"line_number":7,"context_line":"fi"},{"line_number":8,"context_line":"if [[ $(stat -c %a /var/log/kolla/letsencrypt) !\u003d \"755\" ]]; then"},{"line_number":9,"context_line":"    chmod 755 /var/log/kolla/letsencrypt"},{"line_number":10,"context_line":"fi"},{"line_number":11,"context_line":""}],"source_content_type":"text/x-sh","patch_set":13,"id":"f7dc3cb6_a28f61a9","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":21},"updated":"2023-08-10 14:37:27.000000000","message":"this check can also be removed","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"83cb87972c03b8a2599326ff3f04434143fbfe2c","unresolved":false,"context_lines":[{"line_number":5,"context_line":"if [[ ! -d \"/var/log/kolla/letsencrypt\" ]]; then"},{"line_number":6,"context_line":"    mkdir -p /var/log/kolla/letsencrypt"},{"line_number":7,"context_line":"fi"},{"line_number":8,"context_line":"if [[ $(stat -c %a /var/log/kolla/letsencrypt) !\u003d \"755\" ]]; then"},{"line_number":9,"context_line":"    chmod 755 /var/log/kolla/letsencrypt"},{"line_number":10,"context_line":"fi"},{"line_number":11,"context_line":""}],"source_content_type":"text/x-sh","patch_set":13,"id":"837c0f82_6d1835e4","line":8,"range":{"start_line":8,"start_character":0,"end_line":8,"end_character":21},"in_reply_to":"f7dc3cb6_a28f61a9","updated":"2023-08-11 09:10:33.000000000","message":"Ack","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"07f3963da6d79d587a81fb679b92bba5dd06badb","unresolved":true,"context_lines":[{"line_number":27,"context_line":"fi"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"for folder in ${FOLDERS_LEGO}; do"},{"line_number":30,"context_line":"    if [[ ! -d \"${folder}\" ]]; then"},{"line_number":31,"context_line":"        mkdir -p ${folder}"},{"line_number":32,"context_line":"    fi"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-sh","patch_set":13,"id":"c9f20c7e_fa300970","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":10},"updated":"2023-08-10 14:37:27.000000000","message":"this check can also be removed","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"83cb87972c03b8a2599326ff3f04434143fbfe2c","unresolved":false,"context_lines":[{"line_number":27,"context_line":"fi"},{"line_number":28,"context_line":""},{"line_number":29,"context_line":"for folder in ${FOLDERS_LEGO}; do"},{"line_number":30,"context_line":"    if [[ ! -d \"${folder}\" ]]; then"},{"line_number":31,"context_line":"        mkdir -p ${folder}"},{"line_number":32,"context_line":"    fi"},{"line_number":33,"context_line":""}],"source_content_type":"text/x-sh","patch_set":13,"id":"daf5695b_3ba54030","line":30,"range":{"start_line":30,"start_character":0,"end_line":30,"end_character":10},"in_reply_to":"c9f20c7e_fa300970","updated":"2023-08-11 09:10:33.000000000","message":"Ack","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"07f3963da6d79d587a81fb679b92bba5dd06badb","unresolved":true,"context_lines":[{"line_number":31,"context_line":"        mkdir -p ${folder}"},{"line_number":32,"context_line":"    fi"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    if [[ $(stat -c %U:%G ${folder}) !\u003d \"${USERGROUP}\" ]]; then"},{"line_number":35,"context_line":"        if getent passwd ${USER} 2 \u003e /dev/null; then"},{"line_number":36,"context_line":"            chown ${USERGROUP} ${folder}"},{"line_number":37,"context_line":"        fi"},{"line_number":38,"context_line":"    fi"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    if [[ \"${folder}\" \u003d\u003d \"/etc/letsencrypt\" ]]; then"},{"line_number":41,"context_line":"        if [[ $(stat -c %a ${folder}) !\u003d \"751\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":13,"id":"099a50d8_06d7a99c","line":38,"range":{"start_line":34,"start_character":0,"end_line":38,"end_character":6},"updated":"2023-08-10 14:37:27.000000000","message":"not sure these checks are needed as well. is there really the possibility that the usergroup doesn\u0027t exist?","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"83cb87972c03b8a2599326ff3f04434143fbfe2c","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        mkdir -p ${folder}"},{"line_number":32,"context_line":"    fi"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    if [[ $(stat -c %U:%G ${folder}) !\u003d \"${USERGROUP}\" ]]; then"},{"line_number":35,"context_line":"        if getent passwd ${USER} 2 \u003e /dev/null; then"},{"line_number":36,"context_line":"            chown ${USERGROUP} ${folder}"},{"line_number":37,"context_line":"        fi"},{"line_number":38,"context_line":"    fi"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    if [[ \"${folder}\" \u003d\u003d \"/etc/letsencrypt\" ]]; then"},{"line_number":41,"context_line":"        if [[ $(stat -c %a ${folder}) !\u003d \"751\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":13,"id":"086ec6a5_b933a14c","line":38,"range":{"start_line":34,"start_character":0,"end_line":38,"end_character":6},"in_reply_to":"099a50d8_06d7a99c","updated":"2023-08-11 09:10:33.000000000","message":"Ack","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d74999f49611746c1e9ce476104fa53f70cc8cb6","unresolved":false,"context_lines":[{"line_number":31,"context_line":"        mkdir -p ${folder}"},{"line_number":32,"context_line":"    fi"},{"line_number":33,"context_line":""},{"line_number":34,"context_line":"    if [[ $(stat -c %U:%G ${folder}) !\u003d \"${USERGROUP}\" ]]; then"},{"line_number":35,"context_line":"        if getent passwd ${USER} 2 \u003e /dev/null; then"},{"line_number":36,"context_line":"            chown ${USERGROUP} ${folder}"},{"line_number":37,"context_line":"        fi"},{"line_number":38,"context_line":"    fi"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    if [[ \"${folder}\" \u003d\u003d \"/etc/letsencrypt\" ]]; then"},{"line_number":41,"context_line":"        if [[ $(stat -c %a ${folder}) !\u003d \"751\" ]]; then"}],"source_content_type":"text/x-sh","patch_set":13,"id":"b5efafc9_60ea45da","line":38,"range":{"start_line":34,"start_character":0,"end_line":38,"end_character":6},"in_reply_to":"099a50d8_06d7a99c","updated":"2023-08-16 09:32:30.000000000","message":"it\u0027s not needed but I follow best practice , check other images in Kolla repo for example https://github.com/openstack/kolla/blob/master/docker/octavia/octavia-base/extend_start.sh\n\nif we will remove useless conditionals, let\u0027s do it in separate change..not this one","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"07f3963da6d79d587a81fb679b92bba5dd06badb","unresolved":true,"context_lines":[{"line_number":38,"context_line":"    fi"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    if [[ \"${folder}\" \u003d\u003d \"/etc/letsencrypt\" ]]; then"},{"line_number":41,"context_line":"        if [[ $(stat -c %a ${folder}) !\u003d \"751\" ]]; then"},{"line_number":42,"context_line":"            chmod 751 ${folder}"},{"line_number":43,"context_line":"        fi"},{"line_number":44,"context_line":"    else"}],"source_content_type":"text/x-sh","patch_set":13,"id":"29ee538b_02b3dbfa","line":41,"range":{"start_line":41,"start_character":0,"end_line":41,"end_character":18},"updated":"2023-08-10 14:37:27.000000000","message":"this check can be removed","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"83cb87972c03b8a2599326ff3f04434143fbfe2c","unresolved":false,"context_lines":[{"line_number":38,"context_line":"    fi"},{"line_number":39,"context_line":""},{"line_number":40,"context_line":"    if [[ \"${folder}\" \u003d\u003d \"/etc/letsencrypt\" ]]; then"},{"line_number":41,"context_line":"        if [[ $(stat -c %a ${folder}) !\u003d \"751\" ]]; then"},{"line_number":42,"context_line":"            chmod 751 ${folder}"},{"line_number":43,"context_line":"        fi"},{"line_number":44,"context_line":"    else"}],"source_content_type":"text/x-sh","patch_set":13,"id":"c0587550_7807d8bf","line":41,"range":{"start_line":41,"start_character":0,"end_line":41,"end_character":18},"in_reply_to":"29ee538b_02b3dbfa","updated":"2023-08-11 09:10:33.000000000","message":"Ack","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"07f3963da6d79d587a81fb679b92bba5dd06badb","unresolved":true,"context_lines":[{"line_number":42,"context_line":"            chmod 751 ${folder}"},{"line_number":43,"context_line":"        fi"},{"line_number":44,"context_line":"    else"},{"line_number":45,"context_line":"        if [[ $(stat -c %a ${folder}) !\u003d \"755\" ]]; then"},{"line_number":46,"context_line":"            chmod 755 ${folder}"},{"line_number":47,"context_line":"        fi"},{"line_number":48,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":13,"id":"3e3188fc_e2ef7335","line":45,"range":{"start_line":45,"start_character":0,"end_line":45,"end_character":18},"updated":"2023-08-10 14:37:27.000000000","message":"this check can be removed","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"83cb87972c03b8a2599326ff3f04434143fbfe2c","unresolved":false,"context_lines":[{"line_number":42,"context_line":"            chmod 751 ${folder}"},{"line_number":43,"context_line":"        fi"},{"line_number":44,"context_line":"    else"},{"line_number":45,"context_line":"        if [[ $(stat -c %a ${folder}) !\u003d \"755\" ]]; then"},{"line_number":46,"context_line":"            chmod 755 ${folder}"},{"line_number":47,"context_line":"        fi"},{"line_number":48,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":13,"id":"ba9c9604_9b42221e","line":45,"range":{"start_line":45,"start_character":0,"end_line":45,"end_character":18},"in_reply_to":"3e3188fc_e2ef7335","updated":"2023-08-11 09:10:33.000000000","message":"Ack","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"07f3963da6d79d587a81fb679b92bba5dd06badb","unresolved":true,"context_lines":[{"line_number":49,"context_line":"done"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"for folder in ${FOLDERS_WEBSERVER}; do"},{"line_number":52,"context_line":"    if [[ ! -d \"${folder}\" ]]; then"},{"line_number":53,"context_line":"        mkdir -p ${folder}"},{"line_number":54,"context_line":"    fi"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-sh","patch_set":13,"id":"4395f689_1ae9c5b7","line":52,"range":{"start_line":52,"start_character":0,"end_line":52,"end_character":10},"updated":"2023-08-10 14:37:27.000000000","message":"this check can be removed","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"83cb87972c03b8a2599326ff3f04434143fbfe2c","unresolved":false,"context_lines":[{"line_number":49,"context_line":"done"},{"line_number":50,"context_line":""},{"line_number":51,"context_line":"for folder in ${FOLDERS_WEBSERVER}; do"},{"line_number":52,"context_line":"    if [[ ! -d \"${folder}\" ]]; then"},{"line_number":53,"context_line":"        mkdir -p ${folder}"},{"line_number":54,"context_line":"    fi"},{"line_number":55,"context_line":""}],"source_content_type":"text/x-sh","patch_set":13,"id":"c08343dc_8c517ed6","line":52,"range":{"start_line":52,"start_character":0,"end_line":52,"end_character":10},"in_reply_to":"4395f689_1ae9c5b7","updated":"2023-08-11 09:10:33.000000000","message":"Ack","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"07f3963da6d79d587a81fb679b92bba5dd06badb","unresolved":true,"context_lines":[{"line_number":53,"context_line":"        mkdir -p ${folder}"},{"line_number":54,"context_line":"    fi"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    if [[ $(stat -c %U:%G ${folder}) !\u003d \"${USERGROUP_WEBSERVER}\" ]]; then"},{"line_number":57,"context_line":"        if getent passwd ${USER} 2 \u003e /dev/null; then"},{"line_number":58,"context_line":"            chown ${USERGROUP_WEBSERVER} ${folder}"},{"line_number":59,"context_line":"        fi"},{"line_number":60,"context_line":"    fi"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    if [[ $(stat -c %a ${folder}) !\u003d \"755\" ]]; then"},{"line_number":63,"context_line":"        chmod 755 ${folder}"}],"source_content_type":"text/x-sh","patch_set":13,"id":"19a99ca8_c6d6e779","line":60,"range":{"start_line":56,"start_character":4,"end_line":60,"end_character":6},"updated":"2023-08-10 14:37:27.000000000","message":"see above, not sure if this check is needed","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"83cb87972c03b8a2599326ff3f04434143fbfe2c","unresolved":false,"context_lines":[{"line_number":53,"context_line":"        mkdir -p ${folder}"},{"line_number":54,"context_line":"    fi"},{"line_number":55,"context_line":""},{"line_number":56,"context_line":"    if [[ $(stat -c %U:%G ${folder}) !\u003d \"${USERGROUP_WEBSERVER}\" ]]; then"},{"line_number":57,"context_line":"        if getent passwd ${USER} 2 \u003e /dev/null; then"},{"line_number":58,"context_line":"            chown ${USERGROUP_WEBSERVER} ${folder}"},{"line_number":59,"context_line":"        fi"},{"line_number":60,"context_line":"    fi"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    if [[ $(stat -c %a ${folder}) !\u003d \"755\" ]]; then"},{"line_number":63,"context_line":"        chmod 755 ${folder}"}],"source_content_type":"text/x-sh","patch_set":13,"id":"151edb23_c77e8996","line":60,"range":{"start_line":56,"start_character":4,"end_line":60,"end_character":6},"in_reply_to":"19a99ca8_c6d6e779","updated":"2023-08-11 09:10:33.000000000","message":"Ack","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"07f3963da6d79d587a81fb679b92bba5dd06badb","unresolved":true,"context_lines":[{"line_number":59,"context_line":"        fi"},{"line_number":60,"context_line":"    fi"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    if [[ $(stat -c %a ${folder}) !\u003d \"755\" ]]; then"},{"line_number":63,"context_line":"        chmod 755 ${folder}"},{"line_number":64,"context_line":"    fi"},{"line_number":65,"context_line":"done"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"if [ -e /usr/local/bin/kolla_letsencrypt_extend_start ]; then"}],"source_content_type":"text/x-sh","patch_set":13,"id":"1e8692aa_46f8f9a7","line":64,"range":{"start_line":62,"start_character":4,"end_line":64,"end_character":6},"updated":"2023-08-10 14:37:27.000000000","message":"this check can be removed","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"83cb87972c03b8a2599326ff3f04434143fbfe2c","unresolved":false,"context_lines":[{"line_number":59,"context_line":"        fi"},{"line_number":60,"context_line":"    fi"},{"line_number":61,"context_line":""},{"line_number":62,"context_line":"    if [[ $(stat -c %a ${folder}) !\u003d \"755\" ]]; then"},{"line_number":63,"context_line":"        chmod 755 ${folder}"},{"line_number":64,"context_line":"    fi"},{"line_number":65,"context_line":"done"},{"line_number":66,"context_line":""},{"line_number":67,"context_line":"if [ -e /usr/local/bin/kolla_letsencrypt_extend_start ]; then"}],"source_content_type":"text/x-sh","patch_set":13,"id":"d631b8a8_27f0a4e1","line":64,"range":{"start_line":62,"start_character":4,"end_line":64,"end_character":6},"in_reply_to":"1e8692aa_46f8f9a7","updated":"2023-08-11 09:10:33.000000000","message":"Ack","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"}],"docker/letsencrypt/letsencrypt-lego/letsencrypt-certificates.sh":[{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"4cd00777916871b1dc196ee6d85098be879fd843","unresolved":true,"context_lines":[{"line_number":16,"context_line":"    if [ -d \"/etc/letsencrypt/lego/${certificate_type}/certificates\" ]; then"},{"line_number":17,"context_line":"        garbage_count\u003d$(find /etc/letsencrypt/lego/${certificate_type}/certificates/ -type f | grep -v \"${certificate_fqdn}\" | wc -l)"},{"line_number":18,"context_line":"        if [ ${garbage_count} -ne 0 ]; then"},{"line_number":19,"context_line":"            echo \"$(date +%Y/%m-%d) $(date +%H:%M:%S) [INFO] [${certificate_fqdn} - cron] Cleaning up garbage in certificates directory.\""},{"line_number":20,"context_line":"            find /etc/letsencrypt/lego/${certificate_type}/certificates/ -type f | grep -v \"${certificate_fqdn}\" | xargs rm -f"},{"line_number":21,"context_line":"        fi"},{"line_number":22,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":13,"id":"dfc05b86_777614ec","line":19,"updated":"2023-08-16 07:37:34.000000000","message":"function?","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d1b5e1a35b8a1f1fb533fcc1cea597a87a710bcb","unresolved":false,"context_lines":[{"line_number":16,"context_line":"    if [ -d \"/etc/letsencrypt/lego/${certificate_type}/certificates\" ]; then"},{"line_number":17,"context_line":"        garbage_count\u003d$(find /etc/letsencrypt/lego/${certificate_type}/certificates/ -type f | grep -v \"${certificate_fqdn}\" | wc -l)"},{"line_number":18,"context_line":"        if [ ${garbage_count} -ne 0 ]; then"},{"line_number":19,"context_line":"            echo \"$(date +%Y/%m-%d) $(date +%H:%M:%S) [INFO] [${certificate_fqdn} - cron] Cleaning up garbage in certificates directory.\""},{"line_number":20,"context_line":"            find /etc/letsencrypt/lego/${certificate_type}/certificates/ -type f | grep -v \"${certificate_fqdn}\" | xargs rm -f"},{"line_number":21,"context_line":"        fi"},{"line_number":22,"context_line":"    fi"}],"source_content_type":"text/x-sh","patch_set":13,"id":"428cbd7f_8fb0d10d","line":19,"in_reply_to":"dfc05b86_777614ec","updated":"2023-09-17 15:32:44.000000000","message":"Done","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"4cd00777916871b1dc196ee6d85098be879fd843","unresolved":true,"context_lines":[{"line_number":40,"context_line":"        fi"},{"line_number":41,"context_line":"    fi"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    if [ ! -e \"/etc/letsencrypt/lego/${certificate_type}/certificates/${certificate_fqdn}.pem\" ]; then"},{"line_number":44,"context_line":"        echo \"$(date +%Y/%m-%d) $(date +%H:%M:%S) [INFO] [${certificate_fqdn} - cron] Obtaining certificate for domains ${certificate_fqdns}.\""},{"line_number":45,"context_line":"        /opt/lego --email\u003d\"${mail}\" \\"},{"line_number":46,"context_line":"                  ${certificate_domain_opts} \\"}],"source_content_type":"text/x-sh","patch_set":13,"id":"ff1f5b46_c8adbdc1","line":43,"updated":"2023-08-16 07:37:34.000000000","message":"you just checked does it exists...\n\nso maybe s/if.*/else?","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d1b5e1a35b8a1f1fb533fcc1cea597a87a710bcb","unresolved":false,"context_lines":[{"line_number":40,"context_line":"        fi"},{"line_number":41,"context_line":"    fi"},{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    if [ ! -e \"/etc/letsencrypt/lego/${certificate_type}/certificates/${certificate_fqdn}.pem\" ]; then"},{"line_number":44,"context_line":"        echo \"$(date +%Y/%m-%d) $(date +%H:%M:%S) [INFO] [${certificate_fqdn} - cron] Obtaining certificate for domains ${certificate_fqdns}.\""},{"line_number":45,"context_line":"        /opt/lego --email\u003d\"${mail}\" \\"},{"line_number":46,"context_line":"                  ${certificate_domain_opts} \\"}],"source_content_type":"text/x-sh","patch_set":13,"id":"22b8f95d_c2049e45","line":43,"in_reply_to":"ff1f5b46_c8adbdc1","updated":"2023-09-17 15:32:44.000000000","message":"Yeah, checked , but I also potentionally removing cert also in previous conditional. The reason is that if user added domain to be included in certificate, i need to remove it, that\u0027s the reason why i am testing again if exist.","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":24072,"name":"Marcin Juszkiewicz","email":"mjuszkiewicz@redhat.com","username":"hrw"},"change_message_id":"4cd00777916871b1dc196ee6d85098be879fd843","unresolved":true,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    if [ ! -e \"/etc/letsencrypt/lego/${certificate_type}/certificates/${certificate_fqdn}.pem\" ]; then"},{"line_number":44,"context_line":"        echo \"$(date +%Y/%m-%d) $(date +%H:%M:%S) [INFO] [${certificate_fqdn} - cron] Obtaining certificate for domains ${certificate_fqdns}.\""},{"line_number":45,"context_line":"        /opt/lego --email\u003d\"${mail}\" \\"},{"line_number":46,"context_line":"                  ${certificate_domain_opts} \\"},{"line_number":47,"context_line":"                  --server \"${acme_url}\" \\"},{"line_number":48,"context_line":"                  --path \"/etc/letsencrypt/lego/${certificate_type}/\" \\"}],"source_content_type":"text/x-sh","patch_set":13,"id":"14825155_997ce996","line":45,"updated":"2023-08-16 07:37:34.000000000","message":"Do one call to /opt/lego and set command and options in if/else block?\n\nEasier to not miss changes next time. Especially when only \"--pem\" argument change","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"d1b5e1a35b8a1f1fb533fcc1cea597a87a710bcb","unresolved":false,"context_lines":[{"line_number":42,"context_line":""},{"line_number":43,"context_line":"    if [ ! -e \"/etc/letsencrypt/lego/${certificate_type}/certificates/${certificate_fqdn}.pem\" ]; then"},{"line_number":44,"context_line":"        echo \"$(date +%Y/%m-%d) $(date +%H:%M:%S) [INFO] [${certificate_fqdn} - cron] Obtaining certificate for domains ${certificate_fqdns}.\""},{"line_number":45,"context_line":"        /opt/lego --email\u003d\"${mail}\" \\"},{"line_number":46,"context_line":"                  ${certificate_domain_opts} \\"},{"line_number":47,"context_line":"                  --server \"${acme_url}\" \\"},{"line_number":48,"context_line":"                  --path \"/etc/letsencrypt/lego/${certificate_type}/\" \\"}],"source_content_type":"text/x-sh","patch_set":13,"id":"19fa4c34_0f99f7c9","line":45,"in_reply_to":"14825155_997ce996","updated":"2023-09-17 15:32:44.000000000","message":"Done","commit_id":"d20e4e74611db9fa4d7155d2dda9e8a410ab7e62"}],"docker/letsencrypt/letsencrypt-lego/sync-and-update-certificate.sh":[{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"f1e1b871ad16035150fe5f2595b9022bcc72c1ca","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"function log_info {"},{"line_number":4,"context_line":"    local message\u003d\"${1}\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [INFO] ${message}\""},{"line_number":7,"context_line":"}"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"function log_error {"},{"line_number":10,"context_line":"    local message\u003d\"${1}\""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [ERROR] ${message}\""},{"line_number":13,"context_line":"}"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"# Parser"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-sh","patch_set":16,"id":"15c67044_1b800f7d","line":14,"range":{"start_line":3,"start_character":0,"end_line":14,"end_character":0},"updated":"2023-09-20 15:02:42.000000000","message":"the same functions in the letsencrypt-certificates.sh. lets move them into separate file? functions.sh or whatever?","commit_id":"3213dccb8c318134695bcc9c9ba480448964314f"},{"author":{"_account_id":32553,"name":"Sven Kieske","email":"sven_oss@posteo.de","username":"skieske"},"change_message_id":"5f26bd00eff8a9e5f1a110616c7be1ee085f4842","unresolved":true,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"function log_info {"},{"line_number":4,"context_line":"    local message\u003d\"${1}\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [INFO] ${message}\""},{"line_number":7,"context_line":"}"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"function log_error {"},{"line_number":10,"context_line":"    local message\u003d\"${1}\""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [ERROR] ${message}\""},{"line_number":13,"context_line":"}"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"# Parser"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-sh","patch_set":16,"id":"bbf13f9c_cfe3dbc1","line":14,"range":{"start_line":3,"start_character":0,"end_line":14,"end_character":0},"in_reply_to":"15c67044_1b800f7d","updated":"2023-09-22 08:29:41.000000000","message":"noticed this too, but it\u0027s a minor code duplication, I have no strong preference, shave this yak the way you like ;)","commit_id":"3213dccb8c318134695bcc9c9ba480448964314f"},{"author":{"_account_id":14200,"name":"Maksim Malchuk","email":"maksim.malchuk@gmail.com","username":"mmalchuk"},"change_message_id":"c030f3ff18c5a24f02b2cac2cc652c74d890f949","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"function log_info {"},{"line_number":4,"context_line":"    local message\u003d\"${1}\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [INFO] ${message}\""},{"line_number":7,"context_line":"}"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"function log_error {"},{"line_number":10,"context_line":"    local message\u003d\"${1}\""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [ERROR] ${message}\""},{"line_number":13,"context_line":"}"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"# Parser"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-sh","patch_set":16,"id":"87d171cc_ce7d6e66","line":14,"range":{"start_line":3,"start_character":0,"end_line":14,"end_character":0},"in_reply_to":"59441a09_b7ea7067","updated":"2023-09-26 13:03:32.000000000","message":"ok","commit_id":"3213dccb8c318134695bcc9c9ba480448964314f"},{"author":{"_account_id":27339,"name":"Michal Arbet","email":"michal.arbet@ultimum.io","username":"michalarbet"},"change_message_id":"8552f6c0553dc61c4262726cc24dc1e11b9c953b","unresolved":false,"context_lines":[{"line_number":1,"context_line":"#!/bin/bash"},{"line_number":2,"context_line":""},{"line_number":3,"context_line":"function log_info {"},{"line_number":4,"context_line":"    local message\u003d\"${1}\""},{"line_number":5,"context_line":""},{"line_number":6,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [INFO] ${message}\""},{"line_number":7,"context_line":"}"},{"line_number":8,"context_line":""},{"line_number":9,"context_line":"function log_error {"},{"line_number":10,"context_line":"    local message\u003d\"${1}\""},{"line_number":11,"context_line":""},{"line_number":12,"context_line":"    echo \"$(date +%Y/%m/%d) $(date +%H:%M:%S) [ERROR] ${message}\""},{"line_number":13,"context_line":"}"},{"line_number":14,"context_line":""},{"line_number":15,"context_line":""},{"line_number":16,"context_line":"# Parser"},{"line_number":17,"context_line":""}],"source_content_type":"text/x-sh","patch_set":16,"id":"59441a09_b7ea7067","line":14,"range":{"start_line":3,"start_character":0,"end_line":14,"end_character":0},"in_reply_to":"bbf13f9c_cfe3dbc1","updated":"2023-09-22 20:25:26.000000000","message":"Really, I think it doesn\u0027t make sense here, because instead of improving the readability of the code, it actually makes the readability of the code worse because you need to check another sourced file. Marking as resolved.","commit_id":"3213dccb8c318134695bcc9c9ba480448964314f"}]}
