Skip to content

Commit 8348c12

Browse files
committed
add custom bird adj-rib-out image
1 parent bb0117a commit 8348c12

File tree

2 files changed

+65
-0
lines changed

2 files changed

+65
-0
lines changed

.github/workflows/cicd.yml

Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -34,6 +34,12 @@ jobs:
3434
ghcr.io/nxthdr/bird:3.1.0
3535
build-args: |
3636
BIRD_VERSION=3.1.0
37+
- dockerfile: ./bird/Dockerfile.adj-rib-out
38+
image: ghcr.io/nxthdr/bird
39+
os: ubuntu-24.04
40+
tags: |
41+
ghcr.io/nxthdr/bird:2.18-adj-rib-out
42+
needs_bird_repo: true
3743

3844
permissions:
3945
contents: read
@@ -46,6 +52,14 @@ jobs:
4652
- name: Checkout repository
4753
uses: actions/checkout@v6
4854

55+
- name: Checkout BIRD repository
56+
if: ${{ matrix.needs_bird_repo }}
57+
uses: actions/checkout@v6
58+
with:
59+
repository: matthieugouel/bird
60+
ref: bmp-adj-rib-out
61+
path: bird
62+
4963
- name: Log in to the Container registry
5064
uses: docker/login-action@v3
5165
with:

bird/Dockerfile.adj-rib-out

Lines changed: 51 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
FROM ubuntu:24.04 AS builder
2+
3+
ARG BIRD_PROTOCOLS=bmp,bgp,rpki,static
4+
5+
RUN apt update -y && \
6+
apt install -y --no-install-recommends --no-install-suggests \
7+
autoconf \
8+
bison \
9+
ca-certificates \
10+
flex \
11+
gcc \
12+
git \
13+
libncurses-dev \
14+
libreadline-dev \
15+
libssh-dev \
16+
m4 \
17+
make \
18+
&& rm -rf /var/lib/apt/lists/*
19+
20+
WORKDIR /build
21+
COPY ./bird/ /build/
22+
23+
RUN autoreconf && ./configure \
24+
--prefix=/usr/ \
25+
--sysconfdir=/etc/bird/ \
26+
--localstatedir=/var/ \
27+
--enable-libssh \
28+
--with-protocols=${BIRD_PROTOCOLS} \
29+
&& mkdir -p doc \
30+
&& echo "all:" > doc/Makefile \
31+
&& echo "install:" >> doc/Makefile \
32+
&& echo "# BIRD configuration example" > doc/bird.conf.example \
33+
&& make && make install \
34+
&& { find /usr/sbin/bird* -type f -executable -exec strip --strip-all "{}" +; }
35+
36+
FROM ubuntu:24.04
37+
38+
RUN set -eux \
39+
&& apt-get update -y \
40+
&& apt-get install -y --no-install-recommends --no-install-suggests \
41+
iproute2 \
42+
libtinfo6 \
43+
libreadline8 \
44+
libssh-4 \
45+
&& rm -rf /var/lib/apt/lists/* /var/log/*
46+
47+
COPY --from=builder /usr/sbin/bird* /usr/sbin/
48+
COPY --from=builder /etc/bird/ /etc/bird/
49+
50+
EXPOSE 179/tcp
51+
CMD ["bird", "-f", "-R"]

0 commit comments

Comments
 (0)