Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Netavark #90

Closed
wants to merge 94 commits into from
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
94 commits
Select commit Hold shift + click to select a range
4c78291
Update README
trentapple Aug 13, 2023
aadbb44
Update release
trentapple Aug 14, 2023
9029a91
Update README.md
trentapple Aug 14, 2023
2de5e4b
Update README
trentapple Aug 14, 2023
b333901
Delete release.yml
trentapple Aug 14, 2023
a6ae1c6
Create release.yml
trentapple Aug 14, 2023
d9b2750
Update Makefile
trentapple Aug 14, 2023
986ed0c
Update remote.bats
trentapple Aug 14, 2023
1011454
Update rootless.bats
trentapple Aug 14, 2023
15574e8
Update rootful.bats
trentapple Aug 14, 2023
96c9ae4
Update Makefile
trentapple Aug 14, 2023
117edfd
Update README.md
trentapple Aug 14, 2023
48ed1d1
Update release.yml
trentapple Aug 14, 2023
6efb2d1
Update README.md
trentapple Aug 14, 2023
ff6a69f
Update release.yml
trentapple Aug 15, 2023
6bbc3b6
Update release.yml
trentapple Aug 15, 2023
01ae8d3
Update Dockerfile with input label
trentapple Aug 15, 2023
8c5f339
Update Dockerfile
trentapple Aug 15, 2023
09e5f80
Update Dockerfile
trentapple Aug 15, 2023
eec182a
Update Makefile
trentapple Aug 15, 2023
0290d33
Update release.yml
trentapple Aug 15, 2023
b0401c1
Update release.yml
trentapple Aug 15, 2023
8fbff41
action refactor
trentapple Aug 15, 2023
0b8f2e1
Update README
trentapple Aug 16, 2023
791db48
Update Makefile
trentapple Aug 16, 2023
372d33c
upd.
trentapple Aug 16, 2023
263bd81
Update push.yml (#1)
trentapple Aug 18, 2023
b15a544
4.8.1
trentapple Dec 19, 2023
a8a710f
Enable ed25519 host key in sshd_config
trentapple Jan 4, 2024
60202c5
Evaluate arg opts for latest released versions.
trentapple Jan 13, 2024
6a580ed
Simple export.
trentapple Jan 13, 2024
d9f8b4b
inline
trentapple Jan 13, 2024
808ee5d
Parens
trentapple Jan 13, 2024
b5be7ef
curl
trentapple Jan 13, 2024
07eaa8b
Inline
trentapple Jan 13, 2024
17c1bd6
Update dependencies
trentapple Jan 13, 2024
c845494
alpine from 3.18 LTS to 3.19 LTS (bug fixes)
trentapple Jan 13, 2024
6a3b910
Dynamically set branch names if versions are not pre-defined
trentapple Jan 13, 2024
c38b69a
nftables
trentapple Jan 13, 2024
374bd0e
netavark
trentapple Jan 13, 2024
0cd29f8
Add Rust and Cargo to Dockerfile
trentapple Jan 13, 2024
559f2c5
Add CGO_CFLAGS environment variable to Dockerfile
trentapple Jan 13, 2024
113295a
Update Dockerfile (#3)
trentapple Jan 13, 2024
bc12587
Update Dockerfile
trentapple Jan 13, 2024
73581ed
Latest Podman version
trentapple Jan 13, 2024
d838dfa
Merge branch 'main' of github.com:trentapple/podman-static
trentapple Jan 13, 2024
5b1a2a3
4.8.3
trentapple Jan 13, 2024
6f10a88
Change to not fallback on latest versions (version pinning). Also, di…
trentapple Jan 13, 2024
1524b7c
Git clone updates
trentapple Jan 13, 2024
cfe36b0
Without version command
trentapple Jan 13, 2024
c758879
Version check to /dev/null
trentapple Jan 13, 2024
e777278
cflags in the run
trentapple Jan 13, 2024
dbcf8e1
packages
trentapple Jan 13, 2024
c5a705a
Commented out netavark build step
trentapple Jan 13, 2024
57f1ccc
Update Dockerfile with specific versions of Podman and Conmon
trentapple Jan 14, 2024
82ee318
Update Dockerfile to build Netavark with release flag
trentapple Jan 14, 2024
b18ba36
Update Dockerfile
trentapple Jan 14, 2024
b657acd
Delete Dockerfile-ssh (#4)
trentapple Jan 14, 2024
eedf976
Update Dockerfile
trentapple Jan 14, 2024
5179278
Update Dockerfile
trentapple Jan 14, 2024
d43f39e
Update Dockerfile-remote (4.8.3)
trentapple Jan 20, 2024
e2f86d4
Update Dockerfile (#5)
trentapple Feb 14, 2024
b7e018a
Update Makefile
trentapple Feb 14, 2024
6f804d4
Update Makefile
trentapple Feb 14, 2024
5b4b639
Update Dockerfile-remote
trentapple Feb 14, 2024
aa03a31
Update sshd_config
trentapple Feb 14, 2024
1de0ad1
Removing unused rounds flag
trentapple Mar 3, 2024
9156e97
Update Dockerfile-remote
trentapple Mar 3, 2024
393c4f4
Update Dockerfile for 4.9.3
trentapple Mar 3, 2024
cc5b996
Host key generation step
trentapple Mar 3, 2024
750f9ee
Update Makefile
trentapple Mar 3, 2024
21d4582
sqlite3 compilation error
trentapple Mar 3, 2024
565d584
go-sqlite3 musl build in alpine
trentapple Mar 3, 2024
ffa88c2
Update Dockerfile
trentapple Mar 3, 2024
e4a6730
Update Dockerfile
trentapple Mar 3, 2024
4649a87
Update Dockerfile-remote
trentapple Mar 3, 2024
6edb7f3
Update Dockerfile
trentapple Mar 3, 2024
6963740
Update Dockerfile
trentapple Mar 3, 2024
7ae24cc
Update push.yml
trentapple Mar 3, 2024
3b417da
Revert go 1.21
trentapple Mar 3, 2024
94fd5d2
Revert go 1.21
trentapple Mar 3, 2024
2f8c27e
Update Dockerfile
trentapple Mar 3, 2024
6205a20
Revert (#6)
trentapple Mar 3, 2024
3e11d2c
Update Podman version to v5.0.0
trentapple Mar 25, 2024
a2ce6be
netavark path and readme updating.
trentapple Apr 2, 2024
1a10550
Update Dockerfile
trentapple May 2, 2024
011163d
Update Dockerfile
trentapple May 4, 2024
4169abc
Update Dockerfile
trentapple May 4, 2024
fb116ac
MacOS Build preview (#7)
trentapple May 14, 2024
21a21e6
Matrix OS strategy. More changes to follow for action compat. (#8)
trentapple May 14, 2024
69209af
Revert "Matrix OS strategy. More changes to follow for action compat.…
trentapple May 14, 2024
b923b93
Revert "MacOS Build preview (#7)" (#10)
trentapple May 14, 2024
9488576
Imminent podman version 5.0.3 build
trentapple May 14, 2024
08bba83
Delete conf/cni/net.d directory
trentapple May 18, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
145 changes: 145 additions & 0 deletions .github/workflows/push.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,145 @@
name: Push

on:
workflow_dispatch:
inputs:
job-id:
description: 'The job ID to depend on'
required: true

env:
PODMAN_IMAGE: podman
PODMAN_MINIMAL_IMAGE: podman-minimal
#PODMAN_REMOTE_IMAGE: podman-remote

jobs:
push:
runs-on: ubuntu-latest
permissions:
deployments: write
packages: write
steps:
- name: Download a Build Artifact archive amd64
uses: actions/[email protected]
with:
path: ./build/asset/podman-linux-amd64.tar.gz
name: podman-linux-amd64.tar.gz

- name: Download a Build Artifact signature amd64
uses: actions/[email protected]
with:
path: ./build/asset/podman-linux-amd64.tar.gz.asc
name: podman-linux-amd64.tar.gz.asc

- name: Download a Build Artifact archive aarch64
uses: actions/[email protected]
with:
path: ./build/asset/podman-linux-arm64.tar.gz
name: podman-linux-arm64.tar.gz

- name: Download a Build Artifact signature aarch64
uses: actions/[email protected]
with:
path: ./build/asset/podman-linux-arm64.tar.gz.asc
name: podman-linux-arm64.tar.gz.asc


- name: Log into GitHub registry
run: echo "$GITHUB_TOKEN" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
env:
GITHUB_TOKEN: ${{ github.token }}

- name: Push images
run: |
set -eu

GITHUB_IMAGE_REPO=ghcr.io/trentapple/podman-static
GITHUB_IMAGE_REPO=$(echo $GITHUB_IMAGE_REPO | tr '[A-Z]' '[a-z]')

# Strip git ref prefix from version
TAGS=$(echo "$GITHUB_REF" | sed -e 's,.*/\(.*\),\1,')
# Strip "v" prefix from tag name
[[ "$GITHUB_REF" == "refs/tags/v"* ]] && TAGS=$(echo $TAGS | sed -e 's/^v//')
# Expand tags: 1.2.3 -> 1 1.2 1.2.3
TAGS="$(echo "$TAGS" | sed -E -e 's/^((([0-9]+)\.[0-9]+)\.[0-9]+)$/\3 \2 \1/')"

#for IMAGE in $PODMAN_REMOTE_IMAGE $PODMAN_IMAGE $PODMAN_MINIMAL_IMAGE; do
for IMAGE in $PODMAN_IMAGE $PODMAN_MINIMAL_IMAGE; do
TAG_SUFFIX=$(echo $IMAGE | sed -E -e 's/^([^-]+)//')
LATEST_TAG="$([ "$TAG_SUFFIX" ] && echo $TAG_SUFFIX | sed -E -e 's/^-//' || echo latest)"
[ "$TAGS" == "main" ] && IMAGE_TAGS="$LATEST_TAG" || IMAGE_TAGS="$LATEST_TAG $TAGS"
TAG_OPTS=
printf 'Pushing image tags: '
for TAG in $IMAGE_TAGS; do
[ "$TAG" = "$LATEST_TAG" ] || TAG="${TAG}${TAG_SUFFIX}"
TAG_OPTS="$TAG_OPTS -t $GITHUB_IMAGE_REPO:$TAG"
printf ' %s' "$TAG"
done
echo
echo "Pushing $IMAGE image $GITHUB_IMAGE_REPO"
make "$IMAGE" PODMAN_BUILD_OPTS="$TAG_OPTS" PODMAN_MINIMAL_BUILD_OPTS="$TAG_OPTS" PODMAN_REMOTE_BUILD_OPTS="$TAG_OPTS"
done
env:
BUILDX_OUTPUT: type=registry
PLATFORM: linux/arm64/v8,linux/amd64
GITHUB_REF: ${{ github.ref }}

- name: Create release
if: github.ref != 'refs/heads/main'
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}
draft: false
prerelease: true

- name: Upload arm64 archive signature
if: github.ref != 'refs/heads/main'
id: upload-arm64-archive-signature
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./build/asset/podman-linux-arm64.tar.gz.asc
asset_name: podman-linux-arm64.tar.gz.asc
asset_content_type: application/octet-stream

- name: Upload arm64 archive
if: github.ref != 'refs/heads/main'
id: upload-arm64-archive
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./build/asset/podman-linux-arm64.tar.gz
asset_name: podman-linux-arm64.tar.gz
asset_content_type: application/octet-stream

- name: Upload amd64 archive signature
if: github.ref != 'refs/heads/main'
id: upload-amd64-archive-signature
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./build/asset/podman-linux-amd64.tar.gz.asc
asset_name: podman-linux-amd64.tar.gz.asc
asset_content_type: application/octet-stream

- name: Upload amd64 archive
if: github.ref != 'refs/heads/main'
id: upload-amd64-archive
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./build/asset/podman-linux-amd64.tar.gz
asset_name: podman-linux-amd64.tar.gz
asset_content_type: application/octet-stream
125 changes: 22 additions & 103 deletions .github/workflows/release.yml
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@ name: Release

on:
push:
# Publish `master` as Docker `latest` image.
# Publish `main` as Docker `latest` image.
branches:
- master
- main

# Publish `v1.2.3` tags as releases.
tags:
Expand All @@ -18,8 +18,8 @@ env:
jobs:
push:
runs-on: ubuntu-latest
if: github.event_name == 'push'

# if: github.event_name == 'push'
steps:
- name: Check out code
uses: actions/checkout@v2
Expand All @@ -30,116 +30,35 @@ jobs:
platforms: all

- name: Build & test
run: make images test
run: make images
#run: make images test

- name: Build signed archives
run: make clean multiarch-tar TAR_TARGET=signed-tar
env:
GPG_SIGN_KEY: ${{ secrets.GPG_SIGN_KEY }}
GPG_SIGN_KEY_PASSPHRASE: ${{ secrets.GPG_SIGN_KEY_PASSPHRASE }}

- name: Log into GitHub registry
run: echo "$GITHUB_TOKEN" | docker login ghcr.io -u ${{ github.actor }} --password-stdin
env:
GITHUB_TOKEN: ${{ github.token }}

- name: Log into DockerHub registry
run: echo "$DOCKERHUB_TOKEN" | docker login docker.io -u "${{ secrets.DOCKERHUB_USERNAME }}" --password-stdin
env:
DOCKERHUB_TOKEN: ${{ secrets.DOCKERHUB_TOKEN }}

- name: Push images
run: |
set -eu

GITHUB_IMAGE_REPO=ghcr.io/mgoltzsche/podman
GITHUB_IMAGE_REPO=$(echo $GITHUB_IMAGE_REPO | tr '[A-Z]' '[a-z]')
DOCKERHUB_IMAGE_REPO=docker.io/mgoltzsche/podman

# Strip git ref prefix from version
TAGS=$(echo "$GITHUB_REF" | sed -e 's,.*/\(.*\),\1,')
# Strip "v" prefix from tag name
[[ "$GITHUB_REF" == "refs/tags/v"* ]] && TAGS=$(echo $TAGS | sed -e 's/^v//')
# Expand tags: 1.2.3 -> 1 1.2 1.2.3
TAGS="$(echo "$TAGS" | sed -E -e 's/^((([0-9]+)\.[0-9]+)\.[0-9]+)$/\3 \2 \1/')"

for IMAGE in $PODMAN_REMOTE_IMAGE $PODMAN_IMAGE $PODMAN_MINIMAL_IMAGE; do
TAG_SUFFIX=$(echo $IMAGE | sed -E -e 's/^([^-]+)//')
LATEST_TAG="$([ "$TAG_SUFFIX" ] && echo $TAG_SUFFIX | sed -E -e 's/^-//' || echo latest)"
[ "$TAGS" == "master" ] && IMAGE_TAGS="$LATEST_TAG" || IMAGE_TAGS="$LATEST_TAG $TAGS"
TAG_OPTS=
printf 'Pushing image tags: '
for TAG in $IMAGE_TAGS; do
[ "$TAG" = "$LATEST_TAG" ] || TAG="${TAG}${TAG_SUFFIX}"
TAG_OPTS="$TAG_OPTS -t $DOCKERHUB_IMAGE_REPO:$TAG -t $GITHUB_IMAGE_REPO:$TAG"
printf ' %s' "$TAG"
done
echo
echo "Pushing $IMAGE image to $DOCKERHUB_IMAGE_REPO and $GITHUB_IMAGE_REPO"
make "$IMAGE" PODMAN_BUILD_OPTS="$TAG_OPTS" PODMAN_MINIMAL_BUILD_OPTS="$TAG_OPTS" PODMAN_REMOTE_BUILD_OPTS="$TAG_OPTS"
done
env:
BUILDX_OUTPUT: type=registry
PLATFORM: linux/arm64/v8,linux/amd64
GITHUB_REF: ${{ github.ref }}

- name: Create release
if: github.ref != 'refs/heads/master'
id: create_release
uses: actions/create-release@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload a Build Artifact archive amd64
uses: actions/[email protected]
with:
tag_name: ${{ github.ref }}
release_name: ${{ github.ref }}
draft: false
prerelease: true
path: ./build/asset/podman-linux-amd64.tar.gz
name: podman-linux-amd64.tar.gz

- name: Upload arm64 archive signature
if: github.ref != 'refs/heads/master'
id: upload-arm64-archive-signature
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload a Build Artifact signature amd64
uses: actions/[email protected]
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./build/asset/podman-linux-arm64.tar.gz.asc
asset_name: podman-linux-arm64.tar.gz.asc
asset_content_type: application/octet-stream
path: ./build/asset/podman-linux-amd64.tar.gz.asc
name: podman-linux-amd64.tar.gz.asc

- name: Upload arm64 archive
if: github.ref != 'refs/heads/master'
id: upload-arm64-archive
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload a Build Artifact archive aarch64
uses: actions/[email protected]
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./build/asset/podman-linux-arm64.tar.gz
asset_name: podman-linux-arm64.tar.gz
asset_content_type: application/octet-stream
path: ./build/asset/podman-linux-arm64.tar.gz
name: podman-linux-arm64.tar.gz

- name: Upload amd64 archive signature
if: github.ref != 'refs/heads/master'
id: upload-amd64-archive-signature
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
- name: Upload a Build Artifact signature aarch64
uses: actions/[email protected]
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./build/asset/podman-linux-amd64.tar.gz.asc
asset_name: podman-linux-amd64.tar.gz.asc
asset_content_type: application/octet-stream

- name: Upload amd64 archive
if: github.ref != 'refs/heads/master'
id: upload-amd64-archive
uses: actions/upload-release-asset@v1
env:
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
with:
upload_url: ${{ steps.create_release.outputs.upload_url }} # This pulls from the CREATE RELEASE step above, referencing it's ID to get its outputs object, which include a `upload_url`. See this blog post for more info: https://jasonet.co/posts/new-features-of-github-actions/#passing-data-to-future-steps
asset_path: ./build/asset/podman-linux-amd64.tar.gz
asset_name: podman-linux-amd64.tar.gz
asset_content_type: application/octet-stream

path: ./build/asset/podman-linux-arm64.tar.gz.asc
name: podman-linux-arm64.tar.gz.asc
Loading