Compare commits
25 Commits
1424c21afc
...
main
Author | SHA1 | Date | |
---|---|---|---|
a85cd7e1a2 | |||
e8324f261f | |||
659e4e9b4a | |||
e5230066c1 | |||
9dc83f4072 | |||
b36b9bf5a0 | |||
d74db62bc2 | |||
512b821232 | |||
59020ca444 | |||
67aceb134b | |||
9e227e7254 | |||
7f58486a01 | |||
c21f86a69f | |||
1d2d7f96cd | |||
b477d12b38 | |||
1ded7684cc | |||
574987ff28 | |||
b18d4ca440 | |||
7ca3ca34d1 | |||
45edd344b8 | |||
3c24395d57 | |||
cc77163ce5 | |||
5ebca4b835 | |||
17ddcf4373 | |||
173c41e40c |
11
docker-images/Dockerfile.dev-gcc-centos6
Normal file
11
docker-images/Dockerfile.dev-gcc-centos6
Normal file
@ -0,0 +1,11 @@
|
|||||||
|
## centos6 image to use for building hawk
|
||||||
|
|
||||||
|
FROM docker.io/centos:6
|
||||||
|
|
||||||
|
COPY vault-centos6.repo /etc/yum.repos.d/CentOS-Base.repo
|
||||||
|
|
||||||
|
RUN groupadd -g 1000 rockstar && useradd -u 1000 -g 1000 -m rockstar && groupmems -g wheel -a rockstar
|
||||||
|
|
||||||
|
RUN ulimit -n 1024 && yum -y install mysql-devel libffi-devel rpm-build gcc gcc-c++ sudo readline-devel ncurses-devel
|
||||||
|
|
||||||
|
RUN echo -e '%wheel ALL=(ALL) NOPASSWD: ALL\nrockstar ALL=(ALL) NOPASSWD: ALL' > /etc/sudoers.d/99-wheel
|
6
docker-images/Dockerfile.dev-gcc-rocky9
Normal file
6
docker-images/Dockerfile.dev-gcc-rocky9
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
## rocky linux 9 image to use for building hawk
|
||||||
|
## corosynclib-devel for antcmx
|
||||||
|
|
||||||
|
FROM docker.io/rockylinux:9
|
||||||
|
RUN ulimit -n 1024 && dnf -y install --enablerepo=devel mysql-devel libffi-devel rpm-build systemd-rpm-macros gcc gcc-c++
|
||||||
|
RUN ulimit -n 1024 && dnf -y install --enablerepo=highavailability corosynclib-devel
|
5
docker-images/Dockerfile.dev-go-centos7
Normal file
5
docker-images/Dockerfile.dev-go-centos7
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
FROM centos:centos7.9.2009
|
||||||
|
|
||||||
|
|
||||||
|
RUN ulimit -n 1024 && yum -y install wget curl make gcc rpm-build git libpcap-devel && cd /opt && wget https://go.dev/dl/go1.20.6.linux-amd64.tar.gz && tar -zxvf go1.20.6.linux-amd64.tar.gz && rm -f go1.20.6.linux-amd64.tar.gz
|
||||||
|
RUN echo 'PATH=$PATH:/opt/go/bin' > /etc/profile.d/go.sh
|
4
docker-images/Dockerfile.dev-go-rocky9
Normal file
4
docker-images/Dockerfile.dev-go-rocky9
Normal file
@ -0,0 +1,4 @@
|
|||||||
|
## rocky linux 9 image to use for building hawk
|
||||||
|
|
||||||
|
FROM docker.io/hyunghwan/dev:gcc.rocky9
|
||||||
|
RUN ulimit -n 1024 && dnf -y install --enablerepo=devel golang git
|
3
docker-images/Dockerfile.dev-go120-rocky9
Normal file
3
docker-images/Dockerfile.dev-go120-rocky9
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
FROM docker.io/hyunghwan/dev:gcc.rocky9
|
||||||
|
RUN ulimit -n 1024 && dnf -y install wget git && wget https://go.dev/dl/go1.20.6.linux-amd64.tar.gz && tar -C /opt -zxvf go1.20.6.linux-amd64.tar.gz && rm -f go1.20.6.linux-amd64.tar.gz
|
||||||
|
RUN echo 'PATH=$PATH:/opt/go/bin' > /etc/profile.d/go.sh
|
3
docker-images/Dockerfile.dev-go122-rocky9
Normal file
3
docker-images/Dockerfile.dev-go122-rocky9
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
FROM docker.io/hyunghwan/dev:gcc.rocky9
|
||||||
|
RUN ulimit -n 1024 && dnf -y install wget git && wget https://go.dev/dl/go1.22.4.linux-amd64.tar.gz && tar -C /opt -zxvf go1.22.4.linux-amd64.tar.gz && rm -f go1.22.4.linux-amd64.tar.gz
|
||||||
|
RUN echo 'PATH=$PATH:/opt/go/bin' > /etc/profile.d/go.sh
|
5
docker-images/Dockerfile.dev-go123-centos7
Normal file
5
docker-images/Dockerfile.dev-go123-centos7
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
FROM hyunghwan/dev:go1.20.6.centos7
|
||||||
|
|
||||||
|
|
||||||
|
RUN ulimit -n 1024 && cd /opt && rm -rf go && wget https://go.dev/dl/go1.23.1.linux-amd64.tar.gz && tar -zxvf go1.23.1.linux-amd64.tar.gz && rm -f go1.23.1.linux-amd64.tar.gz
|
||||||
|
RUN echo 'PATH=$PATH:/opt/go/bin' > /etc/profile.d/go.sh
|
3
docker-images/Dockerfile.dev-go123-rocky9
Normal file
3
docker-images/Dockerfile.dev-go123-rocky9
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
FROM docker.io/hyunghwan/dev:gcc.rocky9
|
||||||
|
RUN ulimit -n 1024 && dnf -y install wget git && wget https://go.dev/dl/go1.23.1.linux-amd64.tar.gz && tar -C /opt -zxvf go1.23.1.linux-amd64.tar.gz && rm -f go1.23.1.linux-amd64.tar.gz
|
||||||
|
RUN echo 'PATH=$PATH:/opt/go/bin' > /etc/profile.d/go.sh
|
3
docker-images/Dockerfile.dev-go124-rocky9
Normal file
3
docker-images/Dockerfile.dev-go124-rocky9
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
FROM docker.io/hyunghwan/dev:gcc.rocky9
|
||||||
|
RUN ulimit -n 1024 && dnf -y install wget git && wget https://go.dev/dl/go1.24.5.linux-amd64.tar.gz && tar -C /opt -zxvf go1.24.5.linux-amd64.tar.gz && rm -f go1.24.5.linux-amd64.tar.gz
|
||||||
|
RUN echo 'PATH=$PATH:/opt/go/bin' > /etc/profile.d/go.sh
|
3
docker-images/Dockerfile.dev-go125-rocky9
Normal file
3
docker-images/Dockerfile.dev-go125-rocky9
Normal file
@ -0,0 +1,3 @@
|
|||||||
|
FROM docker.io/hyunghwan/dev:gcc.rocky9
|
||||||
|
RUN ulimit -n 1024 && dnf -y install wget git && wget https://go.dev/dl/go1.25.0.linux-amd64.tar.gz && tar -C /opt -zxvf go1.25.0.linux-amd64.tar.gz && rm -f go1.25.0.linux-amd64.tar.gz
|
||||||
|
RUN echo 'PATH=$PATH:/opt/go/bin' > /etc/profile.d/go.sh
|
@ -1,5 +0,0 @@
|
|||||||
FROM centos:centos7.9.2009
|
|
||||||
|
|
||||||
|
|
||||||
RUN ulimit -n 1024 && yum -y install wget curl make gcc rpm-build git && cd /opt && wget https://go.dev/dl/go1.20.6.linux-amd64.tar.gz && tar -zxvf go1.20.6.linux-amd64.tar.gz && rm -f go1.20.6.linux-amd64.tar.gz
|
|
||||||
RUN echo 'PATH=$PATH:/opt/go/bin' > /etc/profile.d/go.sh
|
|
@ -1,4 +0,0 @@
|
|||||||
FROM go:centos7
|
|
||||||
|
|
||||||
|
|
||||||
RUN ulimit -n 1024 && yum -y install libpcap-devel
|
|
@ -1,26 +1,77 @@
|
|||||||
build: go-centos7 go-centos7-big
|
build: dev-go-centos7
|
||||||
|
|
||||||
publish: publish-go-centos7 publish-go-centos7-big
|
publish: publish-dev-go-centos7
|
||||||
|
|
||||||
|
dev-go-centos7:
|
||||||
|
docker build -t dev:go1.20.6.centos7 -f Dockerfile.$@ .
|
||||||
|
|
||||||
go-centos7:
|
publish-dev-go-centos7:
|
||||||
docker build -t go:centos7 -f Dockerfile.$@ .
|
docker tag dev:go1.20.6.centos7 docker.io/hyunghwan/dev:go1.20.6.centos7
|
||||||
|
docker push docker.io/hyunghwan/dev:go1.20.6.centos7
|
||||||
|
|
||||||
publish-go-centos7:
|
dev-go-centos7-big:
|
||||||
docker tag go:centos7 docker.io/hyunghwan/go:centos7
|
docker build -t dev:go1.20.6.centos7.big -f Dockerfile.$@ .
|
||||||
docker push docker.io/hyunghwan/go:centos7
|
|
||||||
|
|
||||||
|
publish-dev-go-centos7-big:
|
||||||
|
docker tag dev:go1.20.6.centos7.big docker.io/hyunghwan/dev:go1.20.6.centos7.big
|
||||||
|
docker push docker.io/hyunghwan/dev:go1.20.6.centos7.big
|
||||||
|
|
||||||
go-centos7-big:
|
dev-gm2-fedora38:
|
||||||
docker build -t go:centos7-big -f Dockerfile.$@ .
|
docker build -t dev:gm2.fedora38 -f Dockerfile.$@ .
|
||||||
|
|
||||||
publish-go-centos7-big:
|
publish-dev-gm2-fedora38:
|
||||||
docker tag go:centos7-big docker.io/hyunghwan/go:centos7-big
|
docker tag dev:gm2.fedora38 docker.io/hyunghwan/dev:gm2.fedora38
|
||||||
docker push docker.io/hyunghwan/go:centos7-big
|
docker push docker.io/hyunghwan/dev:gm2.fedora38
|
||||||
|
|
||||||
gm2-fedora38:
|
dev-gcc-rocky9:
|
||||||
docker build -t gm2:fedora38 -f Dockerfile.$@ .
|
docker build -t dev:gcc.rocky9 -f Dockerfile.$@ .
|
||||||
|
|
||||||
|
publish-dev-gcc-rocky9:
|
||||||
|
docker tag dev:gcc.rocky9 docker.io/hyunghwan/dev:gcc.rocky9
|
||||||
|
docker push docker.io/hyunghwan/dev:gcc.rocky9
|
||||||
|
|
||||||
|
dev-go-rocky9:
|
||||||
|
docker build -t dev:go.rocky9 -f Dockerfile.$@ .
|
||||||
|
|
||||||
|
publish-dev-go-rocky9:
|
||||||
|
docker tag dev:go.rocky9 docker.io/hyunghwan/dev:go.rocky9
|
||||||
|
docker push docker.io/hyunghwan/dev:go.rocky9
|
||||||
|
|
||||||
|
dev-go120-rocky9:
|
||||||
|
docker build -t dev:go1.20.6.rocky9 -f Dockerfile.$@ .
|
||||||
|
|
||||||
|
publish-dev-go120-rocky9:
|
||||||
|
docker tag dev:go1.20.6.rocky9 docker.io/hyunghwan/dev:go1.20.6.rocky9
|
||||||
|
docker push docker.io/hyunghwan/dev:go1.20.6.rocky9
|
||||||
|
|
||||||
|
dev-go122-rocky9:
|
||||||
|
docker build -t dev:go1.22.0.rocky9 -f Dockerfile.$@ .
|
||||||
|
|
||||||
|
publish-dev-go122-rocky9:
|
||||||
|
docker tag dev:go1.22.0.rocky9 docker.io/hyunghwan/dev:go1.22.0.rocky9
|
||||||
|
docker push docker.io/hyunghwan/dev:go1.22.0.rocky9
|
||||||
|
|
||||||
|
dev-go123-rocky9:
|
||||||
|
docker build -t dev:go1.23.1.rocky9 -f Dockerfile.$@ .
|
||||||
|
|
||||||
|
publish-dev-go123-rocky9:
|
||||||
|
docker tag dev:go1.23.1.rocky9 docker.io/hyunghwan/dev:go1.23.1.rocky9
|
||||||
|
docker push docker.io/hyunghwan/dev:go1.23.1.rocky9
|
||||||
|
|
||||||
|
dev-go124-rocky9:
|
||||||
|
docker build -t dev:go1.24.5.rocky9 -f Dockerfile.$@ .
|
||||||
|
|
||||||
|
publish-dev-go124-rocky9:
|
||||||
|
docker tag dev:go1.24.5.rocky9 docker.io/hyunghwan/dev:go1.24.5.rocky9
|
||||||
|
docker push docker.io/hyunghwan/dev:go1.24.5.rocky9
|
||||||
|
|
||||||
|
dev-go125-rocky9:
|
||||||
|
docker build -t dev:go1.25.0.rocky9 -f Dockerfile.$@ .
|
||||||
|
|
||||||
|
publish-dev-go125-rocky9:
|
||||||
|
docker tag dev:go1.25.0.rocky9 docker.io/hyunghwan/dev:go1.25.0.rocky9
|
||||||
|
docker push docker.io/hyunghwan/dev:go1.25.0.rocky9
|
||||||
|
|
||||||
|
dev-gcc-centos6:
|
||||||
|
docker build -t dev:gcc.centos6 -f Dockerfile.$@ .
|
||||||
|
|
||||||
publish-gm2-fedora38:
|
|
||||||
docker tag gm2:fedora38 docker.io/hyunghwan/gm2:fedora38
|
|
||||||
docker push docker.io/hyunghwan/gm2:fedora38
|
|
||||||
|
19
docker-images/vault-centos6.repo
Normal file
19
docker-images/vault-centos6.repo
Normal file
@ -0,0 +1,19 @@
|
|||||||
|
[base]
|
||||||
|
name=CentOS-$releasever - Base
|
||||||
|
baseurl=http://vault.centos.org/$releasever.10/os/$basearch/
|
||||||
|
gpgcheck=1
|
||||||
|
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
|
||||||
|
|
||||||
|
#released updates
|
||||||
|
[updates]
|
||||||
|
name=CentOS-$releasever - Updates
|
||||||
|
baseurl=http://vault.centos.org/$releasever.10/updates/$basearch/
|
||||||
|
gpgcheck=1
|
||||||
|
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
|
||||||
|
|
||||||
|
#additional packages that may be useful
|
||||||
|
[extras]
|
||||||
|
name=CentOS-$releasever - Extras
|
||||||
|
baseurl=http://vault.centos.org/$releasever.10/extras/$basearch/
|
||||||
|
gpgcheck=1
|
||||||
|
gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-6
|
@ -11,7 +11,7 @@ networks:
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
gitea-service:
|
gitea-service:
|
||||||
image: gitea/gitea:1.20.1
|
image: gitea/gitea:1.20.4
|
||||||
hostname: gitea-service-host
|
hostname: gitea-service-host
|
||||||
tty: true
|
tty: true
|
||||||
environment:
|
environment:
|
||||||
|
309
docker-stack/omv-svc01.yml
Normal file
309
docker-stack/omv-svc01.yml
Normal file
@ -0,0 +1,309 @@
|
|||||||
|
version: "3.8"
|
||||||
|
|
||||||
|
volumes:
|
||||||
|
traefik-data-volume:
|
||||||
|
web-data-volume:
|
||||||
|
gitea-data-volume:
|
||||||
|
codepot-data-volume:
|
||||||
|
drone-data-volume:
|
||||||
|
|
||||||
|
networks:
|
||||||
|
traefik-network:
|
||||||
|
external: false
|
||||||
|
|
||||||
|
|
||||||
|
services:
|
||||||
|
traefik-service:
|
||||||
|
image: docker.io/traefik:2.11.0
|
||||||
|
hostname: traefik-service-host
|
||||||
|
tty: true
|
||||||
|
volumes:
|
||||||
|
- type: bind
|
||||||
|
source: /var/run/docker.sock
|
||||||
|
target: /var/run/docker.sock
|
||||||
|
# if /etc/traefik direcotry exists, traefik looks for /etc/traefik/traefik.toml
|
||||||
|
# use a different directory(/config) to avoid problems for the lack of traefik.toml
|
||||||
|
- type: volume
|
||||||
|
source: traefik-data-volume
|
||||||
|
target: /config
|
||||||
|
ports:
|
||||||
|
#- target: 80
|
||||||
|
# published: 80
|
||||||
|
# protocol: tcp
|
||||||
|
# mode: host
|
||||||
|
- target: 443
|
||||||
|
published: 443
|
||||||
|
protocol: tcp
|
||||||
|
mode: host
|
||||||
|
- target: 3306
|
||||||
|
published: 3306
|
||||||
|
protocol: tcp
|
||||||
|
mode: host
|
||||||
|
- target: 4444
|
||||||
|
published: 4444
|
||||||
|
protocol: tcp
|
||||||
|
mode: host
|
||||||
|
networks:
|
||||||
|
- traefik-network
|
||||||
|
#- host-network
|
||||||
|
deploy:
|
||||||
|
mode: global
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 1GB
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
|
command:
|
||||||
|
- --log.level=INFO
|
||||||
|
- --accesslog
|
||||||
|
#- --accesslog.filepath=/config/logs/access.log
|
||||||
|
- --accesslog.format=common
|
||||||
|
|
||||||
|
- --accesslog.fields.defaultmode=keep
|
||||||
|
- --accesslog.fields.headers.defaultmode=keep
|
||||||
|
- --accesslog.fields.headers.names.X-Forwarded-For=keep
|
||||||
|
- --accesslog.fields.headers.names.RequestHost=keep
|
||||||
|
- --api.dashboard=true
|
||||||
|
- --api.insecure=true
|
||||||
|
- --ping=true
|
||||||
|
- --entrypoints.traefik.address=:4444
|
||||||
|
- --entrypoints.web.address=:80
|
||||||
|
- --entrypoints.websec.address=:443
|
||||||
|
- --entrypoints.mariadb.address=:3306
|
||||||
|
- --providers.docker=true
|
||||||
|
- --providers.docker.swarmmode=false
|
||||||
|
- --providers.docker.exposedbydefault=false
|
||||||
|
- --providers.docker.network=traefik-network
|
||||||
|
- --providers.docker.watch=true
|
||||||
|
- --providers.file.filename=/config/traefik-cert.yml
|
||||||
|
- --providers.file.watch=true
|
||||||
|
- --metrics.prometheus=true
|
||||||
|
|
||||||
|
web-service:
|
||||||
|
image: docker.io/hyunghwan/hio:webs
|
||||||
|
hostname: web-service-host
|
||||||
|
networks:
|
||||||
|
- traefik-network
|
||||||
|
volumes:
|
||||||
|
- type: volume
|
||||||
|
source: web-data-volume
|
||||||
|
target: /data
|
||||||
|
#read_only: true
|
||||||
|
read_only: false
|
||||||
|
logging:
|
||||||
|
driver: "local"
|
||||||
|
options:
|
||||||
|
max-file: "5"
|
||||||
|
max-size: "5m"
|
||||||
|
deploy:
|
||||||
|
mode: global
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 128MB
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
##- traefik.docker.network=traefik-network
|
||||||
|
- traefik.http.routers.web-secure.entrypoints=websec
|
||||||
|
- traefik.http.routers.web-secure.rule=Host(`miflux.com`) || Host(`www.miflux.com`)
|
||||||
|
- traefik.http.routers.web-secure.tls=true
|
||||||
|
- traefik.http.services.web-service.loadbalancer.server.port=80
|
||||||
|
##- traefik.http.services.web-service.loadbalancer.sticky.cookie=true
|
||||||
|
##- traefik.http.services.web-service.loadbalancer.sticky.cookie.name=web-sticker
|
||||||
|
|
||||||
|
gitea-service:
|
||||||
|
image: docker.io/gitea/gitea:1.21.7
|
||||||
|
hostname: gitea-service-host
|
||||||
|
tty: true
|
||||||
|
environment:
|
||||||
|
##- USER_UID=1000
|
||||||
|
##- USER_GID=1000
|
||||||
|
- GITEA____APP_NAME=HYUNG-HWAN
|
||||||
|
- GITEA__server__DISABLE_SSH=true
|
||||||
|
- GITEA__server__HTTP_PORT=3000
|
||||||
|
- GITEA__server__ROOT_URL=https://code.miflux.com/
|
||||||
|
- GITEA__indexer__REPO_INDEXER_ENABLED=true
|
||||||
|
- GITEA__indexer__REPO_INDEXER_PATH=/data/gitea/indexers/repos.bleve
|
||||||
|
##- GITEA__indexer__UPDATE_BUFFER_LEN=20
|
||||||
|
- GITEA__indexer__MAX_FILE_SIZE=1048576
|
||||||
|
- GITEA__indexer__REPO_INDEXER_INCLUDE=
|
||||||
|
- GITEA__indexer__REPO_INDEXER_EXCLUDE=resources/bin/**
|
||||||
|
- GITEA__service__DISABLE_REGISTRATION=true
|
||||||
|
- GITEA__service__DEFAULT_ALLOW_CREATE_ORGANIZATION=true
|
||||||
|
- GITEA__service__EMAIL_NOTIFY_TRUE=false
|
||||||
|
- GITEA__openid__ENABLE_OPENID_SIGNIN=false
|
||||||
|
- GITEA__openid__ENABLE_OPENID_SIGNUP=false
|
||||||
|
- GITEA__webhook__ALLOWED_HOST_LIST=*
|
||||||
|
- GITEA__metrics__ENABLED=true
|
||||||
|
- GITEA__attachment__ENABLED=true
|
||||||
|
- GITEA__attachment__ALLOWED_TYPES=*/*
|
||||||
|
- GITEA__attachment__MAX_SIZE=100
|
||||||
|
networks:
|
||||||
|
- traefik-network
|
||||||
|
volumes:
|
||||||
|
- type: volume
|
||||||
|
source: gitea-data-volume
|
||||||
|
target: /data
|
||||||
|
logging:
|
||||||
|
driver: "local"
|
||||||
|
options:
|
||||||
|
max-file: "5"
|
||||||
|
max-size: "5m"
|
||||||
|
deploy:
|
||||||
|
mode: replicated
|
||||||
|
replicas: 1
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 1GB
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.gitea-secure.entrypoints=websec
|
||||||
|
- traefik.http.routers.gitea-secure.rule=Host(`code.miflux.com`)
|
||||||
|
- traefik.http.routers.gitea-secure.tls=true
|
||||||
|
##- traefik.http.routers.gitea-secure.middlewares=gitea-to-codepot-diff-to-file,gitea-to-codepot
|
||||||
|
- traefik.http.routers.gitea-secure.middlewares=cpot-old-url-to-gitea
|
||||||
|
#- traefik.http.routers.gitea-plain.entrypoints=web
|
||||||
|
#- traefik.http.routers.gitea-plain.rule=Host(`code.miflux.com`)
|
||||||
|
#- traefik.http.routers.gitea-plain.tls=false
|
||||||
|
- traefik.http.services.gitea-service.loadbalancer.server.port=3000
|
||||||
|
- traefik.http.services.gitea-service.loadbalancer.sticky.cookie=true
|
||||||
|
- traefik.http.services.gitea-service.loadbalancer.sticky.cookie.name=gitea-sticker
|
||||||
|
##- traefik.http.middlewares.gitea-to-codepot-diff-to-file.redirectregex.regex=^https://code.miflux.com/code/(fulldiff|diff)/(.*)$
|
||||||
|
##- traefik.http.middlewares.gitea-to-codepot-diff-to-file.redirectregex.replacement=https://cpot.miflux.com/code/file/$${2}
|
||||||
|
|
||||||
|
##- traefik.http.middlewares.gitea-to-codepot.redirectregex.regex=^https://code.miflux.com/code/(.*)$
|
||||||
|
##- traefik.http.middlewares.gitea-to-codepot.redirectregex.replacement=https://cpot.miflux.com/code/$${1}
|
||||||
|
- traefik.http.middlewares.cpot-old-url-to-gitea.redirectregex.regex=^https://code.miflux.com/(code|file|issue|wiki|project|graph)/[^/]+/([^/]+)(/.+)*$
|
||||||
|
- traefik.http.middlewares.cpot-old-url-to-gitea.redirectregex.replacement=https://code.miflux.com/hyung-hwan/$${2}
|
||||||
|
- traefik.http.middlewares.redirect-merisia-benjaminrancourt.redirectregex.permanent=false
|
||||||
|
|
||||||
|
codepot-service:
|
||||||
|
image: docker.io/hyunghwan/codepot:ubnt
|
||||||
|
hostname: codepot-service-host
|
||||||
|
tty: true
|
||||||
|
command:
|
||||||
|
- --port=80
|
||||||
|
- --hide-index-page=yes
|
||||||
|
- --https-redirected=yes
|
||||||
|
- --mpm-prefork-max-workers=6
|
||||||
|
networks:
|
||||||
|
- traefik-network
|
||||||
|
volumes:
|
||||||
|
- type: volume
|
||||||
|
source: codepot-data-volume
|
||||||
|
target: /var/lib/codepot
|
||||||
|
|
||||||
|
logging:
|
||||||
|
driver: "local"
|
||||||
|
options:
|
||||||
|
max-file: "5"
|
||||||
|
max-size: "5m"
|
||||||
|
deploy:
|
||||||
|
mode: replicated
|
||||||
|
replicas: 1
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 1GB
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.http.routers.codepot-secure.entrypoints=websec
|
||||||
|
- traefik.http.routers.codepot-secure.rule=Host(`cpot.miflux.com`)
|
||||||
|
- traefik.http.routers.codepot-secure.tls=true
|
||||||
|
- traefik.http.routers.codepot-secure.middlewares=block-svn-access,cpot-proj-to-gitea,cpot-rest-to-gitea
|
||||||
|
#- traefik.http.routers.codepot-plain.entrypoints=web
|
||||||
|
#- traefik.http.routers.codepot-plain.rule=Host(`cpot.miflux.com`)
|
||||||
|
#- traefik.http.routers.codepot-secure.tls=false
|
||||||
|
- traefik.http.services.codepot.loadbalancer.sticky.cookie=true
|
||||||
|
- traefik.http.services.codepot.loadbalancer.sticky.cookie.name=codepot-sticker
|
||||||
|
- traefik.http.services.codepot.loadbalancer.server.port=80
|
||||||
|
# - block access to svn
|
||||||
|
- traefik.http.middlewares.block-svn-access.redirectregex.regex=^https://cpot.miflux.com/svn/(.*)$
|
||||||
|
- traefik.http.middlewares.block-svn-access.redirectregex.replacement=https://cpot.miflux.com/svn/
|
||||||
|
- traefik.http.middlewares.cpot-proj-to-gitea.redirectregex.regex=^https://cpot.miflux.com/[^/]+/[^/]+/([^/]+)(/.+)*$
|
||||||
|
- traefik.http.middlewares.cpot-proj-to-gitea.redirectregex.replacement=https://code.miflux.com/hyung-hwan/$${1}
|
||||||
|
- traefik.http.middlewares.cpot-rest-to-gitea.redirectregex.regex=^https://cpot.miflux.com/(.*)$
|
||||||
|
- traefik.http.middlewares.cpot-rest-to-gitea.redirectregex.replacement=https://code.miflux.com/hyung-hwan/
|
||||||
|
|
||||||
|
drone-service:
|
||||||
|
image: docker.io/drone/drone:2
|
||||||
|
hostname: drone-service-host
|
||||||
|
tty: true
|
||||||
|
environment:
|
||||||
|
## unable to use the internal DNS name as this URL is shown to
|
||||||
|
## the user for oauth login.
|
||||||
|
##- DRONE_GITEA_SERVER=http://gitea-service-host:3000
|
||||||
|
- DRONE_GITEA_SERVER=https://code.miflux.com
|
||||||
|
- DRONE_GITEA_CLIENT_ID=272c7bf0-b081-4e3a-a9bf-4e39231fb162
|
||||||
|
- DRONE_GITEA_CLIENT_SECRET=gto_najtmt4bnfo37x7egy45s4g7esvhgs2b26wcfskvwn6bjajz672a
|
||||||
|
- DRONE_RPC_SECRET=bd7c7058fd60caa00b86f7ea944c913d
|
||||||
|
- DRONE_SERVER_HOST=ci.miflux.com
|
||||||
|
- DRONE_SERVER_PROTO=https
|
||||||
|
- DRONE_USER_CREATE=username:hyung-hwan,admin:true
|
||||||
|
networks:
|
||||||
|
#- drone-network
|
||||||
|
- traefik-network
|
||||||
|
volumes:
|
||||||
|
- type: volume
|
||||||
|
source: drone-data-volume
|
||||||
|
target: /data
|
||||||
|
#ports:
|
||||||
|
# - target: 80
|
||||||
|
# published: 80
|
||||||
|
# protocol: tcp
|
||||||
|
# - target: 443
|
||||||
|
# published: 443
|
||||||
|
# protocol: tcp
|
||||||
|
deploy:
|
||||||
|
mode: replicated
|
||||||
|
replicas: 1
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 1GB
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
|
labels:
|
||||||
|
- traefik.enable=true
|
||||||
|
- traefik.docker.network=traefik-network
|
||||||
|
- traefik.http.routers.drone-secure.entrypoints=websec
|
||||||
|
- traefik.http.routers.drone-secure.rule=Host(`ci.miflux.com`)
|
||||||
|
- traefik.http.routers.drone-secure.tls=true
|
||||||
|
#- traefik.http.routers.drone-plain.entrypoints=web
|
||||||
|
#- traefik.http.routers.drone-plain.rule=Host(`ci.miflux.com`)
|
||||||
|
#- traefik.http.routers.drone-plain.tls=false
|
||||||
|
- traefik.http.services.drone-service.loadbalancer.server.port=80
|
||||||
|
- traefik.http.services.drone-service.loadbalancer.sticky.cookie=true
|
||||||
|
- traefik.http.services.drone-service.loadbalancer.sticky.cookie.name=drone-sticker
|
||||||
|
|
||||||
|
drone-runner-service:
|
||||||
|
image: docker.io/drone/drone-runner-docker:1
|
||||||
|
hostname: drone-runner-service-host
|
||||||
|
tty: true
|
||||||
|
environment:
|
||||||
|
##- DRONE_RPC_PROTO=https
|
||||||
|
##- DRONE_RPC_HOST=ci.miflux.com
|
||||||
|
- DRONE_RPC_PROTO=http
|
||||||
|
- DRONE_RPC_HOST=drone-service-host
|
||||||
|
- DRONE_RPC_PORT=:80
|
||||||
|
- DRONE_RPC_SECRET=bd7c7058fd60caa00b86f7ea944c913d
|
||||||
|
- DRONE_RUNNER_CAPACITY=10
|
||||||
|
- DRONE_RUNNER_NAME=drone-runner-docker-1
|
||||||
|
networks:
|
||||||
|
- traefik-network
|
||||||
|
volumes:
|
||||||
|
- type: bind
|
||||||
|
source: /var/run/docker.sock
|
||||||
|
target: /var/run/docker.sock
|
||||||
|
deploy:
|
||||||
|
mode: replicated
|
||||||
|
replicas: 2
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 1GB
|
||||||
|
restart_policy:
|
||||||
|
condition: on-failure
|
||||||
|
|
@ -9,7 +9,7 @@ networks:
|
|||||||
|
|
||||||
services:
|
services:
|
||||||
traefik-service:
|
traefik-service:
|
||||||
image: docker.io/traefik:2.9
|
image: docker.io/traefik:2.10.1
|
||||||
hostname: traefik-service-host
|
hostname: traefik-service-host
|
||||||
tty: true
|
tty: true
|
||||||
environment:
|
environment:
|
||||||
@ -35,6 +35,10 @@ services:
|
|||||||
published: 443
|
published: 443
|
||||||
protocol: tcp
|
protocol: tcp
|
||||||
mode: host
|
mode: host
|
||||||
|
- target: 3306
|
||||||
|
published: 3306
|
||||||
|
protocol: tcp
|
||||||
|
mode: host
|
||||||
- target: 4444
|
- target: 4444
|
||||||
published: 4444
|
published: 4444
|
||||||
protocol: tcp
|
protocol: tcp
|
||||||
@ -58,6 +62,7 @@ services:
|
|||||||
##- --entrypoints.web.http.redirections.entryPoint.to=websec
|
##- --entrypoints.web.http.redirections.entryPoint.to=websec
|
||||||
##- --entrypoints.web.http.redirections.entryPoint.scheme=https
|
##- --entrypoints.web.http.redirections.entryPoint.scheme=https
|
||||||
- --entrypoints.websec.address=:443
|
- --entrypoints.websec.address=:443
|
||||||
|
- --entrypoints.mariadb.address=:3306
|
||||||
- --providers.docker.swarmmode=true
|
- --providers.docker.swarmmode=true
|
||||||
- --providers.docker.exposedbydefault=false
|
- --providers.docker.exposedbydefault=false
|
||||||
- --providers.docker.network=traefik-network
|
- --providers.docker.network=traefik-network
|
||||||
|
@ -1,4 +1,4 @@
|
|||||||
all:
|
all:
|
||||||
tar -cvf web-doc.tar index.html *.md
|
tar -cvf web-doc.tar index.html *.md
|
||||||
curl -sv -X UNTAR --data-binary @web-doc.tar --output /dev/null https://www.miflux.com 2>&1 | grep '^[<>]'
|
curl -sv -X UNTAR --data-binary @web-doc.tar --output /dev/null https://www.miflux.com/web-doc.tar 2>&1 | grep '^[<>]'
|
||||||
|
|
||||||
|
@ -1,3 +1,5 @@
|
|||||||
* [Home](/)
|
- [Home](/)
|
||||||
* [Vitess](vitess.md "Vitess")
|
- [GlusterFS](glusterfs.md "GlusterFS")
|
||||||
|
- [OpenSSL](openssl.md "OpenSSL")
|
||||||
|
- [Vitess](vitess.md "Vitess")
|
||||||
|
- [Retro](retro-icc.md "Retro")
|
||||||
|
27
web-doc/glusterfs.md
Normal file
27
web-doc/glusterfs.md
Normal file
@ -0,0 +1,27 @@
|
|||||||
|
# GlusterFS cheatsheet
|
||||||
|
|
||||||
|
## systemd
|
||||||
|
- systemctl enable glusterd
|
||||||
|
- systemctl start glusterd
|
||||||
|
|
||||||
|
## Peer Management
|
||||||
|
- gluster peer probe node1 node2 node3
|
||||||
|
- gluster peer detach node2 force
|
||||||
|
- gluster peer detach node3 force
|
||||||
|
- gluster peer status
|
||||||
|
|
||||||
|
## Volume Management
|
||||||
|
- gluster volume info
|
||||||
|
- gluster volume create gfs0-volume replica 3 node1:/gfs node2:/gfs node3:/gfs force
|
||||||
|
- gluster volume start gfs0-volume
|
||||||
|
- gluster volume set gfs0-volume auth.allow localhost
|
||||||
|
- gluster volume set gfs0-volume performance.cache-size 256MB
|
||||||
|
- gluster volume add-brick gfs0-volume replica 5 node4:/gfs node5:gfs
|
||||||
|
- gluster volume remove-brick gfs0-volume replica3 node4:/gfs node5:/gfs force
|
||||||
|
- gluster volume quota gfs0-volume enable
|
||||||
|
- gluster volume quota gfs0-volume limit-usage / 50GB
|
||||||
|
- gluster volume stop gfs0-volume force
|
||||||
|
- gluster volume delete gfs0-volume
|
||||||
|
|
||||||
|
## /etc/fstab
|
||||||
|
localhost:gfs0-volume /mnt/gfs-data glusterfs defaults,_netdev,noauto,x-systemd.automount 0 0
|
@ -5,16 +5,78 @@
|
|||||||
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
<meta name="viewport" content="width=device-width,initial-scale=1" />
|
||||||
<meta charset="UTF-8" />
|
<meta charset="UTF-8" />
|
||||||
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/themes/vue.css" />
|
<link rel="stylesheet" href="//cdn.jsdelivr.net/npm/docsify@4/themes/vue.css" />
|
||||||
|
|
||||||
|
<!-- <link rel="stylesheet" href="//cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.2/css/all.min.css"> -->
|
||||||
|
<link rel="stylesheet" href="//unpkg.com/@fortawesome/fontawesome-free/css/fontawesome.css" />
|
||||||
|
<link rel="stylesheet" href="//unpkg.com/@fortawesome/fontawesome-free/css/brands.css" />
|
||||||
|
<link rel="stylesheet" href="//unpkg.com/@fortawesome/fontawesome-free/css/regular.css" />
|
||||||
|
<link rel="stylesheet" href="//unpkg.com/@fortawesome/fontawesome-free/css/solid.css" />
|
||||||
</head>
|
</head>
|
||||||
<body>
|
<body>
|
||||||
<div data-app id='main'></div>
|
<div data-app id='main'></div>
|
||||||
|
|
||||||
|
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
|
||||||
<script>
|
<script>
|
||||||
window.$docsify = {
|
window.$docsify = {
|
||||||
el: '#main',
|
el: '#main',
|
||||||
loadSidebar: true, // when true, _sidebar.md is required
|
loadSidebar: true, // when true, _sidebar.md is required
|
||||||
coverpage: false // when true, _coverpage.md is required
|
coverpage: false, // when true, _coverpage.md is required
|
||||||
|
routerMode: 'history',
|
||||||
|
mermaidConfig: {
|
||||||
|
querySelector: '.mermaid'
|
||||||
|
},
|
||||||
|
|
||||||
|
kroki: {
|
||||||
|
langs: [
|
||||||
|
"actdiag",
|
||||||
|
"blockdiag",
|
||||||
|
"bpmn",
|
||||||
|
"bytefield",
|
||||||
|
"c4plantuml",
|
||||||
|
"d2",
|
||||||
|
"dbml",
|
||||||
|
"ditaa",
|
||||||
|
"erd",
|
||||||
|
"excalidraw",
|
||||||
|
"graphviz",
|
||||||
|
//"mermaid",
|
||||||
|
"nomnoml",
|
||||||
|
"nwdiag",
|
||||||
|
"packetdiag",
|
||||||
|
"pikchr",
|
||||||
|
"plantuml",
|
||||||
|
"rackdiag",
|
||||||
|
"seqdiag",
|
||||||
|
"structurizr",
|
||||||
|
"svgbob",
|
||||||
|
"symbolator",
|
||||||
|
"tikz",
|
||||||
|
"vega",
|
||||||
|
"vegalite",
|
||||||
|
"wavedrom",
|
||||||
|
"wireviz",
|
||||||
|
],
|
||||||
|
// default
|
||||||
|
serverPath: "//kroki.io/",
|
||||||
|
},
|
||||||
};
|
};
|
||||||
</script>
|
</script>
|
||||||
<script src="//cdn.jsdelivr.net/npm/docsify@4"></script>
|
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-c.min.js"></script>
|
||||||
|
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-go.min.js"></script>
|
||||||
|
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-javascript.min.js"></script>
|
||||||
|
<script src="//cdn.jsdelivr.net/npm/prismjs@1/components/prism-typescript.min.js"></script>
|
||||||
|
|
||||||
|
<script src="//unpkg.com/mermaid/dist/mermaid.js"></script>
|
||||||
|
<script src="//unpkg.com/docsify-mermaid@latest/dist/docsify-mermaid.js"></script>
|
||||||
|
<script>
|
||||||
|
mermaid.initialize({
|
||||||
|
startOnLoad: true,
|
||||||
|
securityLevel: 'loose',
|
||||||
|
//logLevel: 0
|
||||||
|
});
|
||||||
|
</script>
|
||||||
|
|
||||||
|
<script src="//unpkg.com/docsify-kroki"></script>
|
||||||
|
|
||||||
</body>
|
</body>
|
||||||
</html>
|
</html>
|
||||||
|
5
web-doc/openssl.md
Normal file
5
web-doc/openssl.md
Normal file
@ -0,0 +1,5 @@
|
|||||||
|
# OpenSSL Cheatsheet
|
||||||
|
|
||||||
|
## Certificate Viewing
|
||||||
|
- openssl x509 -in cert.pem -noout -text
|
||||||
|
- openssl crl2pkcs7 -nocrl -certfile chained-cert.pem | openssl pkcs7 -print_certs -noout -text
|
20
web-doc/retro-icc.md
Normal file
20
web-doc/retro-icc.md
Normal file
@ -0,0 +1,20 @@
|
|||||||
|
# Intel C Code Builder For DOS
|
||||||
|
|
||||||
|
If you have compiler installed under `C:\ICC`, set the following environment variables:
|
||||||
|
|
||||||
|
```
|
||||||
|
SET CBPATH=C:\ICC
|
||||||
|
SET PATH=C:\ICC\BIN;%PATH%
|
||||||
|
```
|
||||||
|
|
||||||
|
If `icc` fails to find `C:\ICC\BIN\XMVM` and your system doesn't have the file, you can build your program with the `/xnovm` option.
|
||||||
|
|
||||||
|
```
|
||||||
|
icc /xnovm hello.c
|
||||||
|
```
|
||||||
|
|
||||||
|
Alternatively, you can extract the file from an existing ICC binary as shown in https://www.os2museum.com/wp/xmvm-surgery/ and place it under `C:\ICC\BIN`.
|
||||||
|
|
||||||
|
```
|
||||||
|
dd if=IC32.EXE of=XMVM skip=51385 bs=1 count=9440
|
||||||
|
```
|
@ -1 +1,158 @@
|
|||||||
## Vitess
|
# Vitess
|
||||||
|
|
||||||
|
|
||||||
|
```blockdiag
|
||||||
|
diagram login {
|
||||||
|
client [label = "Client"];
|
||||||
|
|
||||||
|
gw_sniproxy [label = "sniproxy"]
|
||||||
|
gw_nginx [label = "nginx"]
|
||||||
|
gw_redirect_pl [label = "redirect.pl"]
|
||||||
|
|
||||||
|
client -> gw_sniproxy -> gw_nginx;
|
||||||
|
gw_nginx ->gw_redirect_pl;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```blockdiag
|
||||||
|
diagram get-page-uuid {
|
||||||
|
index [ label = "login/index.ant" ]
|
||||||
|
inc-main [ label = "modules/policy/inc-main.php" ]
|
||||||
|
sql [ label = "SELECT location.location_group_id, settings FROM ant_policies.location LEFT JOIN ant_policies.policy ON location.location_group_id = policy.location_group_id WHERE ppli =\"eth0\"" ]
|
||||||
|
|
||||||
|
index -> inc-main -> sql;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
graph LR
|
||||||
|
A --- B
|
||||||
|
B-->C[fa:fa-ban forbidden]
|
||||||
|
B-->D(fa:fa-spinner);
|
||||||
|
```
|
||||||
|
|
||||||
|
```c
|
||||||
|
#include <stdio.h>
|
||||||
|
int main ()
|
||||||
|
{
|
||||||
|
printf ("hello, world\n");
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```mermaid
|
||||||
|
mindmap
|
||||||
|
root((mindmap))
|
||||||
|
Origins
|
||||||
|
Long history
|
||||||
|
::icon(fa fa-book)
|
||||||
|
Popularisation
|
||||||
|
British popular psychology author Tony Buzan
|
||||||
|
Research
|
||||||
|
On effectivness<br/>and features
|
||||||
|
On Automatic creation
|
||||||
|
Uses
|
||||||
|
Creative techniques
|
||||||
|
Strategic planning
|
||||||
|
Argument mapping
|
||||||
|
Tools
|
||||||
|
Pen and paper
|
||||||
|
Mermaid
|
||||||
|
```
|
||||||
|
|
||||||
|
```c
|
||||||
|
|
||||||
|
#include <stdio.h>
|
||||||
|
|
||||||
|
// Function to add two numbers
|
||||||
|
int add(int a, int b) {
|
||||||
|
return a + b;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Function to subtract two numbers
|
||||||
|
int subtract(int a, int b) {
|
||||||
|
return a - b;
|
||||||
|
}
|
||||||
|
|
||||||
|
// Function that accepts a function pointer as a parameter
|
||||||
|
int calculate(int (*operation)(int, int), int a, int b) {
|
||||||
|
return operation(a, b);
|
||||||
|
}
|
||||||
|
|
||||||
|
int main() {
|
||||||
|
int x = 100, y = 200;
|
||||||
|
int sum = calculate(add, x, y);
|
||||||
|
int diff = calculate(subtract, x, y);
|
||||||
|
printf("Sum: %d\n", sum);
|
||||||
|
printf("Difference: %d\n", diff);
|
||||||
|
return 0;
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
```bytefield
|
||||||
|
(defattrs :bg-green {:fill "#a0ffa0"})
|
||||||
|
(defattrs :bg-yellow {:fill "#ffffa0"})
|
||||||
|
(defattrs :bg-pink {:fill "#ffb0a0"})
|
||||||
|
(defattrs :bg-cyan {:fill "#a0fafa"})
|
||||||
|
(defattrs :bg-purple {:fill "#e4b5f7"})
|
||||||
|
|
||||||
|
(defn draw-group-label-header
|
||||||
|
[span label]
|
||||||
|
(draw-box (text label [:math {:font-size 12}]) {:span span :borders #{} :height 14}))
|
||||||
|
|
||||||
|
(defn draw-remotedb-header
|
||||||
|
[kind args]
|
||||||
|
(draw-column-headers)
|
||||||
|
(draw-group-label-header 5 "start")
|
||||||
|
(draw-group-label-header 5 "TxID")
|
||||||
|
(draw-group-label-header 3 "type")
|
||||||
|
(draw-group-label-header 2 "args")
|
||||||
|
(draw-group-label-header 1 "tags")
|
||||||
|
(next-row 18)
|
||||||
|
|
||||||
|
(draw-box 0x11 :bg-green)
|
||||||
|
(draw-box 0x872349ae [{:span 4} :bg-green])
|
||||||
|
(draw-box 0x11 :bg-yellow)
|
||||||
|
(draw-box (text "TxID" :math) [{:span 4} :bg-yellow])
|
||||||
|
(draw-box 0x10 :bg-pink)
|
||||||
|
(draw-box (hex-text kind 4 :bold) [{:span 2} :bg-pink])
|
||||||
|
(draw-box 0x0f :bg-cyan)
|
||||||
|
(draw-box (hex-text args 2 :bold) :bg-cyan)
|
||||||
|
(draw-box 0x14 :bg-purple)
|
||||||
|
|
||||||
|
(draw-box (text "0000000c" :hex [[:plain {:font-weight "light" :font-size 16}] " (12)"]) [{:span 4} :bg-purple])
|
||||||
|
(draw-box (hex-text 6 2 :bold) [:box-first :bg-purple])
|
||||||
|
(doseq [val [6 6 3 6 6 6 6 3]]
|
||||||
|
(draw-box (hex-text val 2 :bold) [:box-related :bg-purple]))
|
||||||
|
(doseq [val [0 0]]
|
||||||
|
(draw-box val [:box-related :bg-purple]))
|
||||||
|
(draw-box 0 [:box-last :bg-purple]))
|
||||||
|
|
||||||
|
(draw-remotedb-header 0x4702 9)
|
||||||
|
|
||||||
|
(draw-box 0x11)
|
||||||
|
(draw-box 0x2104 {:span 4})
|
||||||
|
(draw-box 0x11)
|
||||||
|
(draw-box 0 {:span 4})
|
||||||
|
(draw-box 0x11)
|
||||||
|
(draw-box (text "length" [:math] [:sub 1]) {:span 4})
|
||||||
|
(draw-box 0x14)
|
||||||
|
|
||||||
|
(draw-box (text "length" [:math] [:sub 1]) {:span 4})
|
||||||
|
(draw-gap "Cue and loop point bytes")
|
||||||
|
|
||||||
|
(draw-box nil :box-below)
|
||||||
|
(draw-box 0x11)
|
||||||
|
(draw-box 0x36 {:span 4})
|
||||||
|
(draw-box 0x11)
|
||||||
|
(draw-box (text "num" [:math] [:sub "hot"]) {:span 4})
|
||||||
|
(draw-box 0x11)
|
||||||
|
(draw-box (text "num" [:math] [:sub "cue"]) {:span 4})
|
||||||
|
|
||||||
|
(draw-box 0x11)
|
||||||
|
(draw-box (text "length" [:math] [:sub 2]) {:span 4})
|
||||||
|
(draw-box 0x14)
|
||||||
|
(draw-box (text "length" [:math] [:sub 2]) {:span 4})
|
||||||
|
(draw-gap "Unknown bytes" {:min-label-columns 6})
|
||||||
|
(draw-bottom)
|
||||||
|
```
|
||||||
|
Reference in New Issue
Block a user