3 Commits

Author SHA1 Message Date
8c9f654f57 remove rubocop
All checks were successful
Gitea Actions Demo / lint (push) Successful in 31s
Gitea Actions Demo / test (push) Successful in 2m42s
Gitea Actions Demo / release-image (push) Has been skipped
2025-03-24 11:19:42 -05:00
469931faca add devcontainer 2025-03-24 11:17:05 -05:00
7883107bdf create a new method for inferring the PPID
Some checks failed
Gitea Actions Demo / release-image (push) Blocked by required conditions
Gitea Actions Demo / lint (push) Successful in 2m34s
Gitea Actions Demo / test (push) Has been cancelled
2025-03-24 11:16:03 -05:00
10 changed files with 46 additions and 75 deletions

View File

@ -1,2 +1,5 @@
ARG VARIANT="3.4.2"
FROM ghcr.io/rails/devcontainer/images/ruby:${VARIANT}
RUN mkdir /run/kubernaut && \
chown vscode: /run/kubernaut

View File

@ -5,8 +5,7 @@ services:
context: .
dockerfile: Dockerfile
volumes:
- ..:/workspace:cached
- /var/run/docker.sock:/var/run/docker-host.sock
- ..:/workspace
command: sleep infinity
memcached:
image: memcached:latest

View File

@ -13,8 +13,5 @@
"postCreateCommand": ".devcontainer/boot.sh",
"forwardPorts": [
4567
],
"features": {
"ghcr.io/devcontainers/features/docker-outside-of-docker:1": {}
}
]
}

View File

@ -1,16 +1,7 @@
---
name: Gitea Actions Demo
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
on:
schedule:
- cron: "0 10 * * *"
push:
branches:
- "**"
tags:
- "v*.*.*"
pull_request:
on: [push]
jobs:
lint:
@ -25,7 +16,7 @@ jobs:
- name: Ruby Setup
uses: ruby/setup-ruby@v1
with:
ruby-version: '3.4'
ruby-version: '3.3'
bundler-cache: true
- run: bundle install
@ -49,8 +40,9 @@ jobs:
- run: bundle exec rake
docker:
release-image:
needs: test
if: github.ref == 'refs/heads/main'
runs-on: ubuntu-latest
container:
image: catthehacker/ubuntu:act-latest
@ -63,21 +55,6 @@ jobs:
with:
fetch-depth: 0 # all history for all branches and tags
- name: Docker meta
id: meta
uses: docker/metadata-action@v5
with:
images: |
git.kill0.net/ryanc/kubernaut
tags: |
type=schedule
type=ref,event=branch
type=ref,event=pr
type=semver,pattern={{version}}
type=semver,pattern={{major}}.{{minor}}
type=semver,pattern={{major}}
type=sha
- name: Set up Docker Buildx
uses: docker/setup-buildx-action@v3
@ -91,6 +68,5 @@ jobs:
- name: Docker build and push
uses: docker/build-push-action@v5
with:
push: ${{ github.event_name != 'pull_request' }}
tags: ${{ steps.meta.outputs.tags }}
labels: ${{ steps.meta.outputs.labels }}
push: true
tags: git.kill0.net/ryanc/kubernaut:latest

4
.gitignore vendored
View File

@ -1,3 +1,5 @@
.bundle
.cache
.local
.ruby-lsp
/vendor
.ash_history

View File

@ -1,9 +0,0 @@
{
"[ruby]": {
"editor.defaultFormatter": "Shopify.ruby-lsp"
},
"rubyLsp.formatter": "standard",
"rubyLsp.linters": [
"standard"
],
}

View File

@ -9,6 +9,8 @@ RUN <<EOT
apk upgrade --no-cache
EOT
RUN mkdir -p /run/app
FROM base AS build
@ -23,12 +25,25 @@ RUN <<EOT
bundle install
EOT
FROM build AS dev
WORKDIR /app
RUN <<EOT
bundle install
EOT
CMD [ "sleep", "infinity" ]
FROM base
# RUN useradd ruby --home /app --shell /bin/sh
RUN adduser ruby -h /app -D
RUN mkdir -p /run/app
RUN chown ruby:ruby /run/app
USER ruby:ruby
COPY --from=build /usr/local/bundle /usr/local/bundle

View File

@ -148,4 +148,4 @@ DEPENDENCIES
uuid7
BUNDLED WITH
2.6.6
2.5.13

29
app.rb
View File

@ -25,8 +25,7 @@ SESSION_SECRET_HEX_LENGTH = 64
JWT_SECRET_HEX_LENGTH = 64
DEFAULT_FLAKEY = 50
NAME = "kubernaut".freeze
ENV_PREFIX = NAME.upcase
ENV_PREFIX = "KUBERNAUT"
CLK_TCK = 100
PROC_UPTIME_PATH = "/proc/uptime".freeze
@ -280,10 +279,6 @@ helpers do
@auth.credentials and
@auth.credentials == ["qwer", "asdf"]
end
def hostname
ENV["HOSTNAME"]
end
end
get "/" do
@ -422,20 +417,6 @@ get "/config", provides: "json" do
jsonify config.as_json, pretty:
end
get "/_cat" do
stream do |out|
out << "=^.^=\n"
x = Sinatra::Application.routes.map do |method, route|
route.map do |route|
route.first.to_s
end
end
x.flatten.sort.uniq.each do |route|
out << "#{route}\n" if route.start_with? "/_cat"
end
end
end
get "/_cat/headers" do
stream do |out|
req_headers.each do |k, v|
@ -475,14 +456,6 @@ get "/_cat/config" do
end
end
get "/_cat/pid" do
stream do |out|
{ppid: ppid, pid: Process.pid}.sort.each do |k, v|
out << "#{k}=#{v}\n"
end
end
end
route :delete, :get, :patch, :post, :put, "/status/:code" do
# hello
code = Integer(params[:code])

15
docker-compose.yml Normal file
View File

@ -0,0 +1,15 @@
services:
web:
build:
context: .
target: dev
ports:
- "4567:4567"
volumes:
- .:/app
environment:
{}
# WEB_CONCURRENCY: 3
command:
- sleep
- infinity