Compare commits

..

29 Commits

Author SHA1 Message Date
drunkendog f3ce6ee11e Remove minio api port forward (replaced by second vhost)
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 8s Details
Build Docker Image for Actions / Build-Image (push) Successful in 50s Details
Code Quality Test / Quality-Check (push) Successful in 6s Details
Environment Setup Test / Setup (push) Successful in 1m43s Details
2023-12-22 22:21:29 +00:00
drunkendog e8ef040f2b Add scripts/minio/install-second-vhost.py
Code Quality Test / Quality-Check (push) Successful in 6s Details
Environment Setup Test / Setup (push) Successful in 1m40s Details
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 8s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
2023-12-20 23:50:56 +00:00
drunkendog 20ec385cd8 Make email/cache_email optional
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 7s Details
Code Quality Test / Quality-Check (push) Successful in 6s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
Environment Setup Test / Setup (push) Successful in 1m41s Details
2023-12-20 23:48:14 +00:00
drunkendog d848290237 Add scripts/minio/nginx-api-proxy-template.conf
Code Quality Test / Quality-Check (push) Successful in 6s Details
Environment Setup Test / Setup (push) Successful in 1m42s Details
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 9s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
2023-12-20 23:45:30 +00:00
drunkendog 2a8bd629e9 Update scripts/minio/launch-docker.sh
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 8s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
Code Quality Test / Quality-Check (push) Successful in 6s Details
Environment Setup Test / Setup (push) Successful in 1m45s Details
2023-12-20 18:40:59 +00:00
drunkendog a11ceed95f Update scripts/minio/minio.conf.example
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 9s Details
Code Quality Test / Quality-Check (push) Successful in 6s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
Environment Setup Test / Setup (push) Successful in 1m46s Details
2023-12-20 18:40:43 +00:00
drunkendog 3a2ec5f269 Update scripts/minio/launch-docker.sh
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 9s Details
Code Quality Test / Quality-Check (push) Successful in 5s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
Environment Setup Test / Setup (push) Successful in 1m47s Details
2023-12-20 18:36:31 +00:00
drunkendog e2a11ffbb9 Update scripts/minio/launch-docker.sh
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 9s Details
Code Quality Test / Quality-Check (push) Successful in 6s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
Environment Setup Test / Setup (push) Failing after 1m44s Details
2023-12-20 18:35:17 +00:00
drunkendog 51ffea79b8 Add server url to example minio conf
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 8s Details
Code Quality Test / Quality-Check (push) Successful in 6s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
Environment Setup Test / Setup (push) Successful in 1m47s Details
2023-12-20 18:34:56 +00:00
drunkendog 4dca7a620c Update scripts/minio/minio.conf.example
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 7s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
Code Quality Test / Quality-Check (push) Successful in 6s Details
Environment Setup Test / Setup (push) Successful in 1m46s Details
2023-12-20 18:27:20 +00:00
drunkendog 1a87a9e549 Remove auth token, replace with inline basic auth
Code Quality Test / Quality-Check (push) Successful in 6s Details
Environment Setup Test / Setup (push) Successful in 1m48s Details
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 9s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
https://github.com/minio/minio/issues/16661
2023-12-20 18:26:40 +00:00
drunkendog 4538c4585a Fix typo in docker launch script
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 8s Details
Code Quality Test / Quality-Check (push) Successful in 6s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
Environment Setup Test / Setup (push) Successful in 1m45s Details
2023-12-20 18:09:51 +00:00
drunkendog 992675b8b7 Add auth token to minio
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 8s Details
Code Quality Test / Quality-Check (push) Successful in 6s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
Environment Setup Test / Setup (push) Successful in 1m42s Details
2023-12-20 18:08:11 +00:00
drunkendog f568f378f4 Fix typo in minio example conf, add auth token
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 8s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
Code Quality Test / Quality-Check (push) Successful in 6s Details
Environment Setup Test / Setup (push) Successful in 1m47s Details
2023-12-20 18:07:14 +00:00
drunkendog 837d871f69 Fix typo in example minio configuration file
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 9s Details
Code Quality Test / Quality-Check (push) Successful in 5s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
Environment Setup Test / Setup (push) Successful in 1m44s Details
2023-12-20 18:00:27 +00:00
drunkendog 3dc99031f7 Update scripts/minio/minio.conf.example
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 8s Details
Code Quality Test / Quality-Check (push) Successful in 6s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
Environment Setup Test / Setup (push) Successful in 1m44s Details
2023-12-20 17:59:55 +00:00
drunkendog 327c9ea267 Update scripts/minio/launch-docker.sh
Environment Setup Test / Setup (push) Successful in 1m41s Details
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 8s Details
Code Quality Test / Quality-Check (push) Successful in 5s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
2023-12-20 17:59:10 +00:00
drunkendog 11c0153444 Add scripts/minio/README.md
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 8s Details
Code Quality Test / Quality-Check (push) Successful in 5s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
Environment Setup Test / Setup (push) Failing after 1m39s Details
2023-12-20 17:57:20 +00:00
drunkendog 754c088621 Add scripts/prometheus/web.yml.example
Environment Setup Test / Setup (push) Successful in 1m46s Details
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 10s Details
Code Quality Test / Quality-Check (push) Successful in 6s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
2023-12-20 03:56:51 +00:00
drunkendog 86a1605242 Add auth to prometheus
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 9s Details
Code Quality Test / Quality-Check (push) Successful in 5s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
Environment Setup Test / Setup (push) Successful in 1m44s Details
2023-12-20 03:56:13 +00:00
drunkendog f9762de132 Add auth to prometheus
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 8s Details
Code Quality Test / Quality-Check (push) Successful in 5s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
Environment Setup Test / Setup (push) Successful in 1m46s Details
2023-12-20 03:55:54 +00:00
drunkendog c1ee39453b Add chown to fix prometheus permission error
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 10s Details
Code Quality Test / Quality-Check (push) Successful in 5s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
Environment Setup Test / Setup (push) Successful in 1m51s Details
2023-12-20 03:45:31 +00:00
drunkendog c0aa6022fa Update scripts/prometheus/launch-docker.sh
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 8s Details
Code Quality Test / Quality-Check (push) Successful in 6s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
Environment Setup Test / Setup (push) Successful in 1m50s Details
2023-12-20 03:37:47 +00:00
drunkendog 260cdb3d1f Add scripts/prometheus/manifest.dat
Code Quality Test / Quality-Check (push) Successful in 6s Details
Environment Setup Test / Setup (push) Successful in 1m47s Details
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 10s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
2023-12-20 03:34:15 +00:00
drunkendog bc4a1931ff Add scripts/prometheus/launch-docker.sh
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 9s Details
Code Quality Test / Quality-Check (push) Successful in 6s Details
Build Docker Image for Actions / Build-Image (push) Successful in 48s Details
Environment Setup Test / Setup (push) Successful in 1m56s Details
2023-12-20 03:33:37 +00:00
drunkendog a6901f7a1e Add scripts/minio/manifest.dat
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 8s Details
Code Quality Test / Quality-Check (push) Successful in 6s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
Environment Setup Test / Setup (push) Successful in 1m44s Details
2023-12-18 17:16:46 +00:00
drunkendog 8dbdb0d49b Forward minio api port
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 8s Details
Code Quality Test / Quality-Check (push) Successful in 5s Details
Build Docker Image for Actions / Build-Image (push) Has been skipped Details
Environment Setup Test / Setup (push) Successful in 1m41s Details
2023-12-18 17:16:16 +00:00
drunkendog 3d0d7b2353 Add scripts/minio/minio.conf.example
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 7s Details
Build Docker Image for Actions / Build-Image (push) Successful in 46s Details
Code Quality Test / Quality-Check (push) Successful in 6s Details
Environment Setup Test / Setup (push) Successful in 1m46s Details
2023-12-18 17:14:50 +00:00
drunkendog 3d1ed38a86 Add scripts/minio/launch-docker.sh
Code Quality Test / Quality-Check (push) Successful in 7s Details
Environment Setup Test / Setup (push) Successful in 1m49s Details
Build Docker Image for Actions / Check-If-Rebuild (push) Successful in 9s Details
Build Docker Image for Actions / Build-Image (push) Successful in 2m45s Details
2023-12-18 17:14:16 +00:00
11 changed files with 149 additions and 3 deletions

