суббота, 25 августа 2018 г.

Сделать файл выполняемым в Git

По-умолчанию Git не сохраняет права доступа на файлы, но есть возможность сделать отдельный файл исполняемым

$ git add script.sh

$ git ls-files --stage script.sh
100644 9f3f770bfcccad3d62d2e2d08b077469ef3722fa 0       script.sh

$ git update-index --chmod=+x script.sh

$ git ls-files --stage script.sh
100755 9f3f770bfcccad3d62d2e2d08b077469ef3722fa 0       script.sh

$ git commit -m 'Executable script'
[master (root-commit) 1cf26b3] Executable script
 1 file changed, 0 insertions(+), 0 deletions(-)
 create mode 100755 script.sh

среда, 22 августа 2018 г.

Монтирование EFS в кластере AWS ECS

Есть несколько способов смонтировать EFS в ECS кластере:
  • монтировать EFS на ноде кластера из cloud-init/puppet/chef/ansible/etc и делать bind mount в контейнер при старте (придется монтировать EFS на каждой ноде кластера где может запуститься контейнер)
  • монтировать EFS внутри контейнера контейнера (требует privileged для контейнера, т.к. монтирование файловой системы зависит от CAP_SYS_ADMIN)
  • использовать EFS в качестве docker volume (вроде появилось начиная с docker api 1.21, но я точно не уверен)
Хочу подробнее остановиться на последнем варианте, т.к. на мой взгляд он наиболее универсальный, но требует относительно свежий docker daemon и ecs-agent.

четверг, 9 августа 2018 г.

Сломалась LDAP аутентификация после обновления GitLab

После обновления GitLab с версии 9.5.10 до 10.8.7 столкнулся с ошибкой при входе с использованием LDAP аутентификации

Could not authenticate you from Ldapmain because "Ssl connect returned=1 errno=0 state=error: certificate verify failed".

Чтобы решить эту проблему нужно отредактировать файл /etc/gitlab/gitlab.rb и добавить параметр ca_file в секции настроек LDAP