"Вернись обратно"
Именно такую фразу я сказал на стриме своему интерну и он, само собой, её ни черта не понял.
Да чего я выделываюсь, я бы и сам её не понял без контекста😅
Переключиться в предыдущую рабочую директорию
Переключиться на предыдущий контекст Kubernetes
Переключиться на предыдущий namespace в Kubernetes
Переключиться на предыдущую ветку в git
Возможно есть что-то ещё c похожим поведением, но я, в основном, использую только это в работе.
#devops #очевидное #вероятное
Именно такую фразу я сказал на стриме своему интерну и он, само собой, её ни черта не понял.
Да чего я выделываюсь, я бы и сам её не понял без контекста😅
Переключиться в предыдущую рабочую директорию
cd - Переключиться на предыдущий контекст Kubernetes
kubectx - Переключиться на предыдущий namespace в Kubernetes
kubens -Переключиться на предыдущую ветку в git
git checkout -Возможно есть что-то ещё c похожим поведением, но я, в основном, использую только это в работе.
#devops #очевидное #вероятное
👍10❤2
#devops
Когда есть частая задача быстро смотреть содержимое секретов кубера, например пароли:
Пример использования:
Особенности:
- для тех, кто не любит тяжёлые плагины с kubectl или k9s
- эта функция-пример не учитывает неймспейс, но я всегда юзаю
*kvs - kube view secret
Когда есть частая задача быстро смотреть содержимое секретов кубера, например пароли:
~/.bashrc (или любой другой шелл)function kvs() {
kubectl get secret "$1" -o json | jq '.data | map_values(@base64d)'
}Пример использования:
> kvs grafana-monitoring
{
"admin-password": "pupupu",
"admin-user": "pupupu@pupupu.ded",
"ldap-toml": ""
}
Особенности:
- для тех, кто не любит тяжёлые плагины с kubectl или k9s
- эта функция-пример не учитывает неймспейс, но я всегда юзаю
kubens и свичусь всегда, так что для меня ок*kvs - kube view secret
👍10
#devops
Дотфайлы в репозитории: что, сколько?
В 2025 репо без дотфайлов - как микросервис без контейнера: не взлетает.
Они решают всё: от фильтра мусора до CI/CD и AI IDE.
Сколько их сейчас нужно для стандартного проекта?
5-10 - стандарт для микросервисов.
Меньше - тухло, больше 15 - безусловно перегиб.
Пробежимся по категориям.
1. Игнорирование: убираем мусор
2. Окружение: переменные
3. Инструменты: линтеры, форматтеры, хуки
5. CI/CD: автоматизация
6. Тесты и сборка
7. IDE/AI IDE: редакторы
Так сколько же? Для бизнес аппликейшн среднее значение 6-8:
.gitignore, .dockerignore, .CICD.yaml, .editorconfig, .pre-commit-config.yaml, .IDE.yaml + для стека
Для helm chart 3+:
.gitignore, .helmignore, .pre-commit-config.yaml, .yamllint.yaml
Для terra*/инфры 5+:
.gitignore, .editorconfig, .pre-commit-config.yaml, .IDE.yaml, .tflint, yamllint.yaml
Бежать и пилить все недостающие файлы? Не, конечно не стоит.
Каждый сам должен для себя решить когда и что ему нужно в проектах и постепенно добавлять то, чего не хватает команде и бизнесу. Взросление не происходит мгновенно.
Если не знаете с чего начать, то спросите любую нейронку какие дотфайлы нужны вам для вашего проекта и какой пример содержимого.
В конце концов есть даже генераторы и готовые сборки, например:
https://github.com/PatrickJS/awesome-cursorrules
https://github.com/sanjeed5/awesome-cursor-rules-mdc/
https://github.com/github/gitignore
https://github.com/toptal/gitignore
(искать через "awesome .DOTFILENAME")
У нас уже почти стандарт 7 файлов по минималке везде, кроме хелм чарта.
В монолит монорепе аж 14 дотфайлов. Все в работе.
* Безусловно я мог пропустить часть дотфайлов, либо забыл, либо не работал с ними.
** .CICD.yaml = ямл для того CICD, который на проекте, от трависа до гитхаба/гитлаба.
Update: конечно я забыл про один из главных файлов
Подробно писал про asdf тут https://xn--r1a.website/makebreakreflect/69
Дотфайлы в репозитории: что, сколько?
В 2025 репо без дотфайлов - как микросервис без контейнера: не взлетает.
Они решают всё: от фильтра мусора до CI/CD и AI IDE.
Сколько их сейчас нужно для стандартного проекта?
5-10 - стандарт для микросервисов.
Меньше - тухло, больше 15 - безусловно перегиб.
Пробежимся по категориям.
1. Игнорирование: убираем мусор
.gitignore - Очевидно, без вопросов. Чистит node_modules, логи, .env. Все знают, что тут..dockerignore - Почти все проекты - контейнеры. Фильтрует контекст Docker, чтобы не тащить лишнего. Писал тут https://xn--r1a.website/makebreakreflect/84 .helmignore - Как .dockerignore, но для Helm-чартов. Нужен для репо с чартами или гетерогенных пайплайнов..npmignore - Чистит лишнее при публикации npm-пакетов. Только для пакетов.2. Окружение: переменные
.env - Хранит DATABASE_URL, порты. В .gitignore, без вариантов..env.example/development/production - Шаблон(ы) .env для разных окружений.3. Инструменты: линтеры, форматтеры, хуки
.eslintrc - Линтинг JS/TS. Без него в JS/TS никуда..yamllint - Линтинг YAML - K8s, CI/CD. Если YAML много, надо..tflint - Линтинг Terraform. Для Terraform-проектов..prettierrc - Форматирует код. Почти везде..nvmrc - Фиксирует версию Node.js. Для Node..huskyrc - Преккоммит-хуки. Автопроверки перед коммитом..lintstagedrc - Линтинг только изменённых файлов. Работает с Husky..pre-commit-config.yaml - Конфиг для pre-commit. Например запускает линтеры (tflint, ESLint, chehov) перед коммитом. Для автопроверок. Must have как по мне для всех.5. CI/CD: автоматизация
.github/workflows/*.yml - Пайплайны GitHub Actions. Для GitHub CI/CD..gitlab-ci.yml - Пайплайны GitLab. Для GitLab.6. Тесты и сборка
.jest.config.js - Конфиг Jest для тестов JS/TS..tsconfig.json - Конфиг TypeScript. Для TS..vite.config.js - Сборка фронта/бэка. Для сложных сборок.7. IDE/AI IDE: редакторы
.editorconfig - Единые настройки редакторов. Для команд..cursorignore - Исключает файлы для AI в Cursor. Для Cursor. Например с локальным .env и паролями..cursorrules - правила Cursor IDE.cursor/rules/*.mdc - Правила для AI Cursor - стиль кода, ограничения. Для Cursor..windsurfrules - Правила Windsurf, стиль, ограничения..idea/ - Конфиги IntelliJ. Для JetBrainsТак сколько же? Для бизнес аппликейшн среднее значение 6-8:
.gitignore, .dockerignore, .CICD.yaml, .editorconfig, .pre-commit-config.yaml, .IDE.yaml + для стека
Для helm chart 3+:
.gitignore, .helmignore, .pre-commit-config.yaml, .yamllint.yaml
Для terra*/инфры 5+:
.gitignore, .editorconfig, .pre-commit-config.yaml, .IDE.yaml, .tflint, yamllint.yaml
Бежать и пилить все недостающие файлы? Не, конечно не стоит.
Каждый сам должен для себя решить когда и что ему нужно в проектах и постепенно добавлять то, чего не хватает команде и бизнесу. Взросление не происходит мгновенно.
Если не знаете с чего начать, то спросите любую нейронку какие дотфайлы нужны вам для вашего проекта и какой пример содержимого.
В конце концов есть даже генераторы и готовые сборки, например:
https://github.com/PatrickJS/awesome-cursorrules
https://github.com/sanjeed5/awesome-cursor-rules-mdc/
https://github.com/github/gitignore
https://github.com/toptal/gitignore
(искать через "awesome .DOTFILENAME")
У нас уже почти стандарт 7 файлов по минималке везде, кроме хелм чарта.
В монолит монорепе аж 14 дотфайлов. Все в работе.
* Безусловно я мог пропустить часть дотфайлов, либо забыл, либо не работал с ними.
** .CICD.yaml = ямл для того CICD, который на проекте, от трависа до гитхаба/гитлаба.
Update: конечно я забыл про один из главных файлов
.tool-versions - просто мастхэв.Подробно писал про asdf тут https://xn--r1a.website/makebreakreflect/69
👍10❤1😢1🤡1