Skip to content

Commit f29a41f

Browse files
authored
Merge pull request #1 from unixorn/initial-code-drop
Initial code drop
2 parents d86a537 + 6d3641c commit f29a41f

File tree

9 files changed

+209
-0
lines changed

9 files changed

+209
-0
lines changed

.github/dependabot.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
---
2+
# Use `allow` to specify which dependencies to maintain
3+
4+
version: 2
5+
updates:
6+
- package-ecosystem: "github-actions"
7+
directory: "/"
8+
schedule:
9+
interval: "weekly"
10+
11+
- package-ecosystem: "pip"
12+
directory: "/"
13+
schedule:
14+
interval: "weekly"

.github/workflows/awesomebot.yml

Lines changed: 23 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,23 @@
1+
---
2+
name: Check links in README
3+
4+
on:
5+
push:
6+
branches: [ '*' ]
7+
pull_request:
8+
branches: [ '*' ]
9+
10+
jobs:
11+
build:
12+
13+
runs-on: ubuntu-latest
14+
15+
steps:
16+
- uses: actions/checkout@v3
17+
with:
18+
# Full git history is needed to get a proper list of changed files
19+
# within `mega-linter`
20+
fetch-depth: 0
21+
- uses: docker://dkhamsing/awesome_bot:latest
22+
with:
23+
args: /github/workspace/README.md --allow-ssl --allow 500,501,502,503,504,509,521 --allow-dupe --allow-redirect --request-delay 1 --white-list https://github,https://img.shields.io

Dockerfile.cgiserver

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# FROM debian:11-slim
2+
FROM ubuntu:22.04
3+
4+
ARG application_version
5+
LABEL maintainer="Joe Block <jpb@unixorn.net>"
6+
LABEL version=${application_version}
7+
8+
RUN apt-get update
9+
RUN apt-get install -y apt-utils ca-certificates --no-install-recommends
10+
RUN update-ca-certificates
11+
12+
RUN apt-get install -y moosefs-cgiserv
13+
LABEL description="moosefs-cgiserv image"
14+
15+
CMD ["bash", "-l"]

Dockerfile.chunkserver

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# FROM debian:11-slim
2+
FROM ubuntu:22.04
3+
4+
ARG application_version
5+
LABEL maintainer="Joe Block <jpb@unixorn.net>"
6+
LABEL version=${application_version}
7+
8+
RUN apt-get update
9+
RUN apt-get install -y apt-utils ca-certificates --no-install-recommends
10+
RUN update-ca-certificates
11+
12+
RUN apt-get install -y moosefs-chunkserver
13+
LABEL description="moosefs-chunkserver image"
14+
15+
CMD ["bash", "-l"]

Dockerfile.master

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# FROM debian:11-slim
2+
FROM ubuntu:22.04
3+
4+
ARG application_version
5+
LABEL maintainer="Joe Block <jpb@unixorn.net>"
6+
LABEL version=${application_version}
7+
8+
RUN apt-get update
9+
RUN apt-get install -y apt-utils ca-certificates --no-install-recommends
10+
RUN update-ca-certificates
11+
12+
RUN apt-get install -y moosefs-master
13+
LABEL description="moosefs-master image"
14+
15+
CMD ["bash", "-l"]

Dockerfile.metalogger

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# FROM debian:11-slim
2+
FROM ubuntu:22.04
3+
4+
ARG application_version
5+
LABEL maintainer="Joe Block <jpb@unixorn.net>"
6+
LABEL version=${application_version}
7+
8+
RUN apt-get update
9+
RUN apt-get install -y apt-utils ca-certificates --no-install-recommends
10+
RUN update-ca-certificates
11+
12+
RUN apt-get install -y moosefs-metalogger
13+
14+
LABEL description="moosefs-metalogger image"
15+
CMD ["bash", "-l"]

Dockerfile.netdump

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# FROM debian:11-slim
2+
FROM ubuntu:22.04
3+
4+
ARG application_version
5+
LABEL maintainer="Joe Block <jpb@unixorn.net>"
6+
LABEL description="moosefs-master image"
7+
LABEL version=${application_version}
8+
9+
RUN apt-get update
10+
RUN apt-get install -y apt-utils ca-certificates --no-install-recommends && \
11+
update-ca-certificates
12+
13+
RUN apt-get install -y moosefs-master && \
14+
15+
CMD ["bash", "-l"]

Makefile