View File

@ -3,7 +3,6 @@ on: [push, pull_request]
jobs: jobs:
Quality-Check: Quality-Check:
runs-on: ubuntu-22.04 runs-on: ubuntu-22.04
container: drunkendog/standard-build-actions
steps: steps:
- name: Check out repository code - name: Check out repository code
uses: actions/checkout@v3 uses: actions/checkout@v3

21
scripts/minio/README.md Normal file
View File

@ -0,0 +1,21 @@
# Minio
## Configuring Prometheus
Create a user `prometheus` with policy
```s3
{
"Version": "2012-10-17",
"Statement": [
{
"Effect": "Allow",
"Action": [
"admin:Prometheus"
]
}
]
}
```
then run `mc alias set metrics http://172.30.26.1:9000 prometheus {password} && mc admin prometheus generate metrics` and add the output into /opt/prometheus/prometheus.yml

View File

@ -0,0 +1,44 @@
import os
import argparse
import warnings
def get_cached_email() -> str:
with open("../email.cache", "r") as f:
email = f.read().strip()
return email
def cache_email(email: str) -> None:
try:
with open("../email.cache", "w") as f:
f.write(email)
except Exception as e:
warnings.warn(e, Warning)
parser = argparse.ArgumentParser()
parser.add_argument("domain")
parser.add_argument("email", nargs='?', default=None) # to not recache emails retreived from cache
parser.add_argument("cache_email", nargs='?', default=True)
args = parser.parse_args()
if args.cache_email is True and args.email is not None:
cache_email(args.email)
if args.email is None:
args.email = get_cached_email()
os.makedirs(os.path.dirname("/opt/quick-recover/"), exist_ok=True)
with open("/opt/quick-recover/minio-api.conf", "w") as f:
f.write(f"export DOMAIN='{args.domain}'\n")
f.write(f"export EMAIL='{args.email}'\n")
with open("nginx-api-proxy-template.conf", "r") as f:
template = f.read().replace("#serverNameVar", f"{args.domain}")
with open("/etc/nginx/sites-available/minio-api.conf", "w") as f:
f.write(template)
os.system(f"sh ../getcert.sh {args.domain} {args.email}")
os.system("sh ../nginx-ensite.sh minio-api")

