1
0
mirror of https://github.com/cmur2/dyndnsd.git synced 2025-08-08 08:33:56 +02:00

Compare commits

..

1 Commits

Author SHA1 Message Date
dependabot[bot]
26dc6bb6ec gems: update opentelemetry-exporter-jaeger requirement from ~> 0.22.0 to >= 0.22, < 0.24
Updates the requirements on [opentelemetry-exporter-jaeger](https://github.com/open-telemetry/opentelemetry-ruby) to permit the latest version.
- [Release notes](https://github.com/open-telemetry/opentelemetry-ruby/releases)
- [Changelog](https://github.com/open-telemetry/opentelemetry-ruby/blob/main/exporter/jaeger/CHANGELOG.md)
- [Commits](https://github.com/open-telemetry/opentelemetry-ruby/compare/opentelemetry-exporter-jaeger/v0.22.0...opentelemetry-exporter-jaeger/v0.22.0)

---
updated-dependencies:
- dependency-name: opentelemetry-exporter-jaeger
  dependency-type: direct:production
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-05-16 19:42:34 +00:00
12 changed files with 30 additions and 50 deletions

View File

@@ -20,13 +20,6 @@
matchManagers: ["bundler"],
enabled: false,
},
// Only quarter update since noisy/stable tools
{
matchPackageNames: [
"aquasecurity/trivy",
],
schedule: ["* 0-8 1 */3 *"],
},
// Commit message formats
{
matchDatasources: ["docker"],
@@ -40,7 +33,7 @@
customManagers: [
{
customType: "regex",
managerFilePatterns: ["/.rb$/", "/^Rakefile$/"],
fileMatch: ["\.rb$", "^Rakefile$"],
matchStrings: [
"renovate: datasource=(?<datasource>.*?) depName=(?<depName>.*?)\\s.*_version = '(?<currentValue>.*)'\\s"
]

View File

@@ -42,7 +42,7 @@ jobs:
password: ${{ secrets.DOCKER_TOKEN }}
- name: Build and push Docker image for dyndnsd ${{ env.DYNDNSD_VERSION }}
uses: docker/build-push-action@v6
uses: docker/build-push-action@v5
with:
context: docker
build-args: |

View File

@@ -18,10 +18,10 @@ jobs:
fail-fast: false
matrix:
ruby-version:
- '3.0'
- '3.1'
- '3.2'
- '3.3'
- '3.4'
steps:
- uses: actions/checkout@v4
- name: Set up Ruby ${{ matrix.ruby-version }}

View File

@@ -1,4 +1,4 @@
plugins:
require:
- rubocop-rake
- rubocop-rspec

View File

@@ -1,11 +1,5 @@
# Changelog
## 3.11.0
IMPROVEMENTS:
- add Ruby 3.4 support
## 3.10.0
IMPROVEMENTS:

View File

@@ -1,6 +1,6 @@
# dyndnsd.rb
![ci](https://github.com/cmur2/dyndnsd/workflows/ci/badge.svg)
![ci](https://github.com/cmur2/dyndnsd/workflows/ci/badge.svg) [![Dependencies](https://badges.depfu.com/badges/4f25da8493f7a29f652ac892fbf9227b/overview.svg)](https://depfu.com/github/cmur2/dyndnsd)
A small, lightweight and extensible DynDNS server written with Ruby and Rack.

View File

@@ -3,9 +3,11 @@
require 'bundler/gem_tasks'
require 'rspec/core/rake_task'
require 'rubocop/rake_task'
require 'bundler/audit/task'
RSpec::Core::RakeTask.new(:spec)
RuboCop::RakeTask.new
Bundler::Audit::Task.new
desc 'Run experimental solargraph type checker'
task :solargraph do
@@ -16,7 +18,7 @@ end
hadolint_version = 'v2.12.0'
# renovate: datasource=github-tags depName=aquasecurity/trivy
trivy_version = 'v0.61.1'
trivy_version = 'v0.50.4'
namespace :docker do
ci_image = 'cmur2/dyndnsd:ci'
@@ -48,7 +50,7 @@ namespace :docker do
chmod a+w e2e/db.json
SCRIPT
sh "docker run -d --name=dyndnsd-ci -v $(pwd)/e2e:/etc/dyndnsd -p 8080:8080 -p 5353:5353 #{ci_image}"
sh 'sleep 5'
sh 'sleep 1'
puts '----------------------------------------'
# `dig` needs `sudo apt-get install -y -q dnsutils`
sh <<~SCRIPT
@@ -66,14 +68,7 @@ namespace :docker do
end
end
namespace :bundle do
desc 'Check for vulnerabilities with bundler-audit'
task :audit do
sh 'bundler-audit check --ignore GHSA-vvfq-8hwr-qm4m' if !RUBY_VERSION.start_with?('3.0')
end
end
task default: [:rubocop, :spec, 'bundle:audit']
task default: [:rubocop, :spec, 'bundle:audit', :solargraph]
desc 'Run all tasks desired for CI'
task ci: [:default, 'docker:lint', :build, 'docker:build', 'docker:e2e']

View File

@@ -1,11 +1,11 @@
FROM alpine:3.22.0
FROM alpine:3.19.1
EXPOSE 5353 8080
ARG DYNDNSD_VERSION
RUN apk --no-cache add openssl ca-certificates && \
apk --no-cache add ruby ruby-webrick && \
apk --no-cache add ruby ruby-etc ruby-io-console ruby-json ruby-webrick && \
apk --no-cache add --virtual .build-deps linux-headers ruby-dev build-base tzdata && \
gem install --no-document dyndnsd -v ${DYNDNSD_VERSION} && \
rm -rf /usr/lib/ruby/gems/*/cache/ && \

View File

@@ -1,11 +1,11 @@
FROM alpine:3.22.0
FROM alpine:3.19.1
EXPOSE 5353 8080
COPY pkg/dyndnsd-*.gem /tmp/dyndnsd.gem
RUN apk --no-cache add openssl ca-certificates && \
apk --no-cache add ruby ruby-webrick && \
apk --no-cache add ruby ruby-etc ruby-io-console ruby-json ruby-webrick && \
apk --no-cache add --virtual .build-deps linux-headers ruby-dev build-base tzdata && \
gem install --no-document /tmp/dyndnsd.gem && \
rm -rf /usr/lib/ruby/gems/*/cache/ && \

View File

@@ -27,25 +27,23 @@ Gem::Specification.new do |s|
s.required_ruby_version = '>= 3.0'
s.add_dependency 'async', '~> 1.31.0'
s.add_dependency 'async-dns', '~> 1.3.0'
s.add_dependency 'base64', '~> 0.2.0' # needed for async
s.add_dependency 'logger', '>= 1.6', '< 1.8'
s.add_dependency 'metriks'
s.add_dependency 'opentelemetry-exporter-jaeger', '~> 0.22.0'
s.add_dependency 'opentelemetry-instrumentation-rack', '~> 0.22.0'
s.add_dependency 'opentelemetry-sdk', '~> 1.2.0'
s.add_dependency 'rack', '~> 3.0'
s.add_dependency 'rackup', '~> 2'
s.add_dependency 'webrick', '>= 1.6.1'
s.add_runtime_dependency 'async', '~> 1.31.0'
s.add_runtime_dependency 'async-dns', '~> 1.3.0'
s.add_runtime_dependency 'metriks'
s.add_runtime_dependency 'opentelemetry-exporter-jaeger', '>= 0.22', '< 0.24'
s.add_runtime_dependency 'opentelemetry-instrumentation-rack', '~> 0.22.0'
s.add_runtime_dependency 'opentelemetry-sdk', '~> 1.2.0'
s.add_runtime_dependency 'rack', '~> 3.0'
s.add_runtime_dependency 'rackup', '~> 2'
s.add_runtime_dependency 'webrick', '>= 1.6.1'
s.add_development_dependency 'bundler'
s.add_development_dependency 'bundler-audit', '~> 0.9.0'
s.add_development_dependency 'rack-test'
s.add_development_dependency 'rake'
s.add_development_dependency 'rspec'
s.add_development_dependency 'rubocop', '~> 1.77.0'
s.add_development_dependency 'rubocop-rake', '~> 0.7.1'
s.add_development_dependency 'rubocop-rspec', '~> 3.6.0'
s.add_development_dependency 'solargraph', '~> 0.55.0'
s.add_development_dependency 'rubocop', '~> 1.61.0'
s.add_development_dependency 'rubocop-rake', '~> 0.6.0'
s.add_development_dependency 'rubocop-rspec', '~> 2.26.1'
s.add_development_dependency 'solargraph', '~> 0.50.0'
end

View File

@@ -138,7 +138,7 @@ module Dyndnsd
# @param params [Hash{String => String}]
# @return [Array<String>]
def extract_v4_and_v6_address(params)
return [] if !params['myip']
return [] if !(params['myip'])
begin
IPAddr.new(params['myip'], Socket::AF_INET)
IPAddr.new(params['myip6'], Socket::AF_INET6)
@@ -207,7 +207,7 @@ module Dyndnsd
params = Rack::Utils.parse_query(env['QUERY_STRING'])
# require hostname parameter
return [422, {'X-DynDNS-Response' => 'hostname_missing'}, []] if !params['hostname']
return [422, {'X-DynDNS-Response' => 'hostname_missing'}, []] if !(params['hostname'])
hostnames = params['hostname'].split(',')

View File

@@ -89,7 +89,7 @@ module Dyndnsd
# @return [Array{Array{Object}}]
def self.parse_endpoints(endpoint_list)
endpoint_list.map { |addr_string| addr_string.split('@') }
.map { |addr_parts| [addr_parts[0], addr_parts[1]&.to_i || 53] }
.map { |addr_parts| [addr_parts[0], addr_parts[1].to_i || 53] }
.map { |addr| [:tcp, :udp].map { |type| [type] + addr } }
.flatten(1)
end