Lines changed: 70 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,70 @@
1+
.PHONY: c clean \
2+
f format \
3+
h help \
4+
local \
5+
multiarch_image \
6+
publish \
7+
t test \
8+
wheel
9+
10+
h: help
11+
c: clean
12+
f: format
13+
t: test
14+
15+
help:
16+
@echo "Options:"
17+
@grep -E '^[a-zA-Z_-]+:.*?## .*$$' $(MAKEFILE_LIST) | sort | awk 'BEGIN {FS = ":.*?## "}; {printf "\033[36m%-30s\033[0m %s\n", $$1, $$2}'
18+
19+
HUB_USER=unixorn
20+
MOOSEFS_VERSION=3.116
21+
PLATFORMS=linux/arm64,linux/amd64,linux/arm/v7
22+
23+
# If this pukes trying to import paho, try running 'poetry install'
24+
# MOOSEFS_VERSION=$(shell poetry run python3 -c 'from ha_mqtt_discoverable import __version__;print(__version__)' )
25+
26+
install_hooks: ## Install the git hooks
27+
poetry run pre-commit install
28+
29+
local_cgiserver: ## Makes a moosefs-cgiserver docker image for only the architecture we're running on. Does not push to dockerhub.
30+
docker buildx build --load -t ${HUB_USER}/moosefs-cgiserver -f Dockerfile.cgiserver .
31+
32+
multiarch_cgiserver: ## Makes a moosefs-cgiserver multi-architecture docker image for linux/arm64, linux/amd64 and linux/arm/v7 and pushes it to dockerhub
33+
docker buildx build --build-arg application_version=${MOOSEFS_VERSION} --platform ${PLATFORMS} --push -t ${HUB_USER}/moosefs-cgiserver:$(MOOSEFS_VERSION) -f Dockerfile.cgiserver .
34+
docker buildx build --build-arg application_version=${MOOSEFS_VERSION} --platform ${PLATFORMS} --push -t ${HUB_USER}/moosefs-cgiserver:latest -f Dockerfile.cgiserver .
35+
make local_cgiserver
36+
37+
local_chunkserver: ## Makes a moosefs-chunkserver docker image for only the architecture we're running on. Does not push to dockerhub.
38+
docker buildx build --load -t ${HUB_USER}/moosefs-chunkserver -f Dockerfile.chunkserver .
39+
40+
multiarch_chunkserver: ## Makes a moosefs-chunkserver multi-architecture docker image for linux/arm64, linux/amd64 and linux/arm/v7 and pushes it to dockerhub
41+
docker buildx build --build-arg application_version=${MOOSEFS_VERSION} --platform ${PLATFORMS} --push -t ${HUB_USER}/moosefs-chunkserver:$(MOOSEFS_VERSION) -f Dockerfile.chunkserver .
42+
docker buildx build --build-arg application_version=${MOOSEFS_VERSION} --platform ${PLATFORMS} --push -t ${HUB_USER}/moosefs-chunkserver:latest -f Dockerfile.chunkserver .
43+
make local_chunkserver
44+
45+
local_master: ## Makes a moosefs-master docker image for only the architecture we're running on. Does not push to dockerhub.
46+
docker buildx build --load -t ${HUB_USER}/moosefs-master -f Dockerfile.master .
47+
48+
multiarch_master: ## Makes a moosefs-master multi-architecture docker image for linux/arm64, linux/amd64 and linux/arm/v7 and pushes it to dockerhub
49+
docker buildx build --build-arg application_version=${MOOSEFS_VERSION} --platform ${PLATFORMS} --push -t ${HUB_USER}/moosefs-master:$(MOOSEFS_VERSION) -f Dockerfile.master .
50+
docker buildx build --build-arg application_version=${MOOSEFS_VERSION} --platform ${PLATFORMS} --push -t ${HUB_USER}/moosefs-master:latest -f Dockerfile.master .
51+
make local_master
52+
53+
local_metalogger: ## Makes a moosefs-metalogger docker image for only the architecture we're running on. Does not push to dockerhub.
54+
docker buildx build --load -t ${HUB_USER}/moosefs-metalogger -f Dockerfile.metalogger .
55+
56+
multiarch_metalogger: ## Makes a moosefs-metalogger multi-architecture docker image for linux/arm64, linux/amd64 and linux/arm/v7 and pushes it to dockerhub
57+
docker buildx build --build-arg application_version=${MOOSEFS_VERSION} --platform ${PLATFORMS} --push -t ${HUB_USER}/moosefs-metalogger:$(MOOSEFS_VERSION) -f Dockerfile.metalogger .
58+
docker buildx build --build-arg application_version=${MOOSEFS_VERSION} --platform ${PLATFORMS} --push -t ${HUB_USER}/moosefs-metalogger:latest -f Dockerfile.metalogger .
59+
make local_metalogger
60+
61+
local: local_cgiserver \ ## Make images for whatever architecture you're running on, but does not push to docker hub
62+
local_chunkserver \
63+
local_master \
64+
local_metalogger
65+
66+
multiarch_images: ## Builds multi-architecture docker images for all the services and pushes them to docker hub
67+
multiarch: multiarch_cgiserver \
68+
multiarch_chunkserver \
69+
multiarch_master \
70+
multiarch_metalogger

Readme.md

Lines changed: 27 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,27 @@
1+
# moosefs-docker
2+
3+
## Status
4+
5+
[![License](https://img.shields.io/github/license/unixorn/moosefs-docker.svg)](https://opensource.org/licenses/BSD-3-Clause)
6+
![Awesomebot](https://github.com/unixorn/moosefs-docker/actions/workflows/awesomebot.yml/badge.svg)
7+
[![GitHub stars](https://img.shields.io/github/stars/unixorn/moosefs-docker.svg)](https://github.com/unixorn/moosefs-docker/stargazers)
8+
[![GitHub last commit (branch)](https://img.shields.io/github/last-commit/unixorn/moosefs-docker/main.svg)](https://github.com/unixorn/moosefs-docker)
9+
10+
This contains Dockerfiles for [moosefs](https://moosefs.com/).
11+
12+
## Usage
13+
14+
The following multi-architecture (`arm64`, `armh/v7`, `amd64`) images are available on hub.docker.com:
15+
16+
- unixorn/moosefs-cgiserver
17+
- unixorn/moosefs-chunkserver
18+
- unixorn/moosefs-master
19+
- unixorn/moosefs-metalogger
20+
21+
## Building
22+
23+
You can make the images yourself with `make multiarch_images`.
24+
25+
If you need to support a platform other than `arm64`, `armh/v7` or `amd64`, the easiest thing to do is to edit the Makefile and change `HUB_USER` to your docker hub username and update `PLATFORMS` to include whatever other architectures you need, then run `make multiarch_images` to build new images.
26+
27+
This allows you to use just `your-hub-username/imagename` in your docker-compose files or kubernetes deployments and not have different image names for different architectures.

0 commit comments

Comments
 (0)