aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRemigiusz Janeczek <remigiusz.janeczek@nokia.com>2020-03-18 13:21:35 +0100
committerRemigiusz Janeczek <remigiusz.janeczek@nokia.com>2020-03-19 08:51:16 +0100
commitf404a66530eac7b072014af437deb1771977b1f4 (patch)
treefa3391a43eab0414aac48bf54b6cce2fb6098cb1
parentc16d738408ceef496be1d8bb1b22f6c0d868e6fc (diff)
Add certservice client to Makefile (local run)
Move files used only in local run from submodules to base dir Issue-ID: AAF-1107 Signed-off-by: Remigiusz Janeczek <remigiusz.janeczek@nokia.com> Change-Id: Ia027bfb5859fb2b316215b3f2633b51666d06280
-rw-r--r--.gitignore2
-rw-r--r--Makefile37
-rw-r--r--README.md88
-rw-r--r--certService/Makefile31
-rw-r--r--certService/README.md61
-rw-r--r--certServiceClient/docker-compose.yml59
-rw-r--r--compose-resources/client-configuration.env (renamed from certServiceClient/client_docker.env)2
-rwxr-xr-xcompose-resources/ejbca-configuration.sh (renamed from certService/src/main/resources/scripts/ejbca-configuration.sh)0
-rw-r--r--docker-compose.yml (renamed from certService/docker-compose.yml)11
9 files changed, 132 insertions, 159 deletions
diff --git a/.gitignore b/.gitignore
index 35cc9b4e..8a3ca168 100644
--- a/.gitignore
+++ b/.gitignore
@@ -2,7 +2,7 @@ target/
!**/src/main/**
!**/src/test/**
**/var
-certServiceClient/certs_volume
+compose-resources/client-volume
### STS ###
.apt_generated
diff --git a/Makefile b/Makefile
new file mode 100644
index 00000000..1e4f871c
--- /dev/null
+++ b/Makefile
@@ -0,0 +1,37 @@
+all: build start-backend run-client stop-client stop-backend
+start-with-client: start-backend run-client
+.PHONY: build
+
+build:
+ @echo "##### Build Cert Service images locally #####"
+ mvn clean install -P docker
+ @echo "##### DONE #####"
+
+start-backend:
+ @echo "##### Start Cert Service #####"
+ docker-compose up -d
+ @echo "## Configure ejbca ##"
+ docker exec aafcert-ejbca /opt/primekey/scripts/ejbca-configuration.sh
+ @echo "##### DONE #####"
+
+run-client:
+ @echo "##### Create Cert Service Client volume folder: `pwd`/compose-resources/client-volume/ #####"
+ mkdir -p `pwd`/compose-resources/client-volume/
+ @echo "##### Start Cert Service Client #####"
+ docker run \
+ --name aafcert-client \
+ --env-file ./compose-resources/client-configuration.env \
+ --network certservice_certservice \
+ --mount type=bind,src=`pwd`/compose-resources/client-volume/,dst=/var/certs \
+ onap/org.onap.aaf.certservice.aaf-certservice-client:latest
+
+stop-client:
+ @echo "##### Remove Cert Service Client #####"
+ @echo "Removing aafcert-client"
+ @docker rm aafcert-client > /dev/null 2> /dev/null || true
+ @echo "##### DONE #####"
+
+stop-backend:
+ @echo "##### Stop Cert Service #####"
+ docker-compose down
+ @echo "##### DONE #####"
diff --git a/README.md b/README.md
new file mode 100644
index 00000000..8fabbee9
--- /dev/null
+++ b/README.md
@@ -0,0 +1,88 @@
+# Cert service
+
+### General description
+
+More information about the project and all its functionalities you can find under the wiki page:
+ ```
+ https://wiki.onap.org/display/DW/AAF+Certification+Service
+ ```
+
+Project consists of two submodules:
+1. aaf-certservice-api
+2. aaf-certservice-client
+
+Detailed information about submodules can be found in ```README.md``` in their directories.
+
+### Project building
+```
+mvn clean package
+```
+
+### Install the packages into the local repository
+```
+mvn clean install
+```
+
+### Building Docker images and install packages into local repository
+```
+mvn clean install -P docker
+or
+make build
+```
+
+### Running Docker containers from docker-compose with EJBCA
+Docker-compose uses a local image of certservice-api and make run-client uses a local image of certservice-client
+Build docker images locally before running docker compose command.
+```
+1. Build local images
+make build
+2. Start Cert Service with configured EJBCA
+make start-backend
+3. Run Cert Service Client
+make run-client
+3. Remove client container
+make stop-client
+4. Stop Cert Service and EJBCA
+make stop-backend
+```
+
+### Running API with Helm
+1. Use environment/server with installed kubernetes and helm.
+2. Copy certService/helm/aaf-cert-service directory to that environment.
+3. Enter that environment
+4. Run ```helm install ./aaf-cert-service```
+
+
+### AAF CertService CSITs
+#### CSIT repository
+```
+https://gerrit.onap.org/r/admin/repos/integration/csit
+```
+
+####How to run tests locally
+1. Checkout CSIT repository
+2. Configure CSIT local environment
+3. Inside CSIT directory execute
+```
+sudo ./run-csit.sh plans/aaf/certservice
+```
+
+####Jenkins build
+https://jenkins.onap.org/view/CSIT/job/aaf-master-csit-certservice/
+
+### Sonar results
+```
+https://sonarcloud.io/dashboard?id=onap_aaf-certservice
+```
+
+### Maven artifacts
+All maven artifacts are deployed under nexus uri:
+```
+https://nexus.onap.org/content/repositories/snapshots/org/onap/aaf/certservice/
+```
+
+### Docker artifacts
+All docker images are hosted under nexus3 uri:
+```
+https://nexus3.onap.org/repository/docker.snapshot/v2/onap/org.onap.aaf.certservice.aaf-certservice-api/
+``` \ No newline at end of file
diff --git a/certService/Makefile b/certService/Makefile
deleted file mode 100644
index b1b63b4d..00000000
--- a/certService/Makefile
+++ /dev/null
@@ -1,31 +0,0 @@
-all: build start stop
-.PHONY: build
-
-build:
- @echo "##### Build Cert Service images locally #####"
- mvn clean install -P docker
- @echo "##### DONE #####"
-start:
- @echo "##### Start Cert Service #####"
- docker-compose up -d
- @echo "## Configure ejbca ##"
- docker exec aafcert-ejbca /opt/primekey/scripts/ejbca-configuration.sh
- @echo "##### DONE #####"
-stop:
- @echo "##### Stop Cert Service #####"
- docker-compose down
- @echo "##### DONE #####"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
diff --git a/certService/README.md b/certService/README.md
index 9f23504e..8e7fccc4 100644
--- a/certService/README.md
+++ b/certService/README.md
@@ -48,8 +48,6 @@ mvn clean install
### Building Docker image and install the package into local repository
```
mvn clean install -P docker
-or
-make build
```
### Running Docker container local
@@ -61,25 +59,7 @@ docker run -p 8080:8080 --name aaf-certservice-api --mount type=bind,source=/<ab
```
docker run -p 8080:8080 --name aaf-certservice-api --mount type=bind,source=/<absolute_path>/cmpServers.json,target=/etc/onap/aaf/certservice/cmpServers.json nexus3.onap.org:10001/onap/org.onap.aaf.certservice.aaf-certservice-api:1.0.0
```
-
-### Running Docker container from docker-compose with EJBCA
-Docker-compose uses a local image of certservice.
-Build a docker image locally before run docker compose command.
-```
-1. Build local image
-make build
-2. Start Cert Service with configured EJBCA
-make start
-3. Stop containers
-make stop
-```
-### Running with Helm
-1. Use environment/server with installed kubernetes and helm.
-2. Copy helm/aaf-cert-service directory to that environment.
-3. Enter that environment
-4. Run ```helm install ./aaf-cert-service```
-
### Health Check
Browser:
```
@@ -92,23 +72,6 @@ curl localhost:8080/actuator/health
```
Should return {"status":"UP"}
-### AAF CertService CSITs
-#### CSIT repository
-```
-https://gerrit.onap.org/r/admin/repos/integration/csit
-```
-
-####How to run tests locally
-1. Checkout CSIT repository
-2. Configure CSIT local environment
-3. Inside CSIT directory execute
-```
-sudo ./run-csit.sh plans/aaf/certservice
-```
-
-####Jenkins build
-https://jenkins.onap.org/view/CSIT/job/aaf-master-csit-certservice/
-
### Logs locally
path:
@@ -127,31 +90,9 @@ cd /var/log/onap/aaf/certservice
You should see:
audit.log error.log trace.log
-### Sonar results
-```
-https://sonarcloud.io/dashboard?id=onap_aaf-certservice
-```
-
-### Maven artifacts
-All maven artifacts are deployed under nexus uri:
-```
-https://nexus.onap.org/content/repositories/snapshots/org/onap/aaf/certservice/
-```
-
-### Docker artifacts
-All docker images are hosted under nexus3 uri:
-```
-https://nexus3.onap.org/repository/docker.snapshot/v2/onap/org.onap.aaf.certservice.aaf-certservice-api/
-```
-
### RestAPI
API is described by Swagger ( OpenAPI 3.0 ) on endpoint /docs
( endpoint is defined in properties as springdoc.swagger-ui.path )
```
http://localchost:8080/docs
-```
-
-### Sonar results
-```
-https://sonarcloud.io/dashboard?id=onap_aaf-certservice
-```
+``` \ No newline at end of file
diff --git a/certServiceClient/docker-compose.yml b/certServiceClient/docker-compose.yml
deleted file mode 100644
index b0c65be9..00000000
--- a/certServiceClient/docker-compose.yml
+++ /dev/null
@@ -1,59 +0,0 @@
-version: "2.1"
-
-services:
- ejbca:
- image: primekey/ejbca-ce:6.15.2.5
- hostname: cahostname
- container_name: aafcert-ejbca
- ports:
- - "80:8080"
- - "443:8443"
- volumes:
- - ../certService/src/main/resources/scripts/:/opt/primekey/scripts
- command: bash -c "
- ./scripts/ejbca-configuration.sh &
- /opt/primekey/bin/start.sh
- "
- healthcheck:
- test: ["CMD-SHELL", "curl -kI https://localhost:8443/ejbca/publicweb/healthcheck/ejbcahealth"]
- interval: 20s
- timeout: 3s
- retries: 9
- networks:
- - certservice
-
- certservice:
- image: onap/org.onap.aaf.certservice.aaf-certservice-api:latest
- volumes:
- - ../certService/helm/aaf-cert-service/resources/cmpServers.json:/etc/onap/aaf/certservice/cmpServers.json
- container_name: aafcert-service
- ports:
- - "8080:8080"
- depends_on:
- ejbca:
- condition: service_healthy
- healthcheck:
- test: ["CMD-SHELL", "curl -f http://localhost:8080/actuator/health"]
- interval: 10s
- timeout: 3s
- retries: 9
- networks:
- - certservice
-
- certservice-client:
- image: onap/org.onap.aaf.certservice.aaf-certservice-client:latest
- container_name: aafcert-client
- env_file:
- - ./client_docker.env
- user: root #Run as root to avoid volume permission issues
- volumes:
- - ./certs_volume/:/var/certs
- depends_on:
- certservice:
- condition: service_healthy
- networks:
- - certservice
-
-networks:
- certservice:
- driver: bridge
diff --git a/certServiceClient/client_docker.env b/compose-resources/client-configuration.env
index f2697173..e79aa618 100644
--- a/certServiceClient/client_docker.env
+++ b/compose-resources/client-configuration.env
@@ -1,5 +1,5 @@
#Client envs
-REQUEST_URL=http://certservice:8080/v1/certificate/
+REQUEST_URL=http://aafcert-service:8080/v1/certificate/
REQUEST_TIMEOUT=1000
OUTPUT_PATH=/var/certs
CA_NAME=RA
diff --git a/certService/src/main/resources/scripts/ejbca-configuration.sh b/compose-resources/ejbca-configuration.sh
index 77f5c555..77f5c555 100755
--- a/certService/src/main/resources/scripts/ejbca-configuration.sh
+++ b/compose-resources/ejbca-configuration.sh
diff --git a/certService/docker-compose.yml b/docker-compose.yml
index 2f4f4b4a..851ad317 100644
--- a/certService/docker-compose.yml
+++ b/docker-compose.yml
@@ -9,23 +9,20 @@ services:
- "80:8080"
- "443:8443"
volumes:
- - ./src/main/resources/scripts/:/opt/primekey/scripts
- command: bash -c "
- /opt/primekey/bin/start.sh
- "
+ - ./compose-resources/ejbca-configuration.sh:/opt/primekey/scripts/ejbca-configuration.sh
healthcheck:
test: ["CMD-SHELL", "curl -kI https://localhost:8443/ejbca/publicweb/healthcheck/ejbcahealth"]
interval: 10s
timeout: 3s
- retries: 9
+ retries: 15
networks:
- certservice
certservice:
image: onap/org.onap.aaf.certservice.aaf-certservice-api:latest
- volumes:
- - ./helm/aaf-cert-service/resources/cmpServers.json:/etc/onap/aaf/certservice/cmpServers.json
container_name: aafcert-service
+ volumes:
+ - ./certService/helm/aaf-cert-service/resources/cmpServers.json:/etc/onap/aaf/certservice/cmpServers.json
ports:
- "8080:8080"
depends_on: