Let's Encrypt: Route53 + OrangePi (ARM)

TLDR docker run -it --rm --name certbot \ --env AWS_ACCESS_KEY_ID=access_key \ --env AWS_SECRET_ACCESS_KEY=secret_key \ -v "$(pwd)/etc-letsencrypt:/etc/letsencrypt" \ -v "$(pwd)/var-letsencrypt:/var/lib/letsencrypt" \ certbot/dns-route53:arm32v6-nightly certonly \ -d DOMAIN.COM \ -d '*.DOMAIN.COM' \ -m 'MAIL@EXAMPLE.COM' \ --agree-tos --non-interactive \ --dns-route53 \ --server https://acme-v02.api.letsencrypt.org/directory Points certbot/dns-route53:arm32v6-nightly - image for OrangePi –non-interactive - silent mode without interaction –dns-route53 - using module for AWS Route53 That’s all. Additional links Wai Loon - Generate Standalone SSL Certificate with Let’s Encrypt for AWS Route 53 using Docker Automating Certificates with Certbot in Docker Let’s Encrypt Wildcard Certificate Configuration with AWS Route 53

July 22, 2022 · 1 min · 93 words · Me

Useful Windows commands - Part 1

1. Get powershell history: notepad (Get-PSReadlineOption).HistorySavePath 2. Work with APPX packages: # Get list of packages Get-AppxPackage | Select Name, PackageFullNamer # Add package from file Add-AppxPackage -Path "path_to_the_file.msix" # Remove package Get-AppxPackage *PACKAGE_NAME* | Remove-AppxPackage 3. Get available parameters for the powershell command: (Get-Command COMMAND_NAME).Parameters 4. Work with Powershell modules: # Get modules list Get-Module -ListAvailable # Save module to another place (PATH_TO_NEW_MODULES_FOLDER) Save-Module -Name Module_name -Path PATH_TO_NEW_MODULES_FOLDER -Repository PSGallery 5. Work with Powershell profile: # Create profile if it not exist if ((Test-Path $profile) -eq $false) { New-Item -path $profile -type file –force } # Edit profile notepad $profile 6. Add custom path for modules in Powershell $profile: ...

June 1, 2022 · 1 min · 137 words · Me

Kubernetes: Исследование с помощью Minikube - часть 3

Это продолжение второй части. На данный момент мы уже знаем некоторые объекты в Kubernetes и умеем пользоваться Helm. Что можно сделать дальше? Конечно, добавить больше автоматизации, секретов, хранилищ - много чего. Целью сегодняшней части будет являтся автоматизация и упрощение процесса упаковки описания приложения в helm chart. Часть 3. Еще больше упрощаем deploy приложения Попробуем упаковать наш helm chart стандартными средствами: helm package helm-php-sample-app Successfully packaged chart and saved it to: .../php-sample-app-0.1.0.tgz Теперь можно не пользоваться git для загрузки helm chart, а сохранять каждую версию в виде артефакта сборки (например, добавив эту сборку в GitHub Actions). Это действие мы и будем автоматизировать. ...

July 7, 2021 · 3 min · 571 words · Me

Kubernetes: Исследование с помощью Minikube - часть 2

Это продолжение первой части, которое надеюсь, служит логичным ее продолжением - мы имеем кластер Kubernetes, работаем в отдельном Namespace, умеем запускать небольшое stateless приложение на PHP и знаем, как получить к нему доступ. Что дальше можно сделать? Вероятнее всего, нужно упрощать обновление приложения - так как тяжело каждый раз вручную копировать Deployment в консоль с лишь одной обновленной строкой (в нашем случае это ID коммита), пример из первой части: image: g3rhard/php-sample-app:467794 Небольшая часть с лайфхаками Для удобного просмотра состояния объектов в кластере можно использовать k9s: ...

July 6, 2021 · 4 min · 805 words · Me

Полезные однострочники - часть 5

1. Узнать ID приложения в MacOS APP_NAME=Slack osascript -e 'id of app "$APP_NAME"' 2. Удалить строчку из файла в MacOS sed -i '' '/pattern to match/d' FILE_NAME 3. Подмена заголовков, для тестирования локальных сайтов (не используя hosts файл): curl -H "Host: example.com" http://localhost/ 4. Удалить дубликаты файлов, используя утилиту fdupes fdupes -r PATH -q -d --noprompt 5. Обновление версий Github Actions find . -type f -name "*.yml" | grep ".github/" | xargs sed -i '' 's/setup-helm@v1/setup-helm@v3/g 6. Красивый вывод состояния контейнеров Docker ...

July 6, 2021 · 1 min · 160 words · Me