Ayrat
но волмарт купил джет. Волмарт платит сам себе эти 4к бачей?
Да, сам себе. Ну типа ты видишь сколько стоит твой спринг теперь!
Mikhαil
но волмарт купил джет. Волмарт платит сам себе эти 4к бачей?
И вычитает переплаты из зп разрабочиков
Mikhαil
Как заработать на своих сотрудниках - уроки от волмарт
Mikhαil
Vladislav
Vladislav
пакет на макос
Roman
Да, сам себе. Ну типа ты видишь сколько стоит твой спринг теперь!
ох лол. Полюбас теперь одни менеджеры отчитываются о том, что получили 4к бачей прибыли в месяц, а другие потом отчитаются, что снизили убытки с 5к до 4к
Mikhαil
Если юрлица в разных странах или в разных льготных условиях
Roman
это да
Vladislav
@omgszer зацени
Mikhαil
а что делают эти прокладки?
Впитывают лишнюю влагу вероятно
Roman
типа конфигурировать позволяют удобней?
Ayrat
а что делают эти прокладки?
За тебя делают кубернетес и все все все. Ну вот смотри, я только в репу кладу ямл и у меня разворачивается кластер в двух ажур дц с графанами, спланками и мониторингами. Ямл в своем формате, да
Roman
а, ну наверное, имеет смысол
Roman
если работает нормально
Ayrat
Работает збс. Я вот не знаю что все по кубернетесу плачут, все ж работает!
Roman
until it doesn't
Ayrat
Эт бывает, да.
Anonymous
тебе только сигары и виски там не дают
Anonymous
хотя я не удивлюсь, если ты что-то кладешь в ямл и это приносят
Anonymous
ну в том ямле почти всё задаётся, да
и не дай Бог проебать табу
Anonymous
все, полдня на смарку
Anonymous
лучше левую руку в кипящее масло засунуть
Ayrat
` owner: group: price-transparency-sec-kitt notify: slack: channelName: omnipricing-kitt-ops setup: featureFlagMap: alertAllTheThings: true build: skip: false buildType: docker looper: enableDockerNoCache: false enableDockerClean: false docker: app: dockerFile: Dockerfile deploy: skip: false releaseType: deployTimeout: 360 #app should deploy & boot up within 6 mins helm: values: min: cpu: 1000m memory: 2Gi max: cpu: 1000m memory: 2Gi livenessProbe: enabled: "true" probeInterval: 15 wait: 180 path: "/v1/health" # need to decide readinessProbe: enabled: "true" probeInterval: 15 wait: 30 path: "/v1/health" # need to decide networking: pathPrefix: / # externalPort: "80" # internalPort: "9000" ports: prom: internalPort: 9249 externalPort: 9249 protocol: TCP ui: internalPort: 8081 externalPort: 80 protocol: TCP global: alerts: #we are defining alerts in grafana slackChannel: - omnipricing-kitt-ops metrics: enabled: true # enable metrics endpoint scraping from local Prometheus in Kubernetes whitelistenabled: true remoteWriteSampleLimit: 120 endpoints: - targetPort: 9000 path: "/metrics" whitelist: # whitelist needed to push from local Prometheus in Kubernetes to central metrics provider - omni_price_qry_svc_request_total - omni_price_qry_svc_response_total - omni_price_qry_svc_response_time_seconds_bucket - omni_price_qry_svc_response_time_seconds_count - omni_price_qry_svc_response_time_seconds_sum - omni_price_qry_svc_response_content_length_bytes_bucket - omni_price_qry_svc_response_content_length_bytes_count - omni_price_qry_svc_response_content_length_bytes_sum - omni_price_qry_svc_services_request_total - omni_price_qry_svc_services_response_total - omni_price_qry_svc_services_response_time_seconds_bucket - omni_price_qry_svc_services_response_time_seconds_count - omni_price_qry_svc_services_response_time_seconds_sum - omni_price_qry_svc_services_response_content_length_bytes_bucket - omni_price_qry_svc_services_response_content_length_bytes_count - omni_price_qry_svc_services_response_content_length_bytes_sum - jvm_classes_loaded - jvm_classes_loaded_total - jvm_classes_unloaded_total - jvm_gc_collection_seconds_count - jvm_gc_collection_seconds_sum - jvm_buffer_pool_used_bytes - jvm_buffer_pool_capacity_bytes - jvm_buffer_pool_used_buffers - jvm_memory_pool_allocated_bytes_total - jvm_threads_current - jvm_threads_daemon - jvm_threads_peak - jvm_threads_started_total - jvm_threads_deadlocked - jvm_threads_deadlocked_monitor - jvm_threads_state - jvm_memory_bytes_used - jvm_memory_bytes_committed - jvm_memory_bytes_max - jvm_memory_bytes_init - jvm_memory_pool_bytes_used - jvm_memory_pool_bytes_committed - jvm_memory_pool_bytes_max - jvm_memory_pool_bytes_init - jvm_info - process_cpu_seconds_total - process_start_time_seconds - process_open_fds - process_max_fds - process_virtual_memory_bytes - process_resident_memory_bytes - logback_appender_total stages: - name: dev refs: [master] rollbackOnError: true target: - cluster_id: [scus-dev-a2] helm: values: scaling:
Ayrat
cpuPercent: 80 max: 2 min: 1 env: APP_VERSION: "{{$.kitt.build.version}}" JAVA_OPTS: "-XX:MaxRAMPercentage=90.0 -Druntime.context.system.property.override.enabled=true -Druntime.context.environmentType=stg -Druntime.context.environment={{$.kittExec.currentStage.name}} -Druntime.context.appName={{$.kitt.build.artifact}}" postDeploy: - concord: name: sanitycheck action: start entryPoint: sanityCheck org: 3p-marketplace project: mp-pricing-pipeline repo: omni-price-qry-svc sync: true arguments: envSuffix: ".dev" - name: stage refs: [master] approvers: groups: - "dub-merch-tech-dub-merch-tech" rollbackOnError: true target: - cluster_id: [scus-stage-a2] helm: values: scaling: cpuPercent: 80 max: 2 min: 2 env: APP_VERSION: "{{$.kitt.build.version}}" JAVA_OPTS: "-XX:MaxRAMPercentage=90.0 -Druntime.context.system.property.override.enabled=true -Druntime.context.environmentType=stg -Druntime.context.environment=stg -Druntime.context.appName={{$.kitt.build.artifact}} " postDeploy: - concord: name: sanitycheck action: start entryPoint: sanityCheck org: 3p-marketplace project: mp-pricing-pipeline repo: omni-price-qry-svc sync: true arguments: envSuffix: ".stage" - name: prod refs: [master] approvers: groups: - "dub-merch-tech-dub-merch-tech" rollbackOnError: true target: - cluster_id: [scus-prod-a3] helm: values: scaling: cpuPercent: 80 max: 1 min: 1 env: APP_VERSION: "{{$.kitt.build.version}}" JAVA_OPTS: "-XX:MaxRAMPercentage=90.0 -Druntime.context.system.property.override.enabled=true -Druntime.context.environmentType={{$.kittExec.currentStage.name}} -Druntime.context.environment={{$.kittExec.currentStage.name}} -Druntime.context.appName={{$.kitt.build.artifact}}" postDeploy: - concord: name: sanitycheck action: start entryPoint: sanityCheck org: 3p-marketplace project: mp-pricing-pipeline repo: omni-price-qry-svc sync: true arguments: envSuffix: "" namespace: "omnipricing" gslb: clusterProfiles: dev: cname: omni-price-qry-svc.dev.walmartlabs.com stage: cname: omni-price-qry-svc.stage.walmartlabs.com prod: cname: omni-price-qry-svc.walmartlabs.com securityContext: allowPrivilegeEscalation: false runAsUser: 10000 ` тут ничего секретного. В этом ямле задается и деплой, и билд, и метрики, и алёрты, и среды и вообще всё
Ilya
А ямл схем ещё не придумали? Как с json.
Ilya
Правда я так и не смог заставить райдер работать с джсон схемой.
Ayrat
короче, не пастится весь ямл
Anonymous
Блять вот это да
Prunkles
так фронтенд же
Так код-то серверный был
Anonymous
Вот напомни мне в понедельник
Anonymous
Я тебе покажу наш ямл
Anonymous
Там сука четыре папки и по десять файлов
Ayrat
а тут в одном всё!
Anonymous
Да я в ахуе
Denis
Так код-то серверный был
но писали то фронтендеры небось
Prunkles
К слову, ребят Я контрибьюцией ранее занимался чуть менее, чем никак, поэтому, внеся изменение, улучшение, дополнение, есть ли какие-нибудь "так принято", прежде чем делать пр?
Vladislav
Ишуй создать
Ayrat
ну и да, обычно PR должен предваряться ишуем иначе неясно что ты чинишь. Может и чинить не надо, ибо by design
Ilya
И вообще все гайдлайнс. Часто пишут, как лучше пр делать.
Denis
https://github.com/Shmew/Fable.SignalR/blob/master/.github/PULL_REQUEST_TEMPLATE.md
Denis
вот
Denis
и выше по дереву — issue
Roman
а тут в одном всё!
Осталось сделать CE на фарше, чтобы отступы случайно не похерить
Prunkles
https://github.com/Shmew/Fable.SignalR/blob/master/.github/PULL_REQUEST_TEMPLATE.md
Ну ничего себе запрятал. Спасибо
Denis
Гитхаб это автоматом подтянет
Denis
если будешь создавать PR
Denis
и заставит заполнить
Prunkles
Я так полагаю, чтобы сделать пр, я должен форкнуть репо, так?
Ilya
Я так полагаю, чтобы сделать пр, я должен форкнуть репо, так?
https://docs.github.com/en/github/collaborating-with-issues-and-pull-requests/creating-a-pull-request
Антон
господа, тут смотрю доклад Антона М, и он обмолвился, что хотел бы вообще слезть с иглы SQL - собственно, пащиму?
Ilya
Наверное, у него и надо спросить.
Mikhαil
Ну и хочет слезть - пусть слезет
Mikhαil
Чо ему мешает
Shub
Работает збс. Я вот не знаю что все по кубернетесу плачут, все ж работает!
Работает охрененно вообще. Я не знаю, какими хроническими болезнями это обходится девопсам, но прям все бесшовно так, удобно, на удивление документировано
Dr. Friedrich
Optional.ofNullable(someObject) .map(x -> ...) .orElseGet(...)
А потом ты результат этого выражения кладёшь в var, ревьюер в ярости, везде мёртвые котята, все вокруг плачут кровавыми слезами, и тебя увольняют.
Ilya
А почему нельзя в вар положить?
Dr. Friedrich
А почему нельзя в вар положить?
Это же динамическая типизация!!! Ты что, хочешь, чтобы и за нами пришли?!
Критерий
тип выводится динамически при компиляции
Vladimir
Работает збс. Я вот не знаю что все по кубернетесу плачут, все ж работает!
я сегодня узнал, что кластер куба может полностью развалиться, а приложение будет работать как и работало
Dr. Friedrich
тип выводится динамически при компиляции
VARвары превращают нашу няшную Жаву в свой вонючий Жаваскрипт, и точка. Нет пути!
Vladislav
https://github.com/dotnet/fsharp/issues/9663
Dr. Friedrich
@omgszer и ты заценяй, жавная история максимально кровавая: https://t.me/dotnettalks/743881
Dr. Friedrich
В смысле, буквально кровавая, во всех смыслах: мертвецы, энтерпрайз, joda-time, 19 век.