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

Compare commits

..

27 Commits

Author SHA1 Message Date
cn
0e96359429 release: version 3.4.0 2021-04-02 11:01:01 +02:00
cn
6374837156 docker: run as non-root user by default 2021-04-02 10:59:54 +02:00
cn
53af02398d ci: test building Docker image on push 2021-04-02 10:59:54 +02:00
cn
16706071b7 release: 3.3.3 2021-04-01 09:38:43 +02:00
cn
43f089ce70 docker: update base image to Alpine 3.13.4 2021-04-01 09:37:59 +02:00
depfu[bot]
15c3e587ff gems: update rubocop to version 1.12.0 2021-03-25 17:22:38 +01:00
depfu[bot]
b438ed097f gems: update bundler-audit to version 0.8.0 2021-03-11 17:19:11 +01:00
depfu[bot]
337c779410 gems: update rubocop to version 1.11.0 2021-03-02 12:32:01 +01:00
cn
b004b4d1e7 release: 3.3.2 2021-02-20 10:06:12 +01:00
cn
3cbc0a3f01 release: 3.3.2.rc1 2021-02-20 10:03:38 +01:00
cn
c675a347d1 ci: update to docker/build-push-action@v2 2021-02-20 10:02:23 +01:00
Christian Nicolai
70ec21af94 release: 3.3.1 2021-02-18 11:26:48 +01:00
Christian Nicolai
920d82f073 docker: allow successful compiling of nio4r gem dependency
- now seems to need linux-headers, see https://github.com/socketry/nio4r/issues/225
2021-02-18 11:25:05 +01:00
Christian Nicolai
dee9beb4e0 docker: update base image to Alpine 3.13.2 2021-02-18 11:24:46 +01:00
depfu[bot]
08e92a0772 gems: update rubocop to version 1.10.0 2021-02-16 16:59:56 +01:00
depfu[bot]
eb1c107bf3 gems: update rubocop-rspec to version 2.2.0 2021-02-04 10:11:51 +01:00
depfu[bot]
a75d9dc5e6 gems: update rubocop to version 1.9.0 2021-01-29 14:29:56 +01:00
depfu[bot]
3af42e4c20 gems: update rubocop to version 1.8.1 2021-01-18 20:52:11 +01:00
Christian Nicolai
aae2a633c5 release: 3.3.0 2021-01-18 15:08:25 +01:00
Christian Nicolai
c7aed4353a docker: update base image to Alpine 3.13 2021-01-18 15:06:56 +01:00
cn
c335a96e12 release: 3.2.0 2021-01-14 11:04:50 +01:00
cn
c2ed69da6d ci: use bundler cache to save resources
- see https://github.com/ruby/setup-ruby#caching-bundle-install-automatically
2020-12-26 15:19:20 +01:00
depfu[bot]
b2d421154e gems: update rubocop to version 1.7.0 2020-12-26 14:25:30 +01:00
cn
5444782ead gems: include rubocop-rspec and fix linting 2020-12-25 18:05:41 +01:00
cn
1c1bcd253a gems: include rubocop-rake and fix linting 2020-12-25 18:04:59 +01:00
cn
23c09f722c gem: add Ruby 3.0 support 2020-12-25 16:45:51 +01:00
cn
e29b451de4 gems: revert back to upstream solargraph now with rubocop 1.0 compat
See https://github.com/castwide/solargraph/issues/380 and previous commit e063b6cb4c
2020-12-25 16:25:45 +01:00
10 changed files with 90 additions and 20 deletions

View File

@@ -14,13 +14,22 @@ jobs:
- name: Extract dyndnsd version from tag name
run: |
echo "DYNDNSD_VERSION=${GITHUB_REF#refs/*/v}" >> $GITHUB_ENV
# https://github.com/marketplace/actions/build-and-push-docker-images
- name: Build and push Docker image for dyndnsd ${{ env.DYNDNSD_VERSION }}
uses: docker/build-push-action@v1
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Login to Docker Hub
uses: docker/login-action@v1
with:
username: cmur2
password: ${{ secrets.DOCKER_TOKEN }}
repository: cmur2/dyndnsd
path: docker
build_args: DYNDNSD_VERSION=${{ env.DYNDNSD_VERSION }}
tag_with_ref: true
- name: Build and push Docker image for dyndnsd ${{ env.DYNDNSD_VERSION }}
uses: docker/build-push-action@v2
with:
context: docker
build-args: |
DYNDNSD_VERSION=${{ env.DYNDNSD_VERSION }}
push: true
tags: cmur2/dyndnsd:v${{ env.DYNDNSD_VERSION }}

View File

