Added create table sql statement to the policy-pdpx.sh to create the operationshistory table during
xacml-pdp installation
Added changes per Jorge's review
1) Added sql file with create table statement
2) Added bash script to execute sql file
3) modified policy-pdpx.sh to execute new bash script
4) other changes
Change-Id: Iaae63dc65db1ff9181de12928e072f04c87e50e7
Issue-ID: POLICY-1827
Signed-off-by: Michael Mokry <michael.mokry@att.com>
ENV POLICY_LOGS ${POLICY_LOGS}
ENV POLICY_HOME=/opt/app/policy/pdpx
-
+RUN apk add --no-cache mariadb-client
RUN mkdir -p ${POLICY_HOME} ${POLICY_LOGS} ${POLICY_HOME}/etc/ssl ${POLICY_HOME}/bin ${POLICY_HOME}/apps && \
- chown -R policy:policy ${POLICY_HOME} ${POLICY_LOGS}
+ chown -R policy:policy ${POLICY_HOME} ${POLICY_LOGS} && mkdir /packages
-RUN mkdir /packages
COPY /maven/* /packages
RUN tar xvfz /packages/policy-xacmlpdp.tar.gz --directory ${POLICY_HOME} && \
rm /packages/policy-xacmlpdp.tar.gz
fi
if [ "$#" -ge 2 ]; then
- PROP_FILE=$2
+ PROP_FILE=$2
else
- PROP_FILE=${PROP_FILE}
+ PROP_FILE=${PROP_FILE}
fi
if [ -z "$CONFIG_FILE" ]
cp -f "${POLICY_HOME}"/etc/mounted/xacml.properties "${POLICY_HOME}"/apps/guard/
fi
+# Create operationshistory table
+${POLICY_HOME}/mysql/bin/create-guard-table.sh
+
echo "Policy Xacml PDP config file: $CONFIG_FILE"
echo "Policy Xacml PDP topic properties file: $PROP_FILE"
<outputDirectory>/etc/ssl</outputDirectory>
<lineEnding>keep</lineEnding>
</fileSet>
+ <fileSet>
+ <directory>${project.basedir}/src/main/resources/mysql/bin
+ </directory>
+ <includes>
+ <include>*.sh</include>
+ </includes>
+ <outputDirectory>/mysql/bin</outputDirectory>
+ <lineEnding>unix</lineEnding>
+ </fileSet>
+ <fileSet>
+ <directory>${project.basedir}/src/main/resources/mysql/sql
+ </directory>
+ <includes>
+ <include>*.sql</include>
+ </includes>
+ <outputDirectory>/mysql/sql</outputDirectory>
+ <lineEnding>unix</lineEnding>
+ </fileSet>
<fileSet>
<directory>${project.basedir}/src/main/resources/apps/guard
</directory>
--- /dev/null
+#!/bin/bash -xv
+#
+# ============LICENSE_START=======================================================
+# Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+# ================================================================================
+# 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.
+#
+# SPDX-License-Identifier: Apache-2.0
+# ============LICENSE_END=========================================================
+#
+SQL_FILE="${POLICY_HOME}/mysql/sql/createguardtable.sql"
+
+mysql -upolicy_user -ppolicy_user < "${SQL_FILE}"
--- /dev/null
+-- ============LICENSE_START=======================================================
+-- Copyright (C) 2019 AT&T Intellectual Property. All rights reserved.
+-- ================================================================================
+-- 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=========================================================
+
+use operationshistory;
+
+create table if not exists operationshistory (
+ id int(11) not null auto_increment,
+ closedLoopName varchar(255) not null,
+ requestId varchar(50),
+ actor varchar(50) not null,
+ operation varchar(50) not null,
+ target varchar(50) not null,
+ starttime timestamp not null,
+ outcome varchar(50) not null,
+ message varchar(255),
+ subrequestId varchar(50),
+ endtime timestamp not null default current_timestamp,
+ PRIMARY KEY (id)
+);
\ No newline at end of file