Без рубрики

Установка Kubernetes nginx controller на bare metal

Подробная инструкция как установить nginx ingress controller на чистый bare metal кластер: https://kubernetes.github.io/ingress-nginx/deploy/#bare-metal Или по шагам: Устанавливаем ingress-nginx service с type NodePort: kubectl apply -f https://raw.githubusercontent.com/kubernetes/ingress-nginx/master/deploy/provider/baremetal/service-nodeport.yaml Проверим, что установка завершена успешно: kubectl get services -n ingress-nginx Видим: ingress-nginx ingress-nginx NodePort…
Read more

Получение данных Jira тикета по Atlassian API

Для получения данных по Jira тикету достаточно воспользоваться Atlassian REST API  curl -D- \    -X GET \    -H «Authorization: Basic <base64 encoded stuff>“ \    -H «Content-Type: application/json» \    «https://yourcompany.atlassian.net/rest/api/2/issue/TICKET-NUMBER» В качестве токена авторизации можно (но не…
Read more

Шаблон Golang table testing

Допустим у нас имеется некая функция: NormalizeEndpoint(endpointBefore string) string Подготовим тесты на эту функцию: func TestNormalizeEndpoints(t *testing.T) { type runnerTest struct { name string endpointBefore string endpointAfter string } var tests = []runnerTest{ {«Test 1», «https://case1.com», «case1»}, {«Test 2», «https://case2.com»,…
Read more

Golang — Squirrel SQL Query Generator

Пример удобной библиотеки для генерации SQL кода в Golang. Нет необходимости писать большие и сложные sprintf и делать экранирование вручную. Просто воспользуемся удобными синтаксисом библиотеки squirrel. Для начала: import «github.com/Masterminds/squirrel» Теперь допустим нам нужно добавить новую запись в нашу postgres…
Read more

Скрипт корректировки курсов Bestchange

Разработан и выведен в отдельно существующий компонент специальный скрипт для автокорректировки курсов для агрегатора bestchange. Данный продукт просто необходим для обменных пунктов, которые работают через bestchange.ru и которые хотят быть постоянно в топе по определенным направлениям. Какие параметры можно регулировать?…
Read more

Получить реальный IP адрес клиента с Cloudflare в PHP

При использовании сервиса Cloudflare стоит вопрос получения реального IP адреса клиента. Специально для этого Cloudflare отдает заголовок HTTP_CF_CONNECTING_IP. Нам достаточно его забрать в любом виде (через библиотеку желательно, а не через суперглобальную переменную т.к суперглобальные переменные в PHP это всегда зло):…
Read more

PHP скрипт загрузки папки с файлами на S3 bucket

Очень простой и эффективный метод отправить все необходимые файлы с выбранной папки на ваш S3. Устанавливаем aws-sdk-php: composer require «aws/aws-sdk-php» Готовим скрипт: #!/usr/bin/env php <?php use Aws\S3\S3Client; require __DIR__.’/vendor/autoload.php’; if ($_SERVER[‘argc’]<2){ print ‘Expected dir as parameter: run.php /dir/to/sync’.PHP_EOL; exit(1); }…
Read more

Golang пример unmarshal json в map

req, _ := http.NewRequest(http.MethodGet, «https://api.example.com/messages», nil) resp,_ := httpClient.Do(req) bodyBytes, err := ioutil.ReadAll(resp.Body) var data map[string]interface{} err = json.Unmarshal(bodyBytes, &data) if err != nil { log.Fatal(err) } logs := data[«messages»] for _, log := range logs.([]interface{}) { log = log.(map[string]interface{})[«message»]…
Read more

Golang пример http клиента с Basic авторизацией

Пример использования стандартного http клиента для проведения GET запросов с Basic авторизацией: basicAuth := «Basic » + basicAuth(«user», «password») var netClient = &http.Client{ Timeout: time.Second * 10, } url := «https://sassoft.ru/some-endpoint» req, err := http.NewRequest(«GET», url, nil) if err !=…
Read more