From 8bbf7d31a5d85ee4fe4a38863383fb0b5f16300f Mon Sep 17 00:00:00 2001 From: Artur Gurgul Date: Wed, 13 Aug 2025 07:06:53 +0200 Subject: [PATCH] add ca service --- bin/admin/certbot-cert | 4 ++++ bin/admin/install-idf | 21 +++++++++++++++++++++ bin/admin/install-idf-enable | 2 ++ bin/services/ca/Gemfile | 6 ++++++ bin/services/ca/Gemfile.lock | 26 ++++++++++++++++++++++++++ bin/services/ca/app.rb | 12 ++++++++++++ bin/services/ca/config.ru | 2 ++ bin/services/ca/make | 0 bin/services/ca/readme.md | 9 +++++++++ bin/ssl | 8 +++++--- 10 files changed, 87 insertions(+), 3 deletions(-) create mode 100644 bin/admin/certbot-cert create mode 100644 bin/admin/install-idf create mode 100644 bin/admin/install-idf-enable create mode 100644 bin/services/ca/Gemfile create mode 100644 bin/services/ca/Gemfile.lock create mode 100644 bin/services/ca/app.rb create mode 100644 bin/services/ca/config.ru create mode 100755 bin/services/ca/make create mode 100644 bin/services/ca/readme.md diff --git a/bin/admin/certbot-cert b/bin/admin/certbot-cert new file mode 100644 index 0000000..e06ff98 --- /dev/null +++ b/bin/admin/certbot-cert @@ -0,0 +1,4 @@ +#/usr/bin/env bash + +certbot certonly --manual --preferred-challenges=dns -d "*.gurgul.org" -d "gurgul.org" + diff --git a/bin/admin/install-idf b/bin/admin/install-idf new file mode 100644 index 0000000..06d9939 --- /dev/null +++ b/bin/admin/install-idf @@ -0,0 +1,21 @@ +if [ -z "$SUDO_USER" ]; then + echo "This script must be run within sudo." + exit 1 +fi + +# from says ~/esp +ESP=/pkg/esp + +apt-get install git wget flex bison gperf python3 python3-pip python3-venv cmake ninja-build ccache libffi-dev libssl-dev dfu-util libusb-1.0-0 + +sudo -u "$SUDO_USER" bash <= 3.0" +gem "roda" +gem "puma" +gem "rackup" \ No newline at end of file diff --git a/bin/services/ca/Gemfile.lock b/bin/services/ca/Gemfile.lock new file mode 100644 index 0000000..d81fe89 --- /dev/null +++ b/bin/services/ca/Gemfile.lock @@ -0,0 +1,26 @@ +GEM + remote: https://rubygems.org/ + specs: + nio4r (2.7.4) + puma (6.6.1) + nio4r (~> 2.0) + rack (3.2.0) + rackup (2.2.1) + rack (>= 3) + roda (3.95.0) + rack + +PLATFORMS + arm64-darwin-24 + ruby + +DEPENDENCIES + puma + rackup + roda + +RUBY VERSION + ruby 3.4.5p51 + +BUNDLED WITH + 2.6.9 diff --git a/bin/services/ca/app.rb b/bin/services/ca/app.rb new file mode 100644 index 0000000..46a803c --- /dev/null +++ b/bin/services/ca/app.rb @@ -0,0 +1,12 @@ +require "roda" + +class App < Roda + # automatically sets application/json and encodes Ruby objects + plugin :json + + route do |r| + r.get "hello" do + { message: "world" } + end + end +end \ No newline at end of file diff --git a/bin/services/ca/config.ru b/bin/services/ca/config.ru new file mode 100644 index 0000000..d829dc7 --- /dev/null +++ b/bin/services/ca/config.ru @@ -0,0 +1,2 @@ +require_relative "app" +run App.freeze.app \ No newline at end of file diff --git a/bin/services/ca/make b/bin/services/ca/make new file mode 100755 index 0000000..e69de29 diff --git a/bin/services/ca/readme.md b/bin/services/ca/readme.md new file mode 100644 index 0000000..211b003 --- /dev/null +++ b/bin/services/ca/readme.md @@ -0,0 +1,9 @@ + +bundle exec rackup -p 9292 -o 0.0.0.0 + + + +RACK_ENV=production bundle exec rackup -p 8080 -o 0.0.0.0 + + +curl http://0.0.0.0:9292/hello --verbose \ No newline at end of file diff --git a/bin/ssl b/bin/ssl index 60ce748..973d60a 100755 --- a/bin/ssl +++ b/bin/ssl @@ -17,9 +17,11 @@ subcommand = ARGV.shift&.to_sym arg1 = ARGV[0] && ARGV[0] !~ /^-/ ? ARGV.shift : nil arg2 = ARGV[0] && ARGV[0] !~ /^-/ ? ARGV.shift : nil -$domains = ["mediacenter.lan"] -$ips = ["192.168.0.94"] - +# $domains = ["mediacenter.lan"] +# $ips = ["192.168.0.94"] +$domains = ["testing.self"] +$ips = ["127.0.0.2"] +$ips = [] ### Setting up for client $cn = $domains.first