mirror of
https://github.com/outbackdingo/matchbox.git
synced 2026-01-27 10:19:35 +00:00
Move poseidon/dnsmasq to its own repository
* Move the source for building the poseidon/dnsmasq container image to github.com/poseidon/dnsmasq * https://github.com/poseidon/dnsmasq
This commit is contained in:
@@ -1,18 +0,0 @@
|
||||
# dnsmasq
|
||||
|
||||
Notable changes image releases. The dnsmasq project [upstream](http://www.thekelleys.org.uk/dnsmasq/doc.html) has its own [changelog](http://www.thekelleys.org.uk/dnsmasq/CHANGELOG).
|
||||
|
||||
## v0.4.1
|
||||
|
||||
* Rebuild with alpine:3.6 base image
|
||||
* Add EXPOSE ports 67 and 69 to Dockerfile
|
||||
|
||||
## v0.4.0
|
||||
|
||||
* `dnsmasq` package version 2.76
|
||||
* Rebuild with alpine:3.5 base image to receive patches
|
||||
* Update CoreOS `grub.efi` to be recent (stable, 1298.7.0)
|
||||
|
||||
## v0.3.0
|
||||
|
||||
* `dnsmasq` package version 2.75
|
||||
@@ -1,6 +0,0 @@
|
||||
FROM docker.io/alpine:3.12
|
||||
LABEL maintainer="Dalton Hubble <dghubble@gmail.com>"
|
||||
RUN apk -U add dnsmasq curl
|
||||
COPY tftpboot /var/lib/tftpboot
|
||||
EXPOSE 53 67 69
|
||||
ENTRYPOINT ["/usr/sbin/dnsmasq"]
|
||||
@@ -1,24 +0,0 @@
|
||||
DIR := $(abspath $(dir $(lastword $(MAKEFILE_LIST))))
|
||||
VERSION=$(shell git rev-parse HEAD)
|
||||
|
||||
LOCAL_REPO=poseidon/dnsmasq
|
||||
IMAGE_REPO=quay.io/poseidon/dnsmasq
|
||||
|
||||
.PHONY: all
|
||||
all: image
|
||||
|
||||
.PHONY: tftp
|
||||
tftp:
|
||||
@$(DIR)/get-tftp-files
|
||||
|
||||
.PHONY: image
|
||||
image: tftp
|
||||
@buildah bud -t $(LOCAL_REPO):$(VERSION) .
|
||||
@buildah tag $(LOCAL_REPO):$(VERSION) $(LOCAL_REPO):latest
|
||||
|
||||
.PHONY: push
|
||||
push:
|
||||
@buildah tag $(LOCAL_REPO):$(VERSION) $(IMAGE_REPO):$(VERSION)
|
||||
@buildah tag $(LOCAL_REPO):$(VERSION) $(IMAGE_REPO):latest
|
||||
@buildah push docker://$(IMAGE_REPO):$(VERSION)
|
||||
@buildah push docker://$(IMAGE_REPO):latest
|
||||
@@ -1,57 +1,4 @@
|
||||
# dnsmasq [](https://quay.io/repository/poseidon/dnsmasq)
|
||||
# dnsmasq
|
||||
|
||||
`dnsmasq` provides a container image for running DHCP, proxy DHCP, DNS, and/or TFTP with [dnsmasq](http://www.thekelleys.org.uk/dnsmasq/doc.html). Use it to test different network setups with clusters of network bootable machines.
|
||||
|
||||
The image bundles `undionly.kpxe`, `ipxe.efi`, and `grub.efi` (experimental) for chainloading BIOS and UEFI clients to iPXE.
|
||||
|
||||
## Usage
|
||||
|
||||
Run the container image as a DHCP, DNS, and TFTP service.
|
||||
|
||||
```sh
|
||||
sudo docker run --rm --cap-add=NET_ADMIN --net=host quay.io/poseidon/dnsmasq \
|
||||
-d -q \
|
||||
--dhcp-range=192.168.1.3,192.168.1.254 \
|
||||
--enable-tftp --tftp-root=/var/lib/tftpboot \
|
||||
--dhcp-match=set:bios,option:client-arch,0 \
|
||||
--dhcp-boot=tag:bios,undionly.kpxe \
|
||||
--dhcp-match=set:efi32,option:client-arch,6 \
|
||||
--dhcp-boot=tag:efi32,ipxe.efi \
|
||||
--dhcp-match=set:efibc,option:client-arch,7 \
|
||||
--dhcp-boot=tag:efibc,ipxe.efi \
|
||||
--dhcp-match=set:efi64,option:client-arch,9 \
|
||||
--dhcp-boot=tag:efi64,ipxe.efi \
|
||||
--dhcp-userclass=set:ipxe,iPXE \
|
||||
--dhcp-boot=tag:ipxe,http://matchbox.example.com:8080/boot.ipxe \
|
||||
--address=/matchbox.example.com/192.168.1.2 \
|
||||
--log-queries \
|
||||
--log-dhcp
|
||||
```
|
||||
|
||||
Press ctrl-C to stop the Docker container.
|
||||
|
||||
## Configuration Flags
|
||||
|
||||
Configuration arguments can be provided as flags. Check the dnsmasq [man pages](http://www.thekelleys.org.uk/dnsmasq/docs/dnsmasq-man.html) for a complete list.
|
||||
|
||||
| flag | description | example |
|
||||
|----------|-------------|---------|
|
||||
| --dhcp-range | Enable DHCP, lease given range | `172.18.0.50,172.18.0.99`, `192.168.1.1,proxy,255.255.255.0` |
|
||||
| --dhcp-boot | DHCP next server option | `http://matchbox.foo:8080/boot.ipxe` |
|
||||
| --enable-tftp | Enable serving from tftp-root over TFTP | NA |
|
||||
| --address | IP address for a domain name | /matchbox.foo/172.18.0.2 |
|
||||
|
||||
## Development
|
||||
|
||||
Build a container image locally.
|
||||
|
||||
```
|
||||
make docker-image
|
||||
```
|
||||
|
||||
Run the image with Docker on the `docker0` bridge (default).
|
||||
|
||||
```
|
||||
sudo docker run --rm --cap-add=NET_ADMIN poseidon/dnsmasq -d -q
|
||||
```
|
||||
Moved to [dnsmasq](https://github.com/poseidon/dnsmasq).
|
||||
|
||||
|
||||
@@ -1,13 +0,0 @@
|
||||
#!/usr/bin/env bash
|
||||
set -eu
|
||||
|
||||
DEST=${1:-"tftpboot"}
|
||||
|
||||
if [ ! -d $DEST ]; then
|
||||
echo "Creating directory $DEST"
|
||||
mkdir -p $DEST
|
||||
fi
|
||||
|
||||
curl -s -o $DEST/undionly.kpxe http://boot.ipxe.org/undionly.kpxe
|
||||
cp $DEST/undionly.kpxe $DEST/undionly.kpxe.0
|
||||
curl -s -o $DEST/ipxe.efi http://boot.ipxe.org/ipxe.efi
|
||||
Reference in New Issue
Block a user