mirror of
https://github.com/nsacyber/HIRS.git
synced 2024-12-18 20:47:58 +00:00
Files added for ACA Docker image workflow
This commit is contained in:
parent
42d785f6c4
commit
a898faa38a
25
.ci/docker/Dockerfile.acaimage
Normal file
25
.ci/docker/Dockerfile.acaimage
Normal file
@ -0,0 +1,25 @@
|
||||
FROM centos:7
|
||||
|
||||
# Install packages for installing HIRS ACA
|
||||
RUN yum -y update && yum clean all
|
||||
# install build tools for TPM2 provisioner
|
||||
RUN yum install -y epel-release cmake make git gcc-c++ doxygen graphviz protobuf-compiler cppcheck python libssh2-devel openssl libcurl-devel log4cplus-devel protobuf-devel re2-devel tpm2-tss-devel tpm2-abrmd-devel && yum clean all
|
||||
|
||||
# install build tools for ACA
|
||||
RUN yum install -y sudo yum install java-1.8.0-openjdk-devel protobuf-compiler rpm-build epel-release cmake make git gcc-c++ doxygen graphviz cppcheck python libssh2-devel openssl libcurl-devel log4cplus-devel protobuf-devel re2-devel tpm2-tss-devel tpm2-abrmd-devel trousers-devel && yum clean all
|
||||
# install run time dependencies
|
||||
RUN yum install -y mariadb-server openssl tomcat java-1.8.0-openjdk-headless rpmdevtools coreutils initscripts chkconfig sed grep wget which firewalld policycoreutils net-tools git rpm-build && yum clean all
|
||||
|
||||
# Remove TLSv1, TLSv1.1, references to prevent java security from stopping tomcat launch
|
||||
RUN sed -i 's/TLSv1,//' /usr/lib/jvm/java-1.8.0-openjdk-1.8.0*/jre/lib/security/java.security
|
||||
RUN sed -i 's/TLSv1.1,//' /usr/lib/jvm/java-1.8.0-openjdk-1.8.0*/jre/lib/security/java.security
|
||||
|
||||
RUN mkdir /hirs
|
||||
|
||||
# Expose ACA Port
|
||||
EXPOSE 8443 8080
|
||||
|
||||
COPY ../../package/rpm/RPMS/noarch/HIRS_AttestationCA*.el7.noarch.rpm /
|
||||
COPY ../../scripts/aca_image_setup.sh /
|
||||
CMD ["sh","/aca_image_setup.sh"]
|
||||
RUN yum install -y HIRS_AttestationCA*.el7.noarch.rpm
|
62
.github/workflows/build_aca_image.yml
vendored
Normal file
62
.github/workflows/build_aca_image.yml
vendored
Normal file
@ -0,0 +1,62 @@
|
||||
name: ACA Image Build Test
|
||||
on:
|
||||
release:
|
||||
types: [ published ]
|
||||
inputs:
|
||||
imagename:
|
||||
description: 'ACA Docker Image Name'
|
||||
default: 'aca-test'
|
||||
required: false
|
||||
type: string
|
||||
workflow_dispatch:
|
||||
inputs:
|
||||
imagename:
|
||||
description: 'ACA Docker Image Name'
|
||||
default: 'aca-test'
|
||||
required: false
|
||||
type: string
|
||||
jobs:
|
||||
# run the package script for HIRS ACA, Provisioners, tcg_rim_tool, and tcg_eventlog_tool
|
||||
Package:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: Set up JDK 11
|
||||
uses: actions/setup-java@v2
|
||||
with:
|
||||
java-version: '8'
|
||||
distribution: 'adopt'
|
||||
server-id: github # Value of the distributionManagement/repository/id field of the pom.xml
|
||||
settings-path: ${{ github.workspace }} # location for the settings.xml file
|
||||
package_centos:
|
||||
runs-on: ubuntu-latest
|
||||
permissions:
|
||||
contents: read
|
||||
packages: write
|
||||
steps:
|
||||
- uses: actions/checkout@v2
|
||||
- name: directory setup
|
||||
run: |
|
||||
mkdir -p artifacts/jars
|
||||
mkdir -p artifacts/wars
|
||||
mkdir -p artifacts/rpms
|
||||
- name: Create HIRS packages
|
||||
run: |
|
||||
echo ${{ secrets.GITHUB_TOKEN }} | docker login ghcr.io -u $ --password-stdin
|
||||
docker run --rm \
|
||||
-v $(pwd):/HIRS hirs/hirs-ci:centos7 /bin/bash \
|
||||
-c 'pushd /HIRS; \
|
||||
sh package/package.centos.sh; \
|
||||
cp /HIRS/package/rpm/RPMS/noarch/* /.; \
|
||||
cp /HIRS/package/rpm/RPMS/x86_64/* /.; \
|
||||
cp /HIRS/scripts/aca_image_setup.sh /.; \
|
||||
popd;' \
|
||||
- name: Build and publish a Docker image for ${{ github.repository }}
|
||||
uses: macbre/push-to-ghcr@master
|
||||
with:
|
||||
image_name: nsacyber/hirs/${{ inputs.imagename }}
|
||||
github_token: ${{ secrets.GITHUB_TOKEN }}
|
||||
dockerfile: "./.ci/docker/Dockerfile.acaimage"
|
19
scripts/aca_image_setup.sh
Normal file
19
scripts/aca_image_setup.sh
Normal file
@ -0,0 +1,19 @@
|
||||
#!/bin/bash
|
||||
|
||||
# Setup db
|
||||
|
||||
if [[ $(pgrep -c -u mysql mysqld) -ne 0 ]]; then
|
||||
echo "shutting down ..."
|
||||
usr/bin/mysqladmin -u root shutdown -p;
|
||||
fi
|
||||
|
||||
/usr/libexec/mariadb-prepare-db-dir
|
||||
nohup /usr/bin/mysqld_safe --basedir=/usr &>/dev/null &
|
||||
MYSQLD_PID=$(pgrep -u mysql mysqld)
|
||||
/usr/libexec/mariadb-wait-ready $MYSQLD_PID
|
||||
|
||||
mysql -fu root < /opt/hirs/scripts/common/db_create.sql.el7
|
||||
mysql -fu root < /opt/hirs/scripts/common/secure_mysql.sql
|
||||
|
||||
# Start tomcat
|
||||
/usr/libexec/tomcat/server start
|
Loading…
Reference in New Issue
Block a user