Учора до ночі провозився з #clouddriver від #Spinnaker: це компонент, який відповідає за опрос стану хмарних сервісів (Kubernetes кластера, Docker регістрі). Под почав крашитись після перевода на нову #EKS ноду та вижирати доступні CPU ресурси.
Раніше я виявив, що така поведінка через накопичення команд опросу EKS кластерів та Docker регістрі. Справа у тому, що для обох процесів треба отрмати #AWS токени.
Для EKS це була команда:
```
aws eks get-token --cluster-name XXX --output json
```
Але в поді іноді її виконання займало до 10 секунд. AWS CLI написаний на #Python, тому працює повільно. Заміним цю команду на aws-iam-authenticator, який написаний на #Go та працює в 5-6 разів швидше:
```
aws-iam-authenticator token -i XXX
```
Наступна проблема з #Docker. Команда автентифікації була
```
aws ecr get-authorization-token --output text --query 'authorizationData[].authorizationToken' | base64 -d | sed 's/^AWS://'
```
Ця команда теж іноді по 10-15 секунд виконувалась та віджирала CPU. Токен дійсний на 12 годин, але опрос запускається кожні 5 хвилин, тому є сенс кеширувати його. Вигадав таку команду, не лякайтесь ;-) Її треба було саме однорядкову, тому що вона буде додана в #YAML конфіг #Spinnaker:
```
[ ! -f /tmp/ecr-token ] || \
[ $(( $(date +%s) - $(date +%s -r /tmp/ecr-token) )) -gt 36000 ] \
&& aws ecr get-authorization-token --output text \
--query "authorizationData[].authorizationToken" | \
base64 -d | sed "s/^AWS://" > /tmp/ecr-token; \
cat /tmp/ecr-token
```
Вона перевіряє наявність файла, якщо нема кешированого токена створює його та оновлює його якщо він старий, після просто видає його.
Після цього команди перестали накопичуватись на навантаження на под значнно впало.
Ліг спати щасливий як ніколи ;-)
#devops #troubleshooting

DevToolbox just hit 22 tools — all running in your browser, nothing sent to a server.

Latest additions:
🔧 SQL Formatter — beautify messy queries
🔧 YAML Validator — validate, format, convert YAML↔JSON
🔧 Cron Parser — decode cron expressions in plain English

Free, open source, zero tracking.

https://dannycranmer.github.io/devtoolbox/

#webdev #devtools #privacy #opensource #programming #sql #yaml

DevToolbox — Free Online Developer Tools

Free, fast, private developer utilities. JSON formatter, Base64 encoder, JWT decoder, Regex tester. No tracking, no ads, works offline.

gibts eigentlich menschen die einfach #json statt #yaml für #docker compose und #k8s verwenden? frage für einen freund

Wer strukturierte Daten ohne großen Aufwand revisionssicher schreiben und lesen will, findet nun mit Commitspark [0] eine Open Source Bibliothek in Version 1.0 von mir, die genau das erledigt.

Die technische Umsetzung basiert auf #Git, #GraphQL und #YAML , so dass der Einstieg gerade für Web Devs extrem einfach sein sollte.

Aktuell wird die Bibliothek schon in mehreren Projekten produktiv eingesetzt, z.B. zum sicheren Steuern der Konfiguration von Online Shops als auch dem Verwalten der Inhalte von komplexen, mehrsprachigen Webseiten.

Gibt es hier aber überhaupt Web EntwicklerInnen, die solche Themen interessieren?

[0] https://github.com/commitspark/graphql-api

#webdev #opensource

git yaml files will start anyone’s slow decent into madness …
#dev #devops #git #yaml #crazy

RE: https://w3c.social/@w3c/116216070362563670

FWIW, I have been storing Linked Data (including ActivityPub) in an INI like format — because I find INI-like formats more human-friendly (to both read and write) than JSON.

YAML is probably better than JSON, too, in that respects. But I think INI-like formats are better than YAML.

#ActivityPub #ActivityStreams #JSONLD #LinkedData #RDF #YAML #YAMLLD

ClickOps in der #Cloud-Konsole. #YAML-Dateien mit tausenden Zeilen. Infrastruktur, die niemand mehr versteht. Warum viele IaC-Ansätze an ihre Grenzen kommen & wie #Java hier neue Möglichkeiten eröffnet, erfährst du von @wlami: https://javapro.io/de/schluss-mit-yaml-cloud-infrastruktur-in-purem-java-definieren-testen-und-deployen/

#DevOps #CloudEngineering

L'Émergence d'un Outil d'Automatisation Autonome

https://peer.adalta.social/w/6cqzzzck5Z99x4WWtigCwV

L'Émergence d'un Outil d'Automatisation Autonome

PeerTube

The Rise of the Bespoke Automation Tool

https://peer.adalta.social/w/52D7K8ztTPGpjhqcomCQPR

The Rise of the Bespoke Automation Tool

PeerTube
Die Geburt eines Nischen-Tools

PeerTube