@proRuby

Страница 219 из 1594
Alex
02.10.2016
22:37:59
спасибо посмеялся

надеюсь ты не серьезно.

Ты еще на гитхаб репозиторий запиши пароль от amazon, пускай его боты своруют.

Секреты внутри репозитория не хранятся. Знаешь почему?

Google
Alex
02.10.2016
22:38:45
почитай как хакнули fl.ru. У них слили код

а так как у них прям в коде все записано было то у них был долгий даунтайм пока они везде пароли меняли.

Если бы оно в коде не было жестко прошито, а передавалось как то за пределами репозитория то такой проблемы бы не было. Поэтому писать секреты в репозиторий это дурной тон.

В опенсорсе вообще невозможно.

Dmitriy
02.10.2016
22:40:18
Ребят, можете скинуть аналогичные чаты для PHP разработчиков? Спасибо!

Alexander
02.10.2016
22:40:29
Alex
02.10.2016
22:40:38
Синглтон тоже в какой то мере антипаттерн, но считаю его юзание здесь оправданным.

Alex
02.10.2016
22:40:55
Знаю
А как ты их еще передавать будешь?

Alexander
02.10.2016
22:41:39
А как ты их еще передавать будешь?
Запишу) ты же как-то ENV устанавливаешь? Ну вот в файл записать просто вместо этого и всё

Alex
02.10.2016
22:41:54
у меня конфигурация для ENV хранится в специальном репозитории

будь то chef/ansible

Google
Alex
02.10.2016
22:42:21
Зачем я комичу конфигурацию chef/ansible?

Alexander
02.10.2016
22:42:43
Подожди

Давай просто про ключ к сервису А

Как его хранить и загрузить для класса библиотеки?

Alex
02.10.2016
22:43:21
а где он храниться будет и кем задаваться будет?

Передаешь классу при инициавлизации наприменр

либо создаешь специальный метод который может эти данные менять внутри класса.

Alexander
02.10.2016
22:43:47
Подожди

В Ruby он как попадёт? Через YAML?

Alex
02.10.2016
22:44:31
В процесс? да как угодно

Alexander
02.10.2016
22:44:56
Ну вот я про твой пример с secrets.yml спрашиваю

Alex
02.10.2016
22:45:02
У меня в секретах он хранится

Иван
02.10.2016
22:45:19
Ребят, можете скинуть аналогичные чаты для PHP разработчиков? Спасибо!
тут один из пользователей составил клевый список чатов, думаю найдешь там что тебе нужно https://github.com/goq/telegram-list

Alexander
02.10.2016
22:45:32
Так, значит YAML. В том файле откуда взялось значение?

Alex
02.10.2016
22:45:55
Из ENV

https://github.com/ebertti/awesome-telegram

где то был еще список всех pro.*

Alexander
02.10.2016
22:46:41
Из ENV
Я вот на этом этапе не вижу проблемы вписать руками или через CD

Alex
02.10.2016
22:46:49
в ENV?

Alexander
02.10.2016
22:46:56
В YAML!

Google
Alex
02.10.2016
22:46:56
ты на проде это как пропишешь?

Щито

Alexander
02.10.2016
22:47:09
Вот потому и спрашиваю: зачем ENV?

Alex
02.10.2016
22:47:19
Ну, ты рассматриваешь дефолтную конфигурацию где secrets.yml не комитится в репозиторий

Alexander
02.10.2016
22:47:28
ты на проде это как пропишешь?
Выше привёл два примера как: ручной и автоматизированный

Alex
02.10.2016
22:47:33
значит тебе нужно делать еще голый secrets.yml.default верно?

Alex
02.10.2016
22:47:43
иначе ты не будешь знать какие у тебя секреты хранятся

Alexander
02.10.2016
22:47:47
Тут много вариантов

Alex
02.10.2016
22:48:07
А если так, то зачем мне возиться с двумя файлами когда я могу через ENV все задавать? ENV имхо гибче.

Я могу легко ENV в докере прокинуть, файл сложнее.

Alex
02.10.2016
22:48:39
Чтобы у меня в одном месте приложения было видно все все секреты которые вообще есть.

Alexander
02.10.2016
22:48:56
Как они туда попадают из ENV?

ENV кого вообще?

