anhckie
отсюда рожу еще глупый вопрос, но все таки - реализация крона в гошке? на пхп там кронтабом все рулится)
anhckie
а в гошке как)
anhckie
на тикерах и фор+селект ?
Andrey
anhckie
Andrey
возможно я сумбурно рассказал, если не понятно то лучше переспросить )
anhckie
не, вроде все понял и, в целом, мое виденье таким и было)
anhckie
anhckie
важна скорость вызовов по сети, как можно догадаться, и какие-то базовые вещи типа сделать аутентификацию и замапить на структуру респонсы)
anhckie
советовали fiber, в джине не вижу смысла - он достаточно круто и классный, но будет излишним
anhckie
а-а, сколько же от меня вопросов))...
третий вопрос - насколько ок хранить креды к бд в репе в ямл-файлике?.. это же нарушение 12-факторного приложения. но насколько в реалиях это норм на коммерческих проектах ?
Илья
в енве храни
Илья
DB_PASS=123456789 go run .
anhckie
окей, но энвы должны будут на сервер откуда-то стянуться. при таком раскладе нужно будет юзать какой-нибудь vault?
Rostislav
Илья
anhckie
Andrey
помогите люди добрые, пытаюсь скомпилить гошное приложение так что бы оно статически слинковалось с сишной либой, когда я это делаю он сыпет ошибки на гошный код который использует сишную либу
Илья
Илья
как билдишь? -extldflags='-static' ?
Rostislav
Null
OTUS совместно с CloudМТС проведет онлайн-митап, посвященный миграции на новые облачные сервисы
Завтра в 18:00 мы расскажем о специфике миграции в облако МТС: разберем предпосылки, сценарии и технологии.
Своим опытом поделятся практикующие эксперты:
– Антон Губарев - разработчик Platform as a Service, Авито,
– Василий Никулин - Руководитель направления поддержки продаж федеральных клиентов, Департамент облачного бизнеса,
– Денис Кузьмичёв - Менеджер по продукту, CloudMТС
Каждый участник расскажет о миграции с учетом личного опыта и экспертизы. В конце мероприятия вы сможете задать вопросы всем участникам и получить гайд по миграции с комментариями экспертов.
Начинаем 6 сентября в 18:00 по Москве. Приходите по ссылке и приглашайте коллег!
Реклама. Информация о рекламодателе на сайте otus.ru
anhckie
еще вопрос по докеру, где-то туплю.
есть контейнер с мускулом, есть с аппкой.
запускаю мускул контейнер, аппку просто билджу для быстроты разработки - коннект устанавливается только через localhost.
если же в докере поднимаю и аппку, то коннект приходится устанавливать по названию контейнера мускула
anhckie
а может универсально как-то сделать же?)
anhckie
вот докер
app | 2022/09/05 12:43:07 user:password@tcp(localhost)/parser?parseTime=true&readTimeout=15s&timeout=5s&writeTimeout=15s
app | {"level":"info","time":"2022-09-05T12:43:07Z","caller":"/app/internal/app/app.go:21","message":"app - Run - db.New: db - NewMysql - db.Ping error: dial tcp 127.0.0.1:3306: connect: connection refused"}
anhckie
вот аппка вне докера
u@vl-049 parser % go run cmd/app/main.go
2022/09/05 15:44:15 user:password@tcp(localhost)/parser?parseTime=true&readTimeout=15s&timeout=5s&writeTimeout=15s
anhckie
т,е, все ок во втором случае
anhckie
что ты имеешь ввиду?
Илья
anhckie
переделал считывание конфига с ямл файла на переменные окружения. в докер-компоузе, получается, определил их для контейнера, а энвы уже в зависимости от локалки, дева или прода будут тянуться из хранилища ключей любого, типа vault'a
anhckie
единственное, обнаружил что внутри контейнера аппка не может спарсить энв
anhckie
godotenv.Load(".env")
test, _ := os.LookupEnv("DB_USERNAME")
в контейнере будет пусто
anhckie
если же руками в компоузе укажу - будет то что надо.
но в компоузе я такое хранить не хочу
anhckie
пользуюсь пакетом "github.com/ilyakaznacheev/cleanenv"
anhckie
энв что ли пробросить внутрь надо? примаунтить что ли)
Илья
в композе можешь сделать env_file: .env
Илья
а если локально, то я запускаю go run . через мейкфайл, который экспортирует все переменные
Tossadar
Можно, но .env семантически для другого.
Tossadar
Какой нибудь .app-env удобнее
Tossadar
.groupname.env
Tossadar
db.env
Tossadar
Не путать то что может быть нужно композу с тем что нужно приложению
Tossadar
Чтоб потом в рот никто не ебал за говно в проекте
anhckie
Tossadar
Переменная для списка файлов которые запускать с композом, и переменная для названия проекта композа
anhckie
Tossadar
Илья
anhckie
)))
anhckie
так и у меня сделано)
anhckie
но не припилил мейк-команду на ран проекта )
anhckie
лол, мистика.
err := godotenv.Load(".env")
if err != nil {
return nil, err
}
1. запускаю без контейнера - все ок
2. запуска в контейнере - получаю ошибку, что файл не найден.
делаю без проверки на ошибку
godotenv.Load(".env")
- все збс и в контейнере тоже, переменные считываются.
энв-файл лежит в корне проекта, в компоузе
env_file: .env
оставил без проверки, но ситуацию не понял
Tossadar
Tossadar
Меньше говна делать надо
anhckie
так а в чем конкретно говно?)
anhckie
есть энв-файл, с него читаются креды для коннектов.
но и для докер-контейнера это надо
anhckie
типа, "а как надо было?" ,)
Gizzatullin
Привет всем! Посоветуйте курс с нуля😊
Не ну это
Eugene
го секс
Тимофей
Блин, у меня проблема. Проект в докере слишком долго билдится. Можете скинуть гайд на поэтапный запуск? типо как тут: https://youtu.be/whVHHmd7Ji0
Илья
Илья
убери флаг -a
Тимофей
я через compose билжу
Тимофей
ща засекуу
Alexey
Тимофей
Тимофей
Тимофей
делаю минимальные изменения в коде
Тимофей
и жду...
Emin Zalaev
ждем
Тимофей
админ абуз...
Не ну это
Тимофей
так нельзя стикеры кидать
Emin Zalaev
арбуз
Не ну это
Илья