View File

@ -0,0 +1,14 @@
. /opt/minio/minio.conf
docker run -d --net main_subnet --ip 172.30.26.1 \
-e TZ=America/New_York \
-v /opt/minio/data:/data \
--name=minio \
-e "MINIO_ROOT_USER=$MINIO_USER" \
-e "MINIO_ROOT_PASSWORD=$MINIO_PASSWORD" \
-e "MINIO_SERVER_URL=$MINIO_SERVER_URL" \
-e "MINIO_BROWSER_REDIRECT_URL=$MINIO_BROWSER_REDIRECT_URL" \
-e "MINIO_PROMETHEUS_URL=$PROMETHEUS_URL" \
-e "MINIO_PROMETHEUS_JOB_ID=$PROMETHEUS_JOB_ID" \
--restart unless-stopped \
quay.io/minio/minio server /data --console-address ":9090"

View File

@ -0,0 +1,10 @@
%
@ #ip_address
@ http://172.30.26.1:9090/
%
@ #service
@ minio
%
@ #ADDITIONAL_REPLACE
@ template = template.replace("proxy_set_header Host $host;", "proxy_set_header Host $host;\nproxy_set_header Upgrade $http_upgrade;\nproxy_set_header Connection \"upgrade\";")

View File

@ -0,0 +1,6 @@
MINIO_USER="admin"
MINIO_PASSWORD=
MINIO_SERVER_URL=
MINIO_BROWSER_REDIRECT_URL=
PROMETHEUS_URL="https://user:pass@prometheus.example"
PROMETHEUS_JOB_ID=

View File

@ -0,0 +1,31 @@
server {
listen 443;
server_name #serverNameVar;
ssl on;
ssl_certificate /etc/letsencrypt/live/#serverNameVar/fullchain.pem;
ssl_certificate_key /etc/letsencrypt/live/#serverNameVar/privkey.pem;
location / {
proxy_pass http://172.30.26.1:9000/;
proxy_set_header Host $http_host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;
proxy_set_header X-Forwarded-Proto $scheme;
proxy_connect_timeout 300;
# Default is HTTP/1, keepalive is only enabled in HTTP/1.1
proxy_http_version 1.1;
proxy_set_header Connection "";
chunked_transfer_encoding off;
}
}
server {
listen 80;
server_name #serverNameVar;
location / {
return 301 https://#serverNameVar$request_uri;
}
}

View File

@ -0,0 +1,7 @@
docker run -d --net main_subnet --ip 172.30.27.1 \
-v /opt/prometheus/prometheus.yml:/etc/prometheus/prometheus.yml \
-v /opt/prometheus/web.yml:/etc/prometheus/web.yml \
-v /opt/prometheus/data:/prometheus \
--name=prometheus \
--restart unless-stopped \
prom/prometheus --config.file=/etc/prometheus/prometheus.yml --web.config.file=/etc/prometheus/web.yml

View File

@ -0,0 +1,12 @@
%
@ #ip_address
@ http://172.30.27.1:9090/
%
@ #service
@ prometheus
%
@ #ADDITIONAL_REPLACE
@ template = template.replace("proxy_set_header Host $host;", "proxy_set_header Host $host;\nproxy_set_header Upgrade $http_upgrade;\nproxy_set_header Connection \"upgrade\";")
%
@ #START_CONTAINER
@ os.system("mkdir -p /opt/prometheus/data && touch /opt/prometheus/prometheus.yaml && touch /opt/prometheus/web.yaml && chown -R nobody:nogroup /opt/prometheus/")

View File

@ -0,0 +1,2 @@
basic_auth_users:
admin: {bcrypt-hashed-password}

View File

@ -22,8 +22,8 @@ def cache_email(email: str) -> None:
#PARSE_ARGS #PARSE_ARGS
parser = argparse.ArgumentParser() parser = argparse.ArgumentParser()
parser.add_argument("domain") parser.add_argument("domain")
parser.add_argument("email", default=None) # to not recache emails retreived from cache parser.add_argument("email", nargs='?', default=None) # to not recache emails retreived from cache
parser.add_argument("cache_email", default=True) parser.add_argument("cache_email", nargs='?', default=True)
args = parser.parse_args() args = parser.parse_args()
#CACHE #CACHE