Skip to content

Commit 6cf500f

Browse files
committed
fix some container and build issues (#200)
* upgrade to latest gocui, fixes mouse bug when run from container * fix pktvisor-cli docker build and runtime * rename pktvisord-slim docker image to pktvisord * add option to run only version code
1 parent e482e12 commit 6cf500f

File tree

6 files changed

+34
-30
lines changed

6 files changed

+34
-30
lines changed

.github/workflows/static_build.yml

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -49,17 +49,17 @@ jobs:
4949
run: echo ${{ env.VERSION }}
5050

5151
- name: Generate ref tag (master)
52-
if: github.event_name != 'pull_request' && ${{ env.BRANCH_NAME == 'master' }}
52+
if: github.event_name != 'pull_request' && env.BRANCH_NAME == 'master'
5353
run: |
5454
echo "REF_TAG=latest" >> $GITHUB_ENV
5555
5656
- name: Generate ref tag (develop)
57-
if: github.event_name != 'pull_request' && ${{ env.BRANCH_NAME == 'develop' }}
57+
if: github.event_name != 'pull_request' && env.BRANCH_NAME == 'develop'
5858
run: |
5959
echo "REF_TAG=latest-develop" >> $GITHUB_ENV
6060
6161
- name: Generate ref tag (release candidate)
62-
if: github.event_name != 'pull_request' && ${{ env.BRANCH_NAME == 'release' }}
62+
if: github.event_name != 'pull_request' && env.BRANCH_NAME == 'release'
6363
run: |
6464
echo "REF_TAG=latest-rc" >> $GITHUB_ENV
6565
@@ -78,7 +78,7 @@ jobs:
7878
if: github.event_name != 'pull_request'
7979
env:
8080
BASE_BINARY: pktvisord
81-
IMAGE_NAME: ns1labs/pktvisord-slim
81+
IMAGE_NAME: ns1labs/pktvisord
8282
run: |
8383
docker build -f docker/Dockerfile.${{ env.BASE_BINARY }}-static -t ${{ env.IMAGE_NAME }}:${{ env.REF_TAG }} -t ${{ env.IMAGE_NAME }}:${{ env.VERSION }} .
8484
docker push -a ${{ env.IMAGE_NAME }}
@@ -88,7 +88,7 @@ jobs:
8888
if: github.event_name != 'pull_request'
8989
env:
9090
BASE_BINARY: pktvisord
91-
IMAGE_NAME: ns1labs/pktvisord-slim
91+
IMAGE_NAME: ns1labs/pktvisord
9292
run: |
9393
docker cp ${{ env.CONT_ID }}:/${{ env.BASE_BINARY }} ${{github.workspace}}/${{ env.BASE_BINARY }}-linux-x86_64-${{ env.VERSION }}
9494

CMakeLists.txt

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,20 @@ if(VISOR_PRERELEASE STREQUAL "-develop" OR VISOR_PRERELEASE STREQUAL "-rc")
3434
string(APPEND VISOR_PRERELEASE "-${SHORT_HASH}")
3535
endif()
3636

37-
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
38-
3937
# these are computed
4038
set(VISOR_VERSION_NUM "${PROJECT_VERSION}${VISOR_PRERELEASE}")
4139
set(VISOR_VERSION "pktvisor ${PROJECT_VERSION}${VISOR_PRERELEASE}")
4240

4341
# used in CI
4442
file(WRITE ${CMAKE_BINARY_DIR}/VERSION ${VISOR_VERSION_NUM})
45-
######
43+
# golang version
44+
configure_file(golang/pkg/client/version.go.in ${CMAKE_SOURCE_DIR}/golang/pkg/client/version.go)
45+
46+
####### end version code #######
47+
48+
if(NOT DEFINED ENV{VERSION_ONLY})
49+
50+
list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")
4651

4752
set(CMAKE_CXX_STANDARD 17)
4853
set(CMAKE_CXX_STANDARD_REQUIRED ON)
@@ -127,5 +132,4 @@ add_subdirectory(src)
127132
add_subdirectory(cmd)
128133
add_subdirectory(integration_tests)
129134

130-
# golang version
131-
configure_file(golang/pkg/client/version.go.in ${CMAKE_SOURCE_DIR}/golang/pkg/client/version.go)
135+
endif()

docker/Dockerfile.pktvisor-cli

Lines changed: 5 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -10,32 +10,23 @@ RUN \
1010

1111
# need git for current hash for VERSION
1212
COPY ./.git/ /pktvisor-src/.git/
13-
COPY ./src/ /pktvisor-src/src/
14-
COPY ./cmd/ /pktvisor-src/cmd/
15-
COPY ./3rd/ /pktvisor-src/3rd/
1613
COPY ./golang/ /pktvisor-src/golang/
17-
COPY ./integration_tests/ /pktvisor-src/integration_tests/
18-
COPY ./cmake/ /pktvisor-src/cmake/
1914
COPY ./CMakeLists.txt /pktvisor-src/
20-
COPY ./conanfile.txt /pktvisor-src/
2115

2216
WORKDIR /tmp/build
23-
RUN \
24-
conan profile new --detect default && \
25-
conan profile update settings.compiler.libcxx=libstdc++11 default && \
26-
conan config set general.revisions_enabled=1
2717

2818
# ONLY run cmake configure to get version need for go build (no c++ build)
29-
RUN cmake -DCMAKE_BUILD_TYPE=Release /pktvisor-src
19+
RUN VERSION_ONLY=1 cmake /pktvisor-src
3020

3121
FROM golang:latest AS gobuild
3222
COPY golang/ /src/
3323
WORKDIR /src/
3424
COPY --from=cppbuild /pktvisor-src/golang/pkg/client/version.go /src/pkg/client/version.go
35-
RUN go build -o pktvisor-cli cmd/pktvisor-cli/main.go
25+
RUN CGO_ENABLED=0 go build -o pktvisor-cli cmd/pktvisor-cli/main.go
3626

37-
FROM scratch AS runtime
27+
FROM alpine:latest AS runtime
3828

3929
COPY --from=gobuild /src/pktvisor-cli /pktvisor-cli
30+
COPY docker/entry-cli.sh /
4031

41-
ENTRYPOINT [ "/pktvisor-cli" ]
32+
ENTRYPOINT [ "/entry-cli.sh" ]

docker/entry-cli.sh

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
#!/bin/sh
2+
# this is the entry point to the docker container, and is only used there
3+
set -e
4+
export PATH=$PATH:/usr/local/bin/:/usr/local/sbin/
5+
6+
# Add sleep to allow tty to be ready for Docker when using -it
7+
echo "starting pktvisor-cli..."
8+
sleep 1
9+
10+
exec /pktvisor-cli

golang/go.mod

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -3,8 +3,7 @@ module pktvisor
33
go 1.15
44

55
require (
6-
github.com/jroimartin/gocui v0.4.0
6+
github.com/jroimartin/gocui v0.5.0
77
github.com/mitchellh/mapstructure v1.4.2
8-
github.com/nsf/termbox-go v0.0.0-20201124104050-ed494de23a00 // indirect
98
github.com/pkg/errors v0.9.1
109
)

golang/go.sum

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,10 @@
1-
github.com/jroimartin/gocui v0.4.0 h1:52jnalstgmc25FmtGcWqa0tcbMEWS6RpFLsOIO+I+E8=
2-
github.com/jroimartin/gocui v0.4.0/go.mod h1:7i7bbj99OgFHzo7kB2zPb8pXLqMBSQegY7azfqXMkyY=
1+
github.com/jroimartin/gocui v0.5.0 h1:DCZc97zY9dMnHXJSJLLmx9VqiEnAj0yh0eTNpuEtG/4=
2+
github.com/jroimartin/gocui v0.5.0/go.mod h1:l7Hz8DoYoL6NoYnlnaX6XCNR62G7J5FfSW5jEogzaxE=
33
github.com/mattn/go-runewidth v0.0.9 h1:Lm995f3rfxdpd6TSmuVCHVb/QhupuXlYr8sCI/QdE+0=
44
github.com/mattn/go-runewidth v0.0.9/go.mod h1:H031xJmbD/WCDINGzjvQ9THkh0rPKHF+m2gUSrubnMI=
55
github.com/mitchellh/mapstructure v1.4.2 h1:6h7AQ0yhTcIsmFmnAwQls75jp2Gzs4iB8W7pjMO+rqo=
66
github.com/mitchellh/mapstructure v1.4.2/go.mod h1:bFUtVrKA4DC2yAKiSyO/QUcy7e+RRV2QTWOzhPopBRo=
7-
github.com/nsf/termbox-go v0.0.0-20201124104050-ed494de23a00 h1:Rl8NelBe+n7SuLbJyw13ho7CGWUt2BjGGKIoreCWQ/c=
8-
github.com/nsf/termbox-go v0.0.0-20201124104050-ed494de23a00/go.mod h1:T0cTdVuOwf7pHQNtfhnEbzHbcNyCEcVU4YPpouCbVxo=
7+
github.com/nsf/termbox-go v1.1.1 h1:nksUPLCb73Q++DwbYUBEglYBRPZyoXJdrj5L+TkjyZY=
8+
github.com/nsf/termbox-go v1.1.1/go.mod h1:T0cTdVuOwf7pHQNtfhnEbzHbcNyCEcVU4YPpouCbVxo=
99
github.com/pkg/errors v0.9.1 h1:FEBLx1zS214owpjy7qsBeixbURkuhQAwrK5UwLGTwt4=
1010
github.com/pkg/errors v0.9.1/go.mod h1:bwawxfHBFNV+L2hUp1rHADufV3IMtnDRdf1r5NINEl0=

0 commit comments

Comments
 (0)