Alex
02.10.2016
22:49:14
unix environment

Alexander
02.10.2016
22:49:37
unix environment
Неее, нету глобального ENV в системе

Alex
02.10.2016
22:49:46
ну да

Google
Alex
02.10.2016
22:49:57
глобального unix timestamp Тоже нету

а понятие есть

Alexander
02.10.2016
22:50:22
Так вот чей ENV?

Докера? Приложения? Чего-то ещё?

И откуда он берётся? Из ~/.profile?

Alex
02.10.2016
22:52:15
я обычно юзаю direnv/docker

Alexander
02.10.2016
22:54:01
я обычно юзаю direnv/docker
Это мало о чём говорит ? но ладно. Как они там оказались? Сам вписал? Или через докер?

Alex
02.10.2016
22:54:19
Я читаю secrets.yml дальше могу составить свой .envrc который не комитится в репозиторий.

direnv простой, попробуй может понравится

Admin
ERROR: S client not available

Alexander
02.10.2016
22:54:53
Ты либо скакнул вперёд, либо я потерял нить

Alex
02.10.2016
22:55:05
он мне еще позволяет не писать bundle exec

Ты либо скакнул вперёд, либо я потерял нить
Я ставлю direnv, читаю secrets.yml, беру все ENV которые мне нужны и пишу со значенитями в .envrc

Alexander
02.10.2016
22:55:37
Попробую с другой стороны: сервис A дал тебе ключ, ты его копируешь и пишешь куда?

Жесть

Alex
02.10.2016
22:55:58
Ээ

у меня в локалке внешние апишки не юзаются.

Alexander
02.10.2016
22:56:25
он мне еще позволяет не писать bundle exec
Я и так не пишу, спасибо require 'bundler' Bundle.require

Alex
02.10.2016
22:56:36
Сервис дал мне ключ и дальше я его уже прописываю на проде в докер контейнер

Alexander
02.10.2016
22:56:40
Google
Alex
02.10.2016
22:56:53
Alexander
02.10.2016
22:56:59
Alex
02.10.2016
22:57:33
Так, каким образом? Командой отдаёшь? Или в файл?
Как я докеру прописываю ENV? ну сейчас у меня некое подобие докера на личном сайте, там я через chef провизионирую контейнеры которые мне нужно поднять и задаю им ENV

Alexander
02.10.2016
22:57:37
bundle exec guard и все такое
Не знаю guard, к счастью

Alex
02.10.2016
22:57:42
А так в каждой системе оркестрации по своему

В docker-compose например легко env задать

Alex
02.10.2016
22:58:00
docker-compose конфиг со всеми файлами лежит в отдельном репозиториию.

Alexander
02.10.2016
22:58:06
А

Так, всё же у тебя ключ от сервиса А в репозитории, хоть и отдельном

Ты осознаёшь сколько путей проходит ключ до кода? Около 5

Alex
02.10.2016
22:59:10
Как задаёшь?
docker_container "apache_#{unix_name}_php_5_3" do repo "mycompany/apache_php_5_3" links ["memcached:memcached"] port ["127.0.0.1:#{http_port}:80"] env ["CS_USERNAME=#{unix_name}", "CS_USERNAME_UID=#{unix_uid}"] volumes [ "/home/#{unix_name}/web:/home/#{unix_name}/web", "/var/run/mysqld:/var/run/mysqld" ] kill_after 3 action [:create, :start] end Вот так например

Ты осознаёшь сколько путей проходит ключ до кода? Около 5
Какая разница как у тебя передается ключ если у тебя приложение прелоадится

На локалке один путь на проде другой

через ENV очень удобно секреты и конфигурацию передавать

Alexander
02.10.2016
23:00:29
На локалке один путь на проде другой
Какую роль это играет? Относительные пути нужны

Alex
02.10.2016
23:00:37
Что?

твое приложение вообще заботить не должно как ему ENV подсунули

тем ENV'ы и хороши

Alexander
02.10.2016
23:01:30
твое приложение вообще заботить не должно как ему ENV подсунули
Ммм, приложение может не заботить как YAML файл создали

Alex
02.10.2016
23:01:44
Ну да, вот только ENV'ы проще пробрасывать

Страница 219 из 1594