git config
Немного полезного конфига гита для рабочих станций.
#git
Немного полезного конфига гита для рабочих станций.
[user]
name = Bykva Bykva
email = bykva@bykva.bykva
[color]
diff = auto
status = auto
branch = auto
ui = true
[alias]
st = status
ci = commit
co = checkout
br = branch
tree = log --graph --decorate --pretty=oneline --abbrev-commit
debrelease = "!\
test -f debian/changelog || exit 1; \
hash=\"$(md5sum debian/changelog)\"; \
debchange -r; \
newhash=\"$(md5sum debian/changelog)\"; \
[ \"$hash\" != \"$newhash\" ] || exit 1; \
version=\"$(head -1 debian/changelog |sed -e 's/) .*//' -e 's/.* (//')\"; \
tagname=\"$(head -1 debian/changelog |sed -e 's/) .*//' -e 's/.* (//' -e 's/~/_/g' -e 's/:/%/')\"; \
git ci -m \"prepare for release $version\" debian/changelog || exit 1; \
git tag -s -m \"release $version\" \"$tagname\" || exit 1; \
debchange -i ''; \
git ci -m 'bump version for future' debian/changelog"
[core]
quotepath = false
pager = less -F -X
[url "git://git.debian.org/d-i/"]
insteadOf = git+ssh://git.debian.org/git/d-i/
[push]
default = simple
[pull]
rebase = true
[gitflow "branch"]
develop = development
#git
Минутка полезного софта
Утилита ack (есть в репозитории) - работает по принципу грепа, только с более интересным выводом. Ни в коем случае не призываю избегать grep, эти утилиты очень хорошо дополняют друг друга и можно применять в зависимости от ситуации.
пример: ack whatever
Утилита ncdu (есть в репозитории) - псевдографический проводник с функцией подсчета занимаего места на жестком диске. Удобен для визуальной оценки размера файлов и папок
#utils
Утилита ack (есть в репозитории) - работает по принципу грепа, только с более интересным выводом. Ни в коем случае не призываю избегать grep, эти утилиты очень хорошо дополняют друг друга и можно применять в зависимости от ситуации.
пример: ack whatever
Утилита ncdu (есть в репозитории) - псевдографический проводник с функцией подсчета занимаего места на жестком диске. Удобен для визуальной оценки размера файлов и папок
#utils
Приятные новости от gitlab! Теперь для создания проекта можно просто пушить в несуществующий репозиторий и он создастся.
Подробнее: https://docs.gitlab.com/ee/gitlab-basics/create-project.html#push-to-create-a-new-project
и.. куча других нововведений: https://habrahabr.ru/post/350660/
#gitlab #git
$ git push --set-upstream ssh://git@gitlab.example.com:12345/group/project.git master
Counting objects: 5, done.
Delta compression using up to 8 threads.
Compressing objects: 100% (4/4), done.
Writing objects: 100% (5/5), 1.12 KiB | 0 bytes/s, done.
Total 5 (delta 0), reused 0 (delta 0)
remote:
remote: The private project group/project was successfully created.
remote:
remote: To configure the remote, run:
remote: git remote add origin git@gitlab.example.com:group/project.git
remote:
remote: To view the project, visit:
remote: http://gitlab.example.com/group/project
remote:
To ssh://gitlab.example.com:12345/group/project.git
* [new branch] master -> master
Branch master set up to track remote branch master from ssh://git@gitlab.example.com:12345/group/project.git.
Подробнее: https://docs.gitlab.com/ee/gitlab-basics/create-project.html#push-to-create-a-new-project
и.. куча других нововведений: https://habrahabr.ru/post/350660/
#gitlab #git
Поздравляю всех девушек с чудесным праздником! А их у нас здесь аж больше двадцати! Желаю вам оставаться такими же весёлыми, остроумными и жизнерадостными. Спасибо, что делаете этот мир красивым и добрым. Пусть в вашей жизни будет как можно больше солнечных дней!
С праздником💍🥂🍾
С праздником💍🥂🍾
Моя первая попытка написать баш автокомплит. Небольшая функция для kubectl.
умеет подхватывать имена подов и неймспейсов. собственно только это оно и умеет. и подставлять дефолтные ключи
https://github.com/bykvaadm/kubectl_autocomplete
#kubernetes #bash_autocomplete
умеет подхватывать имена подов и неймспейсов. собственно только это оно и умеет. и подставлять дефолтные ключи
https://github.com/bykvaadm/kubectl_autocomplete
#kubernetes #bash_autocomplete
GitHub
GitHub - bykvaadm/kubectl_autocomplete
Contribute to bykvaadm/kubectl_autocomplete development by creating an account on GitHub.
как задать права на configmap в kubernetes
По тем или иным причиним нужно иногда файлам, которые мапятся в контейнер задавать права. Самый простой пример - положить скрипт и сделать его исполняемым. Сделать это можно с помощью директивы
#kubernetes
По тем или иным причиним нужно иногда файлам, которые мапятся в контейнер задавать права. Самый простой пример - положить скрипт и сделать его исполняемым. Сделать это можно с помощью директивы
defaultMode: 0744
volumes:
- name: wrapper
configMap:
name: wrapper
defaultMode: 0744
#kubernetes
Минуточка вакансий
В компанию занимающуюся онлайн платежами требуется финансовый аналитик.
Обязанности - работа с базой PostgreSQL и выполнение сверок с партерами.
Требуются навыки работы с SQL.
Полный рабочий день в офисе в Москве.
ЗП от 60к по договоренности.
Из плюшек: белая ЗП, офис в центре Москвы, настольный футбол и дартс, служебный MacBookPro, регулярные фрукты и холодные напитки в холодильнике.
Кому интересно - писать @noob4ik
#work #ads
В компанию занимающуюся онлайн платежами требуется финансовый аналитик.
Обязанности - работа с базой PostgreSQL и выполнение сверок с партерами.
Требуются навыки работы с SQL.
Полный рабочий день в офисе в Москве.
ЗП от 60к по договоренности.
Из плюшек: белая ЗП, офис в центре Москвы, настольный футбол и дартс, служебный MacBookPro, регулярные фрукты и холодные напитки в холодильнике.
Кому интересно - писать @noob4ik
#work #ads
Кстати, для любителей cyanogenmod (lineage os), пару недель назад они таки зарелизили официальные сборки 15-й версии (Android 8) для нескольких устройств - в основном как обычно это гугловские устройства, samsung и сяоми.
https://www.lineageos.org/Changelog-16/
#read #news
https://www.lineageos.org/Changelog-16/
#read #news
lineageos.org
Changelog 16 - Smart Styles, Treble is trouble and Omfg Oreo
Oh my! Finally Oreo
Используем systemd для запуска docker-контейнеров
#systemd #docker
[Unit]
Description=My Awesome Service
Requires=docker.service
After=docker.service
[Service]
Restart=always
RestartSec=3
ExecStartPre=/bin/sh -c "/usr/bin/docker rm -f my-awesome-service 2> /dev/null || /bin/true"
ExecStart=/usr/bin/docker run --rm -a STDIN -a STDOUT -a STDERR --env-file=/etc/default/my-awesome-service -p 0.0.0.0:3301:3301 -v /etc/project/service:/etc/wallarm -v /var/lib/blacklist:/var/lib/blacklist -v /var/log/project/service:/var/log/wallarm --name my-awesome-service wallarm-dkr.jfrog.io/my-awesome-service:v0.17.0.0
ExecStop=/usr/bin/docker stop my-awesome-service
[Install]
WantedBy=multi-user.target
#systemd #docker
Переустанавливаем gitlab с заданием root пароля
Это к вопросу, например, какого хрена у меня не логинится в gitlab, когда я поставил
#gitlab #helm #kubernetes
export GITLAB_ROOT_PASSWORD="pwd_>=8_chars"
export GITLAB_ROOT_EMAIL="host@example.com"
gitlab-rake gitlab:setup ${GITLAB_ROOT_PASSWORD:+GITLAB_ROOT_PASSWORD=$GITLAB_ROOT_PASSWORD} ${GITLAB_ROOT_EMAIL:+GITLAB_ROOT_EMAIL=$GITLAB_ROOT_EMAIL}
Это к вопросу, например, какого хрена у меня не логинится в gitlab, когда я поставил
helm install gitlab
, все же должно работать из коробки! А вот.. Длинна пароля больше 8 символов должна быть, иначе запись этого пользователя в базу даже не попадет.#gitlab #helm #kubernetes
Let’s Encrypt начал выдавать wildcard сертификаты
https://habrahabr.ru/post/351252
#read #thirdparty #news
https://habrahabr.ru/post/351252
#read #thirdparty #news
Админим с Буквой
Let’s Encrypt начал выдавать wildcard сертификаты https://habrahabr.ru/post/351252 #read #thirdparty #news
Пример настройки bind для получения сертификата.
#bind #letsencrypt
$ORIGIN .
$TTL 604800 ; 1 week
example.com IN SOA ns01.example.com. root.example.com. (
33 ; serial
604800 ; refresh (1 week)
86400 ; retry (1 day)
2419200 ; expire (4 weeks)
604800 ; minimum (1 week)
)
NS ns01.example.com.
NS ns02.example.com.
A 8.8.4.4
$ORIGIN example.com.
$TTL 1 ; 1 second
_acme-challenge IN TXT w0TwTVFDhq2fUYbuqFiuigIGIGfqiZURWIAR_OUyNyU
_acme-challenge IN TXT Ks3zUh7wepiUf2g8GyIGHUkjbGigikqkGHYx7bLMSIA
#bind #letsencrypt
helm Blah-blah-blah already exists
Возникла ошибка при установке хелма, что какой-то компонент уже существует. Поскольку как оказалось такая проблема не только у меня была, решил сделать об этом заметку. Действительно, хелм ругается неспроста. В этой ситуации нужно убедиться, что у вас действительно нет дубликатов этого компонента, например уже развернутого в кластере, или, как в мом случае, текстовый редактор сделал backup файла в папке templates с именем <компонент>.yaml.save и хелм его начал спокойно обрабатывать.
#helm #troubleshooting
Возникла ошибка при установке хелма, что какой-то компонент уже существует. Поскольку как оказалось такая проблема не только у меня была, решил сделать об этом заметку. Действительно, хелм ругается неспроста. В этой ситуации нужно убедиться, что у вас действительно нет дубликатов этого компонента, например уже развернутого в кластере, или, как в мом случае, текстовый редактор сделал backup файла в папке templates с именем <компонент>.yaml.save и хелм его начал спокойно обрабатывать.
#helm #troubleshooting
А еще небольшая радость.. hackbar запилили в quantum (FF 57+). Теперь он доступен из консоли разработчика (имхо не очень удобно)
И еще радость, что в недавно вышедшем FF59 постепенно допиливают недоделанные WebExtensions. Вполне возможно, что некоторые старые расширения (которые меняли части интерфейса) заживут новой жизнью.
Хорошая новость для тех, кто пользуется Самбой – разработчики анонсировали версию 4.8, в которой заявлена полная совместимость с Active Directory (aka АД), добавлена в модуль
#samba #update
kdc
поддержка групповых политик для паролей, и применено исправление недавней уязвимости CVE-2018-1057, позволяющей любому авторизованному непривилегированному пользователю менять пароли других. Чуть подробнее – по ссылке: http://www.opennet.ru/opennews/art.shtml?num=48260#samba #update
www.opennet.ru
Выпуск Samba 4.8.0
После шести месяцев разработки подготовлен релиз Samba 4.8.0, продолживший развитие ветки Samba 4 с полноценной реализацией контроллера домена и сервиса Active Directory, совместимого с реализацией Windows 2000 и способного обслуживать все поддерживаемые…
Forwarded from Information Hardening
#network
немного о нюансах работы DHCP
тачка: "чуваки, есть DHCP?"
DHCP: "ага"
"дай адрес"
"держи"
тачка: "чуваки, это чей адрес?"
с галерки: "мой!"
тачка: "что ты мне выдал, скотина?! забери обратно!"
* * *
тачка: "черт! адрес занят!... есть DHCP?"
DHCP: "нуу, я"
"дай адрес"
DHCP: "чуваки, кто занял адрес?"
"кто занял адрес?"
"кто занял адрес?"
....
(тишина)
DHCP тачке: "да держи, норм адрес"
тачка: "!!!!"
* * *
...: "псс, тачка, лови адрес"
ну а че, пятница же))
немного о нюансах работы DHCP
тачка: "чуваки, есть DHCP?"
DHCP: "ага"
"дай адрес"
"держи"
тачка: "чуваки, это чей адрес?"
с галерки: "мой!"
тачка: "что ты мне выдал, скотина?! забери обратно!"
* * *
тачка: "черт! адрес занят!... есть DHCP?"
DHCP: "нуу, я"
"дай адрес"
DHCP: "чуваки, кто занял адрес?"
"кто занял адрес?"
"кто занял адрес?"
....
(тишина)
DHCP тачке: "да держи, норм адрес"
тачка: "!!!!"
* * *
...: "псс, тачка, лови адрес"
ну а че, пятница же))
one-line base64
Возникла необходимость запилить ssl-серт в ingress контроллер в k8s. на вход он принимает сертификат в bas64, причем в одну строчку. Нельзя например сделать вот так:
для того чтобы правильно сделать encoding, нужно запускать команду вот так:
На выходе получаем однострочный base64, который и помещаем в переменную.
#kubernetes #base64 #ssl
Возникла необходимость запилить ssl-серт в ingress контроллер в k8s. на вход он принимает сертификат в bas64, причем в одну строчку. Нельзя например сделать вот так:
tls.crt: |
datadatadata
datadatadata
для того чтобы правильно сделать encoding, нужно запускать команду вот так:
base64 -w 0 example.com.key
На выходе получаем однострочный base64, который и помещаем в переменную.
#kubernetes #base64 #ssl
helm upgrade... the fucking resource already exists
хелм на данный момент все еще сырой продукт. И ведет он себя довольно-таки странно в некоторых ситуациях. При добавлении нового ресурса можно получить ошибку... что ресурс, мать его, не найден! Мало того что ресурс не найден, так если запросить kubectl, оказалось что helm все прекрасно создал!
как workaround мне повезло решить проблему так:
1) разделить все ресурсы по отдельным yaml'ам (я добавил новый ресурс - ingress+secrets два в одном)
2) удалить все эти ресурсы, на которые ругается helm
3) запустить upgrade заново и надеяться что вам повезет.
Мне - повезло, а вы?
#troubleshooting #helm #kubernetes #fucking_fuck
хелм на данный момент все еще сырой продукт. И ведет он себя довольно-таки странно в некоторых ситуациях. При добавлении нового ресурса можно получить ошибку... что ресурс, мать его, не найден! Мало того что ресурс не найден, так если запросить kubectl, оказалось что helm все прекрасно создал!
как workaround мне повезло решить проблему так:
1) разделить все ресурсы по отдельным yaml'ам (я добавил новый ресурс - ingress+secrets два в одном)
2) удалить все эти ресурсы, на которые ругается helm
3) запустить upgrade заново и надеяться что вам повезет.
Мне - повезло, а вы?
#troubleshooting #helm #kubernetes #fucking_fuck