Merge branch 'main' into main

This commit is contained in:
Jeevan Reddy Ragula
2022-06-28 11:50:22 +05:30
committed by GitHub
18 changed files with 441 additions and 9 deletions
+2 -2
View File
@@ -41,9 +41,9 @@ jobs:
# https://github.com/sigstore/cosign-installer
- name: Install cosign
if: github.event_name != 'pull_request'
uses: sigstore/cosign-installer@d6a3abf1bdea83574e28d40543793018b6035605
uses: sigstore/cosign-installer@7e0881f8fe90b25e305bbf0309761e9314607e25
with:
cosign-release: 'v1.7.1'
cosign-release: 'v1.9.0'
# Workaround: https://github.com/docker/build-push-action/issues/461
+35
View File
@@ -0,0 +1,35 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow lets you compile your Go project using a SLSA3 compliant builder.
# This workflow will generate a so-called "provenance" file describing the steps
# that were performed to generate the final binary.
# The project is an initiative of the OpenSSF (openssf.org) and is developed at
# https://github.com/slsa-framework/slsa-github-generator.
# The provenance file can be verified using https://github.com/slsa-framework/slsa-verifier.
# For more information about SLSA and how it improves the supply-chain, visit slsa.dev.
name: SLSA Go releaser
on:
workflow_dispatch:
release:
types: [created]
permissions: read-all
jobs:
build:
permissions:
id-token: write # To sign.
contents: write # To upload release assets.
actions: read # To read workflow path.
# If you need more configuration options, such as ldflag examples,
# visit https://github.com/slsa-framework/slsa-github-generator#golang-projects.
uses: slsa-framework/slsa-github-generator/.github/workflows/builder_go_slsa3.yml@v1.1.1
with:
# By default, the config file is .slsa-goreleaser.yml in the root directory.
# The format of the config file is described in
# https://github.com/slsa-framework/slsa-github-generator/blob/main/internal/builders/go/README.md#configuration-file.
go-version: 1.17
+2 -2
View File
@@ -30,14 +30,14 @@ jobs:
settings-path: ${{ github.workspace }} # location for the settings.xml file
- name: Build with Gradle
uses: gradle/gradle-build-action@0d13054264b0bb894ded474f08ebb30921341cee
uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1
with:
arguments: build
# The USERNAME and TOKEN need to correspond to the credentials environment variables used in
# the publishing section of your build.gradle
- name: Publish to GitHub Packages
uses: gradle/gradle-build-action@0d13054264b0bb894ded474f08ebb30921341cee
uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1
with:
arguments: publish
env:
+1 -1
View File
@@ -29,6 +29,6 @@ jobs:
java-version: '11'
distribution: 'temurin'
- name: Build with Gradle
uses: gradle/gradle-build-action@0d13054264b0bb894ded474f08ebb30921341cee
uses: gradle/gradle-build-action@67421db6bd0bf253fb4bd25b31ebb98943c375e1
with:
arguments: build
@@ -0,0 +1,7 @@
{
"name": "SLSA Go releaser",
"creator": "Open Source Security Foundation (OpenSSF)",
"description": "Compile your Go project using a SLSA3 compliant builder",
"iconName": "go-ossf-slsa3-publish",
"categories": ["Continuous integration", "Go"]
}
+1
View File
@@ -21,5 +21,6 @@ jobs:
with:
java-version: '11'
distribution: 'temurin'
cache: 'sbt'
- name: Run tests
run: sbt test
+52
View File
@@ -0,0 +1,52 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow will initiate a Contrast Scan on your built artifact, and subsequently upload the results SARIF to Github.
# Because Contrast Scan is designed to run against your deployable artifact, you need to build an artifact that will be passed to the Contrast Scan Action.
# Contrast Scan currently supports Java, JavaScript and .NET artifacts.
# For more information about the Contrast Scan GitHub Action see here: https://github.com/Contrast-Security-OSS/contrastscan-action
# Pre-requisites:
# All Contrast related account secrets should be configured as GitHub secrets to be passed as inputs to the Contrast Scan Action.
# The required secrets are CONTRAST_API_KEY, CONTRAST_ORGANIZATION_ID and CONTRAST_AUTH_HEADER.
on:
push:
branches: [ $default-branch, $protected-branches ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ $default-branch ]
schedule:
- cron: $cron-weekly
permissions:
contents: read
name: Scan analyze workflow
jobs:
build-and-scan:
permissions:
contents: read # for actions/checkout
security-events: write # for github/codeql-action/upload-sarif
runs-on: ubuntu-latest
# check out project
steps:
- uses: actions/checkout@v3
# Since Contrast Scan is designed to run against your deployable artifact, the steps to build your artifact should go here.
# -name: Build Project
# ...
# Scan Artifact
- name: Contrast Scan Action
uses: Contrast-Security-OSS/contrastscan-action@7352a45d9678ec8a434cf061b07ffb51c1e351a1
with:
artifact: mypath/target/myartifact.jar # replace this path with the path to your built artifact
apiKey: ${{ secrets.CONTRAST_API_KEY }}
orgId: ${{ secrets.CONTRAST_ORGANIZATION_ID }}
authHeader: ${{ secrets.CONTRAST_AUTH_HEADER }}
#Upload the results to GitHub
- name: Upload SARIF file
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: results.sarif # The file name must be 'results.sarif', as this is what the Github Action will output
+126
View File
@@ -0,0 +1,126 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# This workflow performs a static analysis of your source code using
# Red Hat CodeReady Dependency Analytics.
# Scans are triggered:
# 1. On every push to default and protected branches
# 2. On every Pull Request targeting the default branch
# 3. On a weekly schedule
# 4. Manually, on demand, via the "workflow_dispatch" event
# 💁 The CRDA Starter workflow will:
# - Checkout your repository
# - Setup the required tool stack
# - Install the CRDA command line tool
# - Auto detect the manifest file and install the project's dependencies
# - Perform the security scan using CRDA
# - Upload the SARIF result to the GitHub Code Scanning which can be viewed under the security tab
# - Optionally upload the SARIF file as an artifact for the future reference
# ️ Configure your repository and the workflow with the following steps:
# 1. Setup the tool stack based on the project's requirement.
# Refer to: https://github.com/redhat-actions/crda/#1-set-up-the-tool-stack
# 2. (Optional) CRDA action attempt to detect the language and install the
# required dependencies for your project. If your project doesn't aligns
# with the default dependency installation command mentioned here
# https://github.com/redhat-actions/crda/#3-installing-dependencies.
# Use the required inputs to setup the same
# 3. (Optional) CRDA action attempts to detect the manifest file if it is
# present in the root of the project and named as per the default mentioned
# here https://github.com/redhat-actions/crda/#3-installing-dependencies.
# If it deviates from the default, use the required inputs to setup the same
# 4. Setup Authentication - Create the CRDA_KEY or SNYK_TOKEN.
# Refer to: https://github.com/redhat-actions/crda/#4-set-up-authentication
# 5. (Optional) Upload SARIF file as an Artifact to download and view
# 6. Commit and push the workflow file to your default branch to trigger a workflow run.
# 👋 Visit our GitHub organization at https://github.com/redhat-actions/ to see our actions and provide feedback.
name: CRDA Scan
# Controls when the workflow will run
on:
# TODO: Customize trigger events based on your DevSecOps processes
#
# This workflow is made to run with OpenShift starter workflow
# https://github.com/actions/starter-workflows/blob/main/deployments/openshift.yml
# However, if you want to run this workflow as a standalone workflow, please
# uncomment the 'push' trigger below and configure it based on your requirements.
#
workflow_call:
secrets:
CRDA_KEY:
required: false
SNYK_TOKEN:
required: false
workflow_dispatch:
# push:
# branches: [ $default-branch, $protected-branches ]
# pull_request_target is used to securely share secret to the PR's workflow run.
# For more info visit: https://docs.github.com/en/actions/using-workflows/events-that-trigger-workflows#pull_request_target
pull_request_target:
branches: [ $default-branch ]
types: [ assigned, opened, synchronize, reopened, labeled, edited ]
permissions:
contents: read
jobs:
crda-scan:
permissions:
contents: read # for actions/checkout to fetch code
security-events: write # for redhat-actions/crda to upload SARIF results
name: Scan project vulnerabilities with CRDA
runs-on: ubuntu-20.04
steps:
- name: Check out repository
uses: actions/checkout@v2
# *******************************************************************
# Required: Instructions to setup project
# 1. Setup Go, Java, Node.js or Python depending on your project type
# 2. Setup Actions are listed below, choose one from them:
# - Go: https://github.com/actions/setup-go
# - Java: https://github.com/actions/setup-java
# - Node.js: https://github.com/actions/setup-node
# - Python: https://github.com/actions/setup-python
#
# Example:
# - name: Setup Node
# uses: actions/setup-node@v2
# with:
# node-version: '14'
# https://github.com/redhat-actions/openshift-tools-installer/blob/main/README.md
- name: Install CRDA CLI
uses: redhat-actions/openshift-tools-installer@v1
with:
source: github
github_pat: ${{ github.token }}
# Choose the desired version of the CRDA CLI
crda: "latest"
######################################################################################
# https://github.com/redhat-actions/crda/blob/main/README.md
#
# By default, CRDA will detect the manifest file and install the required dependencies
# using the standard command for the project type.
# If your project doesn't aligns with the defaults mentioned in this action, you will
# need to set few inputs that are described here:
# https://github.com/redhat-actions/crda/blob/main/README.md#3-installing-dependencies
# Visit https://github.com/redhat-actions/crda/#4-set-up-authentication to understand
# process to get a SNYK_TOKEN or a CRDA_KEY
- name: CRDA Scan
id: scan
uses: redhat-actions/crda@v1
with:
crda_key: ${{ secrets.CRDA_KEY }} # Either use crda_key or snyk_token
# snyk_token: ${{ secrets.SNYK_TOKEN }}
# upload_artifact: false # Set this to false to skip artifact upload
@@ -0,0 +1,7 @@
{
"name": "Contrast Scan",
"creator": "Contrast Security Inc",
"description": "Scans Pull Requests on each push for the introduction and/or resolution of vulnerabilities to the repository.",
"iconName": "contrast",
"categories": ["Code Scanning", "java", "javascript", "dotnet"]
}
@@ -0,0 +1,7 @@
{
"name": "Red Hat CodeReady Dependency Analytics",
"creator": "Red Hat",
"description": "Scan your project's dependencies with CodeReady Dependency Analytics.",
"iconName": "openshift",
"categories": ["Code Scanning", "Go", "Python", "Node.js", "Java"]
}
@@ -0,0 +1,6 @@
{
"name": "puppet-lint",
"description": "Puppet Lint tests Puppet code against the recommended Puppet language style guide.",
"iconName": "puppet-lint",
"categories": [ "Code Scanning", "Puppet" ]
}
+54
View File
@@ -0,0 +1,54 @@
# This workflow uses actions that are not certified by GitHub.
# They are provided by a third-party and are governed by
# separate terms of service, privacy policy, and support
# documentation.
# Puppet Lint tests Puppet code against the recommended Puppet language style guide.
# https://puppet.com/docs/puppet/7/style_guide.html
# Puppet Lint validates only code style; it does not validate syntax.
# To test syntax, use Puppet's puppet parser validate command.
# More details at https://github.com/puppetlabs/puppet-lint/
name: puppet-lint
on:
push:
branches: [ $default-branch, $protected-branches ]
pull_request:
# The branches below must be a subset of the branches above
branches: [ $default-branch ]
schedule:
- cron: $cron-weekly
permissions:
contents: read
jobs:
puppet-lint:
name: Run puppet-lint scanning
runs-on: ubuntu-latest
permissions:
contents: read # for checkout to fetch code
security-events: write # for github/codeql-action/upload-sarif to upload SARIF results
steps:
- name: Checkout code
uses: actions/checkout@v3
- name: Setup Ruby
uses: ruby/setup-ruby@f20f1eae726df008313d2e0d78c5e602562a1bcf
with:
ruby-version: 2.7
bundler-cache: true
- name: Install puppet-lint
run: gem install puppet-lint
- name: Run puppet-lint
run: puppet-lint . --sarif > puppet-lint-results.sarif
continue-on-error: true
- name: Upload analysis results to GitHub
uses: github/codeql-action/upload-sarif@v2
with:
sarif_file: puppet-lint-results.sarif
wait-for-processing: true
+1 -1
View File
@@ -27,7 +27,7 @@ jobs:
uses: actions/checkout@v3
- name: Run tfsec
uses: tfsec/tfsec-sarif-action@9a83b5c3524f825c020e356335855741fd02745f
uses: aquasecurity/tfsec-sarif-action@9a83b5c3524f825c020e356335855741fd02745f
with:
sarif_file: tfsec.sarif
+1 -1
View File
@@ -33,7 +33,7 @@ jobs:
docker build -t docker.io/my-organization/my-app:${{ github.sha }} .
- name: Run Trivy vulnerability scanner
uses: aquasecurity/trivy-action@2a2157eb22c08c9a1fac99263430307b8d1bc7a2
uses: aquasecurity/trivy-action@7b7aa264d83dc58691451798b4d117d53d21edfe
with:
image-ref: 'docker.io/my-organization/my-app:${{ github.sha }}'
format: 'template'
+17 -2
View File
@@ -54,15 +54,30 @@ env:
on:
# https://docs.github.com/en/actions/reference/events-that-trigger-workflows
workflow_dispatch:
push:
# Edit to the branch(es) you want to build and deploy on each push.
branches: [ $default-branch ]
jobs:
# 🖊️ EDIT if you want to run vulnerability check on your project before deploying
# the application. Please uncomment the below CRDA scan job and configure to run it in
# your workflow. For details about CRDA action visit https://github.com/redhat-actions/crda/blob/main/README.md
#
# TODO: Make sure to add 'CRDA Scan' starter workflow from the 'Actions' tab.
# For guide on adding new starter workflow visit https://docs.github.com/en/github-ae@latest/actions/using-workflows/using-starter-workflows
crda-scan:
uses: ./.github/workflows/crda.yml
secrets:
CRDA_KEY: ${{ secrets.CRDA_KEY }}
# SNYK_TOKEN: ${{ secrets.SNYK_TOKEN }} # Either use SNYK_TOKEN or CRDA_KEY
openshift-ci-cd:
# 🖊️ Uncomment this if you are using CRDA scan step above
# needs: crda-scan
name: Build and deploy to OpenShift
# ubuntu-20.04 can also be used.
runs-on: ubuntu-18.04
runs-on: ubuntu-20.04
environment: production
outputs:
+16
View File
@@ -0,0 +1,16 @@
<?xml version="1.0" encoding="utf-8"?>
<!-- Generator: Adobe Illustrator 26.0.1, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
viewBox="0 0 209.4 177.4" style="enable-background:new 0 0 209.4 177.4;" xml:space="preserve">
<style type="text/css">
.st0{fill:#004D45;}
.st1{fill:#0E9E53;}
.st2{fill:#FFFFFF;}
</style>
<path class="st0" d="M65.4,90.2c0,26.2,10.1,49.4,26.7,65.1c-2.6,0.2-5.3,0.4-8.1,0.4c-46.9,0-79.4-27.1-79.4-64.3
S37,27.1,83.9,27.1c1.9,0,3.7,0,5.4,0.1C74.3,42.9,65.4,65.4,65.4,90.2z"/>
<path class="st1" d="M203.9,39.5c2.2,14.3-8.8,26-27.4,26c-28.1,0-33-36.1-87.1-38.4C103,12.8,121.8,4,143.5,4c0.4,0,0.8,0,1.3,0
C176,4,201.5,23.9,203.9,39.5z"/>
<path class="st2" d="M187.7,117.9c7.2,1.4,16.5,6.4,16.5,21.4c0,20.9-32.5,36.4-59.5,36.7c0,0-0.1,0-0.1,0c0,0-0.1,0-0.1,0s0,0,0,0
c-20.6,0-38.7-7.8-52.4-20.7C139.6,151.3,161.9,112.9,187.7,117.9z"/>
</svg>

After

Width:  |  Height:  |  Size: 1003 B

+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<svg fill="none" version="1.1" viewBox="0 0 140 140" xmlns="http://www.w3.org/2000/svg">
<g transform="translate(-31)" clip-path="url(#a)">
<path d="m161.53 3.0994e-5 0.385-0.43543-7.493-6.6222-3.311 3.7465c-0.989 1.1184-1.991 2.2222-3.008 3.3111h-117.1v7.7919l-6.8799 4.2403 2.6234 4.2565c1.3735 2.2285 2.7929 4.4196 4.2565 6.5724v93.421c-0.0339 1e-3 -0.0678 1e-3 -0.1018 2e-3l-4.9989 0.102 0.2035 9.998 4.8972-0.1v13.716h140v-88.684c1.44-2.0734 2.84-4.183 4.196-6.3282 2.279-3.4292 3.971-6.3613 5.103-8.4579 0.57-1.054 0.998-1.8986 1.29-2.4912 0.146-0.2964 0.258-0.5299 0.336-0.6953 0.039-0.0827 0.069-0.1484 0.091-0.1964l0.027-0.0587 9e-3 -0.0192 3e-3 -0.0071 1e-3 -0.0029 1e-3 -0.0013c0-6e-4 0-0.0011-4.557-2.0578l4.557 2.0567 2.057-4.5575-9.115-4.1132-2.054 4.5518v1e-3l-1e-3 9e-4 -1e-3 0.0017v2e-3l-8e-3 0.0174c-0.011 0.0234-0.03 0.0642-0.057 0.1216-0.054 0.115-0.141 0.2967-0.261 0.5399-0.239 0.4866-0.611 1.2188-1.116 2.155-0.155 0.2859-0.322 0.5907-0.501 0.9131v-32.69zm0 0h-13.427c-22.046 23.618-50.591 40.246-81.991 47.779-11.875-10.541-22.305-22.871-30.851-36.737l-2.6234-4.2565-1.6331 1.0065v15.069c8.7076 12.807 18.982 24.259 30.482 34.156 16.53 14.226 35.591 25.242 56.17 32.461-17.424 11.387-36.962 19.448-57.612 23.605-9.4774 1.907-19.19 2.992-29.04 3.199v10.002l0.1018-2e-3c10.484-0.213 20.823-1.365 30.911-3.396 25.403-5.113 49.217-15.796 69.786-31.09 15.01-11.161 28.292-24.779 39.201-40.48v-18.626c-0.996 1.7908-2.38 4.127-4.163 6.808l-0.033 0.0491-0.031 0.0498c-10.512 16.639-23.759 31.015-38.962 42.68-18.881-5.709-36.555-14.758-52.18-26.662 31.982-9.1292 60.827-27.25 82.969-52.304z" clip-rule="evenodd" fill="#f03100" fill-rule="evenodd"/>
</g>
<defs>
<clipPath id="a">
<path d="m31 28c0-15.464 12.536-28 28-28h84c15.464 0 28 12.536 28 28v84c0 15.464-12.536 28-28 28h-84c-15.464 0-28-12.536-28-28z" fill="#fff"/>
</clipPath>
</defs>
</svg>

After

Width:  |  Height:  |  Size: 1.9 KiB

+95
View File
@@ -0,0 +1,95 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<!-- Created with Inkscape (http://www.inkscape.org/) -->
<svg
version="1.1"
id="svg9"
width="200"
height="200"
viewBox="0 0 200 200"
sodipodi:docname="234268.png"
inkscape:export-filename="..\Desktop\bitmap.svg"
inkscape:export-xdpi="96"
inkscape:export-ydpi="96"
xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
xmlns:xlink="http://www.w3.org/1999/xlink"
xmlns="http://www.w3.org/2000/svg"
xmlns:svg="http://www.w3.org/2000/svg">
<defs
id="defs13" />
<sodipodi:namedview
id="namedview11"
pagecolor="#ffffff"
bordercolor="#000000"
borderopacity="0.25"
inkscape:showpageshadow="2"
inkscape:pageopacity="0.0"
inkscape:pagecheckerboard="0"
inkscape:deskcolor="#d1d1d1"
showgrid="false" />
<g
inkscape:groupmode="layer"
inkscape:label="Image"
id="g15">
<image
width="200"
height="200"
preserveAspectRatio="none"
xlink:href="data:image/png;base64,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
AElFTkSuQmCC
"
id="image17" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 5.1 KiB