Compare commits
3 Commits
v0.1.0
...
8c9f654f57
Author | SHA1 | Date | |
---|---|---|---|
8c9f654f57
|
|||
469931faca
|
|||
7883107bdf
|
@ -1,2 +1,5 @@
|
|||||||
ARG VARIANT="3.4.2"
|
ARG VARIANT="3.4.2"
|
||||||
FROM ghcr.io/rails/devcontainer/images/ruby:${VARIANT}
|
FROM ghcr.io/rails/devcontainer/images/ruby:${VARIANT}
|
||||||
|
|
||||||
|
RUN mkdir /run/kubernaut && \
|
||||||
|
chown vscode: /run/kubernaut
|
||||||
|
@ -5,8 +5,7 @@ services:
|
|||||||
context: .
|
context: .
|
||||||
dockerfile: Dockerfile
|
dockerfile: Dockerfile
|
||||||
volumes:
|
volumes:
|
||||||
- ..:/workspace:cached
|
- ..:/workspace
|
||||||
- /var/run/docker.sock:/var/run/docker-host.sock
|
|
||||||
command: sleep infinity
|
command: sleep infinity
|
||||||
memcached:
|
memcached:
|
||||||
image: memcached:latest
|
image: memcached:latest
|
||||||
|
@ -13,8 +13,5 @@
|
|||||||
"postCreateCommand": ".devcontainer/boot.sh",
|
"postCreateCommand": ".devcontainer/boot.sh",
|
||||||
"forwardPorts": [
|
"forwardPorts": [
|
||||||
4567
|
4567
|
||||||
],
|
]
|
||||||
"features": {
|
|
||||||
"ghcr.io/devcontainers/features/docker-outside-of-docker:1": {}
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
@ -1,16 +1,7 @@
|
|||||||
---
|
---
|
||||||
name: Gitea Actions Demo
|
name: Gitea Actions Demo
|
||||||
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
|
run-name: ${{ gitea.actor }} is testing out Gitea Actions 🚀
|
||||||
|
on: [push]
|
||||||
on:
|
|
||||||
schedule:
|
|
||||||
- cron: "0 10 * * *"
|
|
||||||
push:
|
|
||||||
branches:
|
|
||||||
- "**"
|
|
||||||
tags:
|
|
||||||
- "v*.*.*"
|
|
||||||
pull_request:
|
|
||||||
|
|
||||||
jobs:
|
jobs:
|
||||||
lint:
|
lint:
|
||||||
@ -25,7 +16,7 @@ jobs:
|
|||||||
- name: Ruby Setup
|
- name: Ruby Setup
|
||||||
uses: ruby/setup-ruby@v1
|
uses: ruby/setup-ruby@v1
|
||||||
with:
|
with:
|
||||||
ruby-version: '3.4'
|
ruby-version: '3.3'
|
||||||
bundler-cache: true
|
bundler-cache: true
|
||||||
|
|
||||||
- run: bundle install
|
- run: bundle install
|
||||||
@ -49,8 +40,9 @@ jobs:
|
|||||||
|
|
||||||
- run: bundle exec rake
|
- run: bundle exec rake
|
||||||
|
|
||||||
docker:
|
release-image:
|
||||||
needs: test
|
needs: test
|
||||||
|
if: github.ref == 'refs/heads/main'
|
||||||
runs-on: ubuntu-latest
|
runs-on: ubuntu-latest
|
||||||
container:
|
container:
|
||||||
image: catthehacker/ubuntu:act-latest
|
image: catthehacker/ubuntu:act-latest
|
||||||
@ -63,21 +55,6 @@ jobs:
|
|||||||
with:
|
with:
|
||||||
fetch-depth: 0 # all history for all branches and tags
|
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
|
- name: Set up Docker Buildx
|
||||||
uses: docker/setup-buildx-action@v3
|
uses: docker/setup-buildx-action@v3
|
||||||
|
|
||||||
@ -91,6 +68,5 @@ jobs:
|
|||||||
- name: Docker build and push
|
- name: Docker build and push
|
||||||
uses: docker/build-push-action@v5
|
uses: docker/build-push-action@v5
|
||||||
with:
|
with:
|
||||||
push: ${{ github.event_name != 'pull_request' }}
|
push: true
|
||||||
tags: ${{ steps.meta.outputs.tags }}
|
tags: git.kill0.net/ryanc/kubernaut:latest
|
||||||
labels: ${{ steps.meta.outputs.labels }}
|
|
||||||
|
4
.gitignore
vendored
4
.gitignore
vendored
@ -1,3 +1,5 @@
|
|||||||
.bundle
|
.bundle
|
||||||
|
.cache
|
||||||
|
.local
|
||||||
.ruby-lsp
|
.ruby-lsp
|
||||||
/vendor
|
.ash_history
|
||||||
|
9
.vscode/settings.json
vendored
9
.vscode/settings.json
vendored
@ -1,9 +0,0 @@
|
|||||||
{
|
|
||||||
"[ruby]": {
|
|
||||||
"editor.defaultFormatter": "Shopify.ruby-lsp"
|
|
||||||
},
|
|
||||||
"rubyLsp.formatter": "standard",
|
|
||||||
"rubyLsp.linters": [
|
|
||||||
"standard"
|
|
||||||
],
|
|
||||||
}
|
|
15
Dockerfile
15
Dockerfile
@ -9,6 +9,8 @@ RUN <<EOT
|
|||||||
apk upgrade --no-cache
|
apk upgrade --no-cache
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
|
RUN mkdir -p /run/app
|
||||||
|
|
||||||
|
|
||||||
FROM base AS build
|
FROM base AS build
|
||||||
|
|
||||||
@ -23,12 +25,25 @@ RUN <<EOT
|
|||||||
bundle install
|
bundle install
|
||||||
EOT
|
EOT
|
||||||
|
|
||||||
|
FROM build AS dev
|
||||||
|
|
||||||
|
WORKDIR /app
|
||||||
|
|
||||||
|
RUN <<EOT
|
||||||
|
bundle install
|
||||||
|
EOT
|
||||||
|
|
||||||
|
CMD [ "sleep", "infinity" ]
|
||||||
|
|
||||||
FROM base
|
FROM base
|
||||||
|
|
||||||
# RUN useradd ruby --home /app --shell /bin/sh
|
# RUN useradd ruby --home /app --shell /bin/sh
|
||||||
RUN adduser ruby -h /app -D
|
RUN adduser ruby -h /app -D
|
||||||
|
|
||||||
|
RUN mkdir -p /run/app
|
||||||
|
|
||||||
|
RUN chown ruby:ruby /run/app
|
||||||
|
|
||||||
USER ruby:ruby
|
USER ruby:ruby
|
||||||
|
|
||||||
COPY --from=build /usr/local/bundle /usr/local/bundle
|
COPY --from=build /usr/local/bundle /usr/local/bundle
|
||||||
|
@ -148,4 +148,4 @@ DEPENDENCIES
|
|||||||
uuid7
|
uuid7
|
||||||
|
|
||||||
BUNDLED WITH
|
BUNDLED WITH
|
||||||
2.6.6
|
2.5.13
|
||||||
|
29
app.rb
29
app.rb
@ -25,8 +25,7 @@ SESSION_SECRET_HEX_LENGTH = 64
|
|||||||
JWT_SECRET_HEX_LENGTH = 64
|
JWT_SECRET_HEX_LENGTH = 64
|
||||||
DEFAULT_FLAKEY = 50
|
DEFAULT_FLAKEY = 50
|
||||||
|
|
||||||
NAME = "kubernaut".freeze
|
ENV_PREFIX = "KUBERNAUT"
|
||||||
ENV_PREFIX = NAME.upcase
|
|
||||||
|
|
||||||
CLK_TCK = 100
|
CLK_TCK = 100
|
||||||
PROC_UPTIME_PATH = "/proc/uptime".freeze
|
PROC_UPTIME_PATH = "/proc/uptime".freeze
|
||||||
@ -280,10 +279,6 @@ helpers do
|
|||||||
@auth.credentials and
|
@auth.credentials and
|
||||||
@auth.credentials == ["qwer", "asdf"]
|
@auth.credentials == ["qwer", "asdf"]
|
||||||
end
|
end
|
||||||
|
|
||||||
def hostname
|
|
||||||
ENV["HOSTNAME"]
|
|
||||||
end
|
|
||||||
end
|
end
|
||||||
|
|
||||||
get "/" do
|
get "/" do
|
||||||
@ -422,20 +417,6 @@ get "/config", provides: "json" do
|
|||||||
jsonify config.as_json, pretty:
|
jsonify config.as_json, pretty:
|
||||||
end
|
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
|
get "/_cat/headers" do
|
||||||
stream do |out|
|
stream do |out|
|
||||||
req_headers.each do |k, v|
|
req_headers.each do |k, v|
|
||||||
@ -475,14 +456,6 @@ get "/_cat/config" do
|
|||||||
end
|
end
|
||||||
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
|
route :delete, :get, :patch, :post, :put, "/status/:code" do
|
||||||
# hello
|
# hello
|
||||||
code = Integer(params[:code])
|
code = Integer(params[:code])
|
||||||
|
15
docker-compose.yml
Normal file
15
docker-compose.yml
Normal file
@ -0,0 +1,15 @@
|
|||||||
|
services:
|
||||||
|
web:
|
||||||
|
build:
|
||||||
|
context: .
|
||||||
|
target: dev
|
||||||
|
ports:
|
||||||
|
- "4567:4567"
|
||||||
|
volumes:
|
||||||
|
- .:/app
|
||||||
|
environment:
|
||||||
|
{}
|
||||||
|
# WEB_CONCURRENCY: 3
|
||||||
|
command:
|
||||||
|
- sleep
|
||||||
|
- infinity
|
Reference in New Issue
Block a user