@@ -19,15 +19,23 @@ jobs:
- '2.5'
- '2.6'
- '2.7'
- '3.0'
steps:
- uses: actions/checkout@v2
- name: Set up Ruby ${{ matrix.ruby-version }}
uses: ruby/setup-ruby@v1
with:
ruby-version: ${{ matrix.ruby-version }}
- name: Install dependencies
run: |
bundle
- name: Test
bundler-cache: true # runs 'bundle install' and caches installed gems automatically
- name: Lint and Test
run: |
bundle exec rake ci
# https://github.com/marketplace/actions/build-and-push-docker-images
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v1
- name: Test building Docker image for dyndnsd
uses: docker/build-push-action@v2
with:
context: docker

View File

@@ -1,3 +1,7 @@
require:
- rubocop-rake
- rubocop-rspec
AllCops:
TargetRubyVersion: '2.5'
NewCops: enable
@@ -86,3 +90,9 @@ Style/SymbolArray:
Style/TrailingCommaInArrayLiteral:
Enabled: false
RSpec/ExampleLength:
Max: 20
RSpec/MultipleExpectations:
Max: 20

View File

@@ -1,5 +1,41 @@
# Changelog
## 3.4.0 (April 2, 2021)
IMPROVEMENTS:
- **change** Docker image to run as non-root user `65534` by default, limits attack surface for security and gives OpenShift compatibility
## 3.3.3 (April 1, 2021)
OTHER:
- update base of Docker image to Alpine 3.13.4 to fix security vulnerabilities
## 3.3.2 (February 20, 2021)
OTHER:
- update to use `docker/build-push-action@v2` for releasing Docker image in GHA
## 3.3.1 (February 18, 2021)
OTHER:
- update base of Docker image to Alpine 3.13.2 to fix security vulnerabilities
## 3.3.0 (January 18, 2021)
OTHER:
- update base of Docker image to Alpine 3.13
## 3.2.0 (January 14, 2021)
IMPROVEMENTS:
- Add Ruby 3.0 support
## 3.1.3 (December 20, 2020)
OTHER:

View File

@@ -3,5 +3,3 @@
source 'https://rubygems.org'
gemspec
gem 'solargraph', git: 'https://github.com/zaratan/solargraph.git', branch: 'fix_rubocop_1_0'

View File

@@ -28,4 +28,5 @@ end
task default: [:rubocop, :spec, 'bundle:audit', :solargraph]
desc 'Run all tasks desired for CI'
task ci: ['solargraph:init', :default, :hadolint]

View File

@@ -1,15 +1,21 @@
FROM alpine:3.12
FROM alpine:3.13.4
EXPOSE 5353 8080
ARG DYNDNSD_VERSION=3.0.0
ARG DYNDNSD_VERSION=3.4.0
RUN apk --no-cache add openssl ca-certificates && \
apk --no-cache add ruby ruby-etc ruby-io-console ruby-json ruby-webrick && \
apk --no-cache add --virtual .build-deps ruby-dev build-base tzdata && \
apk --no-cache add --virtual .build-deps linux-headers ruby-dev build-base tzdata && \
gem install --no-document dyndnsd -v ${DYNDNSD_VERSION} && \
# set timezone to Berlin
cp /usr/share/zoneinfo/Europe/Berlin /etc/localtime && \
apk del .build-deps
# Follow the principle of least privilege: run as unprivileged user.
# Running as non-root enables running this image in platforms like OpenShift
# that do not allow images running as root.
# User ID 65534 is usually user 'nobody'.
USER 65534
ENTRYPOINT ["dyndnsd", "/etc/dyndnsd/config.yml"]

View File

@@ -36,10 +36,12 @@ Gem::Specification.new do |s|
s.add_runtime_dependency 'webrick', '>= 1.6.1'
s.add_development_dependency 'bundler'
s.add_development_dependency 'bundler-audit', '~> 0.7.0'
s.add_development_dependency 'bundler-audit', '~> 0.8.0'
s.add_development_dependency 'rack-test'
s.add_development_dependency 'rake'
s.add_development_dependency 'rspec'
s.add_development_dependency 'rubocop', '~> 1.6.1'
# s.add_development_dependency 'solargraph', '~> 0.39.0'
s.add_development_dependency 'rubocop', '~> 1.12.0'
s.add_development_dependency 'rubocop-rake', '~> 0.5.1'
s.add_development_dependency 'rubocop-rspec', '~> 2.2.0'
s.add_development_dependency 'solargraph', '~> 0.40.0'
end

View File

@@ -1,5 +1,5 @@
# frozen_string_literal: true
module Dyndnsd
VERSION = '3.1.3'
VERSION = '3.4.0'
end

View File

@@ -1,6 +1,6 @@
# frozen_string_literal: true
require_relative 'spec_helper'
require_relative '../spec_helper'
describe Dyndnsd::Daemon do
include Rack::Test::Methods