From 857b3d0e65f1a37000d12d6df8d7e5a917e15b23 Mon Sep 17 00:00:00 2001 From: Jan Malkiewicz Date: Mon, 2 Nov 2020 14:53:30 +0100 Subject: [PATCH] [OOM-K8S-CERT-EXTERNAL-PROVIDER] Configuration for local development Issue-ID: OOM-2559 Signed-off-by: Jan Malkiewicz Change-Id: I5ee38593cff665dc7d0e0d17f4df569be129d778 --- certServiceK8sExternalProvider/.gitignore | 1 + certServiceK8sExternalProvider/Dockerfile | 6 ++-- certServiceK8sExternalProvider/Makefile | 22 +++++++++++-- .../deploy/deployment.yaml | 10 +++--- certServiceK8sExternalProvider/dev/Dockerfile.dev | 38 ++++++++++++++++++++++ 5 files changed, 66 insertions(+), 11 deletions(-) create mode 100644 certServiceK8sExternalProvider/dev/Dockerfile.dev diff --git a/certServiceK8sExternalProvider/.gitignore b/certServiceK8sExternalProvider/.gitignore index 7281d290..34d77f6e 100644 --- a/certServiceK8sExternalProvider/.gitignore +++ b/certServiceK8sExternalProvider/.gitignore @@ -1,2 +1,3 @@ bin +dev/certs .tmp_pack_folder* diff --git a/certServiceK8sExternalProvider/Dockerfile b/certServiceK8sExternalProvider/Dockerfile index 716231cf..f2595cce 100644 --- a/certServiceK8sExternalProvider/Dockerfile +++ b/certServiceK8sExternalProvider/Dockerfile @@ -38,11 +38,11 @@ COPY main.go main.go COPY src/ ./src # Build -RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -a -o oom-certservice-k8s-external-provider main.go +RUN CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -a -o oom-certservice-cmpv2issuer main.go # Runtime container definition FROM gcr.io/distroless/static:latest WORKDIR / -COPY --from=builder /workspace/oom-certservice-k8s-external-provider . -ENTRYPOINT ["/oom-certservice-k8s-external-provider"] +COPY --from=builder /workspace/oom-certservice-cmpv2issuer . +ENTRYPOINT ["/oom-certservice-cmpv2issuer"] diff --git a/certServiceK8sExternalProvider/Makefile b/certServiceK8sExternalProvider/Makefile index ac353934..b8f5f6fc 100644 --- a/certServiceK8sExternalProvider/Makefile +++ b/certServiceK8sExternalProvider/Makefile @@ -17,16 +17,32 @@ # ============LICENSE_END========================================================= # +ip_addr=$(shell hostname -I | awk '{print $$1}') +cmpv2_issuer_pod_id=$(shell kubectl -n onap get po | grep cmpv2issuer | awk '{print $$1}') build: - go build -v -o bin/oom-certservice-k8s-external-provider + CGO_ENABLED=0 GOOS=linux GOARCH=amd64 GO111MODULE=on go build -v -o bin/oom-certservice-cmpv2issuer test: build go test ./... build-docker-image: - docker build -t onap/oom-certservice-k8s-external-provider . + docker build -t onap/oom-certservice-cmpv2issuer:latest . run-docker-image: - docker run -it onap/oom-certservice-k8s-external-provider + docker run -it onap/oom-certservice-cmpv2issuer:latest +dev-copy-certs: + mkdir -p dev/certs + cp ../certs/cmpv2Issuer-cert.pem dev/certs/cmpv2Issuer-cert.pem + cp ../certs/cmpv2Issuer-key.pem dev/certs/cmpv2Issuer-key.pem + cp ../certs/cacert.pem dev/certs/cacert.pem + +dev-build-docker-image: build dev-copy-certs + docker build -t onap-dev/cmpv2issuer:latest . -f dev/Dockerfile.dev + +dev-run-docker-image: + docker run -it onap-dev/cmpv2issuer:latest + +dev-update-docker-hosts-file: + kubectl exec -it -n onap ${cmpv2_issuer_pod_id} -c kube-rbac-proxy -- sh -c "echo '$(ip_addr) oom-cert-service' >> /etc/hosts" diff --git a/certServiceK8sExternalProvider/deploy/deployment.yaml b/certServiceK8sExternalProvider/deploy/deployment.yaml index 3e21dc2e..20dd65a8 100644 --- a/certServiceK8sExternalProvider/deploy/deployment.yaml +++ b/certServiceK8sExternalProvider/deploy/deployment.yaml @@ -32,7 +32,7 @@ metadata: prometheus.io/scrape: "true" labels: control-plane: controller-manager - name: certservice-issuer-controller-manager-metrics-service + name: oom-certservice-cmpv2issuer-metrics-service namespace: onap spec: ports: @@ -47,7 +47,7 @@ kind: Deployment metadata: labels: control-plane: controller-manager - name: certservice-issuer-controller-manager + name: oom-certservice-cmpv2issuer namespace: onap spec: replicas: 1 @@ -73,9 +73,9 @@ spec: - args: - --metrics-addr=127.0.0.1:8080 command: - - /oom-certservice-k8s-external-provider - image: onap/oom-certservice-k8s-external-provider:1.0.0 - name: oom-certservice-k8s-external-provider + - /oom-certservice-cmpv2issuer + image: onap/oom-certservice-cmpv2issuer:1.0.0 + name: provider resources: limits: cpu: 250m diff --git a/certServiceK8sExternalProvider/dev/Dockerfile.dev b/certServiceK8sExternalProvider/dev/Dockerfile.dev new file mode 100644 index 00000000..29c960b9 --- /dev/null +++ b/certServiceK8sExternalProvider/dev/Dockerfile.dev @@ -0,0 +1,38 @@ +# ============LICENSE_START======================================================= +# oom-certservice-k8s-external-provider +# ================================================================================ +# Copyright (C) 2020 Nokia. All rights reserved. +# ================================================================================ +# This source code was copied from the following git repository: +# https://github.com/smallstep/step-issuer +# The source code was modified for usage in the ONAP project. +# ================================================================================ +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# ============LICENSE_END========================================================= +# + +# You can easily switch between PROD image (gcr.io) and DEV image (alpine) +#FROM gcr.io/distroless/static:latest +FROM alpine:latest +RUN apk add --no-cache bash sudo vim curl jq + +RUN mkdir /certs + +COPY dev/certs/cmpv2Issuer-cert.pem /certs/cmpv2Issuer-cert.pem +COPY dev/certs/cmpv2Issuer-key.pem /certs/cmpv2Issuer-key.pem +COPY dev/certs/cacert.pem /certs/cacert.pem + +WORKDIR / +COPY bin/oom-certservice-cmpv2issuer /oom-certservice-cmpv2issuer + +ENTRYPOINT ["/oom-certservice-cmpv2issuer"] -- 2.16.6