aboutsummaryrefslogtreecommitdiffstats
path: root/tutorials/tutorial-xacml-application/src/main/docker/README.md
blob: 33c9166a337dc82307f84b3391c617a4bc36cb1f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
# Running Docker XACML Tutorial

## Building XACML Tutorial Docker Image

 1. ```cd /policy-xacml-pdp/tutorials/tutorial-xacml-application```
 2. ```mvn clean install -Dmaven.test.skip=true -DskipTests -DskipIntegrationTests -DskipUnitTests -Dcheckstyle.skip -P docker```

## Running the Tutorial (Automatically)
```./run-tutorial.sh```

## Running the Tutorial (Manually)
### Setting Up and Starting from policy/docker components

 1. Clone ```https://git.onap.org/policy/docker/```
 2. ```cd /docker```
 3. Run the following to set the containers location, project, branch, and version:
	- ```export CONTAINER_LOCATION=nexus3.onap.org:10001/```
	- ```export PROJECT=pap```
	- ```export GERRIT_BRANCH=master```
	- ```get-branch.sh```
	- ```get-versions.sh```
 4. Run ```docker image ls```
	- Take note of the REPOSITORY ```onap/policy/xacml-tutorial``` and its ```TAG```
	- This refers to the image from our `mvn clean install` from above
 5. Edit ```docker-compose-all.sh```
	- Replace xacml-pdp image with the format "REPOSITORY:TAG" as noted in Step 4
		- ex. image: ```onap/policy-xacml-tutorial:3.1.1-SNAPSHOT```

### Running the Containers and Testing

Run ```./compose/start-compose.sh xacml-pdp```

### Triggering policy notification update

Run python script ```kafka_producer.py``` under docker repository with topic name and message as parameters.
i.e. ```python3 /docker/csit/resources/tests/kafka_producer.py POLICY-PDP-PAP "message"```
(update "message" to the usual json body)

## Verification Example Calls

Verify that the components are accessible:

 1. ```curl -k -u 'healthcheck:zb!XztG34' 'https://0.0.0.0:6969/policy/pdpx/v1/healthcheck'```
    - Should return JSON similar to this: ```{"name":"Policy Xacml PDP","url":"self","healthy":true,"code":200,"message":"alive"}```

 2. ```curl -k -u 'healthcheck:zb!XztG34' 'https://0.0.0.0:6767/policy/api/v1/healthcheck'```
    - Should return JSON similar to this: ```{"name": "Policy API","url": "policy-api","healthy": true,"code": 200,"message": "alive"}```

 3. ```curl -k -u 'healthcheck:zb!XztG34' 'https://0.0.0.0:6868/policy/pap/v1/healthcheck'```
    - Should return JSON similar to this: ```{"name": "Policy PAP","url": "policy-pap","healthy": true,"code": 200,"message": "alive"}```

## POSTMAN Collection

You can find the collection under ```/policy-xacml-pdp/tutorials/tutorial-xacml-application/postman/```