Skip to content

Commit

Permalink
Merge pull request #45 from kubeflow/main
Browse files Browse the repository at this point in the history
[pull] main from kubeflow:main
  • Loading branch information
openshift-merge-bot[bot] committed Apr 16, 2024
2 parents a1ee20b + 5f7fac0 commit 6f72a00
Show file tree
Hide file tree
Showing 8 changed files with 71 additions and 38 deletions.
2 changes: 2 additions & 0 deletions .dockerignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,2 @@
bin
include
4 changes: 4 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -34,3 +34,7 @@ log.html
output.xml
report.html
__pycache__

# Protoc files
include/
readme.txt
16 changes: 5 additions & 11 deletions Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -19,25 +19,19 @@ RUN yum install -y nodejs npm java-11
# Copy the go source
COPY ["Makefile", "main.go", ".openapi-generator-ignore", "openapitools.json", "./"]

# Download protoc compiler v24.3
RUN wget -q https://github.com/protocolbuffers/protobuf/releases/download/v24.3/protoc-24.3-linux-x86_64.zip -O protoc.zip && \
unzip -q protoc.zip && \
bin/protoc --version && \
rm protoc.zip

# Download tools
RUN make deps

# Copy rest of the source
COPY bin/ bin/
COPY .git/ .git/
COPY cmd/ cmd/
COPY api/ api/
COPY internal/ internal/
COPY pkg/ pkg/
COPY scripts/ scripts/
COPY pkg/ pkg/
COPY patches/ patches/
COPY templates/ templates/

# Download tools
RUN make deps

# Build
USER root
RUN CGO_ENABLED=1 GOOS=linux GOARCH=amd64 make clean model-registry
Expand Down
44 changes: 26 additions & 18 deletions Makefile
Original file line number Diff line number Diff line change
Expand Up @@ -2,6 +2,7 @@
MKFILE_PATH := $(abspath $(lastword $(MAKEFILE_LIST)))
PROJECT_PATH := $(patsubst %/,%,$(dir $(MKFILE_PATH)))
PROJECT_BIN := $(PROJECT_PATH)/bin
GO := $(PROJECT_BIN)/go1.19

# add tools bin directory
PATH := $(PROJECT_BIN):$(PATH)
Expand Down Expand Up @@ -56,7 +57,7 @@ api/grpc/ml_metadata/proto/metadata_store_service.proto:
sed -i 's#syntax = "proto[23]";#&\noption go_package = "github.com/kubeflow/model-registry/internal/ml_metadata/proto";#' metadata_store_service.proto

internal/ml_metadata/proto/%.pb.go: api/grpc/ml_metadata/proto/%.proto
protoc -I./api/grpc --go_out=./internal --go_opt=paths=source_relative \
bin/protoc -I./api/grpc --go_out=./internal --go_opt=paths=source_relative \
--go-grpc_out=./internal --go-grpc_opt=paths=source_relative $<

.PHONY: gen/grpc
Expand All @@ -76,8 +77,8 @@ openapi/validate: bin/openapi-generator-cli
# generate the openapi server implementation
.PHONY: gen/openapi-server
gen/openapi-server: bin/openapi-generator-cli openapi/validate
@if git diff --cached --name-only | grep -q "api/openapi/model-registry.yaml" || \
git diff --name-only | grep -q "api/openapi/model-registry.yaml" || \
@if git diff --exit-code --name-only | grep -q "api/openapi/model-registry.yaml" || \
git diff --exit-code --name-only | grep -q "api/openapi/model-registry.yaml" || \
[ -n "${FORCE_SERVER_GENERATION}" ]; then \
ROOT_FOLDER="." ./scripts/gen_openapi_server.sh; \
else \
Expand All @@ -97,7 +98,7 @@ pkg/openapi/client.go: bin/openapi-generator-cli api/openapi/model-registry.yaml

.PHONY: vet
vet:
go vet ./...
${GO} vet ./...

.PHONY: clean
clean:
Expand All @@ -107,22 +108,29 @@ clean:
clean/odh:
rm -Rf ./model-registry

bin/go:
GOBIN=$(PROJECT_BIN) go install golang.org/dl/go1.19@latest
$(PROJECT_BIN)/go1.19 download

bin/protoc:
./scripts/install_protoc.sh

bin/go-enum:
GOBIN=$(PROJECT_BIN) go install github.com/searKing/golang/tools/go-enum@v1.2.97
GOBIN=$(PROJECT_BIN) ${GO} install github.com/searKing/golang/tools/go-enum@v1.2.97

bin/protoc-gen-go:
GOBIN=$(PROJECT_BIN) go install google.golang.org/protobuf/cmd/protoc-gen-go@v1.31.0
GOBIN=$(PROJECT_BIN) ${GO} install google.golang.org/protobuf/cmd/protoc-gen-go@v1.31.0

bin/protoc-gen-go-grpc:
GOBIN=$(PROJECT_BIN) go install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0
GOBIN=$(PROJECT_BIN) ${GO} install google.golang.org/grpc/cmd/protoc-gen-go-grpc@v1.3.0

GOLANGCI_LINT ?= ${PROJECT_BIN}/golangci-lint
bin/golangci-lint:
curl -sSfL https://raw.githubusercontent.com/golangci/golangci-lint/master/install.sh | sh -s -- -b $(PROJECT_BIN) v1.54.2

GOVERTER ?= ${PROJECT_BIN}/goverter
bin/goverter:
GOBIN=$(PROJECT_PATH)/bin go install github.com/jmattheis/goverter/cmd/goverter@v1.1.1
GOBIN=$(PROJECT_PATH)/bin ${GO} install github.com/jmattheis/goverter/cmd/goverter@v1.1.1

OPENAPI_GENERATOR ?= ${PROJECT_BIN}/openapi-generator-cli
NPM ?= "$(shell which npm)"
Expand All @@ -147,23 +155,23 @@ clean/deps:
rm -Rf bin/*

.PHONY: deps
deps: bin/go-enum bin/protoc-gen-go bin/protoc-gen-go-grpc bin/golangci-lint bin/goverter bin/openapi-generator-cli
deps: bin/go bin/protoc bin/go-enum bin/protoc-gen-go bin/protoc-gen-go-grpc bin/golangci-lint bin/goverter bin/openapi-generator-cli

.PHONY: vendor
vendor:
go mod vendor
${GO} mod vendor

.PHONY: build
build: gen vet lint
go build
${GO} build -buildvcs=false

.PHONY: build/odh
build/odh: vet
go build
${GO} build -buildvcs=false

.PHONY: gen
gen: deps gen/grpc gen/openapi gen/openapi-server gen/converter
go generate ./...
${GO} generate ./...

.PHONY: lint
lint:
Expand All @@ -172,20 +180,20 @@ lint:

.PHONY: test
test: gen
go test ./internal/... ./pkg/...
${GO} test ./internal/... ./pkg/...

.PHONY: test-nocache
test-nocache: gen
go test ./internal/... ./pkg/... -count=1
${GO} test ./internal/... ./pkg/... -count=1

.PHONY: test-cover
test-cover: gen
go test ./internal/... ./pkg/... -coverprofile=coverage.txt
go tool cover -html=coverage.txt -o coverage.html
${GO} test ./internal/... ./pkg/... -coverprofile=coverage.txt
${GO} tool cover -html=coverage.txt -o coverage.html

.PHONY: run/proxy
run/proxy: gen
go run main.go proxy --logtostderr=true
${GO} run main.go proxy --logtostderr=true

.PHONY: proxy
proxy: build
Expand Down
9 changes: 5 additions & 4 deletions clients/python/poetry.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

7 changes: 4 additions & 3 deletions docker-compose-local.yaml
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
version: '3'
version: '3.4'
services:
mlmd-server:
image: gcr.io/tfx-oss-public/ml_metadata_store_server:1.14.0
Expand All @@ -13,8 +13,9 @@ services:
build:
context: .
dockerfile: Dockerfile
command: ["proxy", "--mlmd-hostname", "localhost", "--mlmd-port", "9090"]
command: ["proxy", "--hostname", "0.0.0.0", "--mlmd-hostname", "mlmd-server", "--mlmd-port", "8080"]
container_name: model-registry
network_mode: host
ports:
- "8080:8080"
depends_on:
- mlmd-server
5 changes: 3 additions & 2 deletions docker-compose.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -11,8 +11,9 @@ services:
- ./test/config/ml-metadata:/tmp/shared
model-registry:
image: quay.io/opendatahub/model-registry:latest
command: ["proxy", "--mlmd-hostname", "localhost", "--mlmd-port", "9090"]
command: ["proxy", "--hostname", "0.0.0.0", "--mlmd-hostname", "mlmd-server", "--mlmd-port", "8080"]
container_name: model-registry
network_mode: host
ports:
- "8080:8080"
depends_on:
- mlmd-server
22 changes: 22 additions & 0 deletions scripts/install_protoc.sh
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
#! /bin/bash
set -euxo pipefail

SCRIPT_DIR=$( cd -- "$( dirname -- "${BASH_SOURCE[0]}" )" &> /dev/null && pwd )

VERSION="24.3"
OS="linux"
if [[ "$OSTYPE" == "darwin"* ]]; then
# Mac OSX
OS="osx"
fi
ARCH="x86_64"
if [[ "$(uname -m)" == "arm"* ]]; then
ARCH="aarch_64"
fi

mkdir -p ${SCRIPT_DIR}/../bin

wget -q https://github.com/protocolbuffers/protobuf/releases/download/v${VERSION}/protoc-${VERSION}-${OS}-${ARCH}.zip -O ${SCRIPT_DIR}/../protoc.zip && \
unzip -qo ${SCRIPT_DIR}/../protoc.zip -d ${SCRIPT_DIR}/.. && \
bin/protoc --version && \
rm ${SCRIPT_DIR}/../protoc.zip

0 comments on commit 6f72a00

Please sign in to comment.