Skip to content

Commit

Permalink
Added CI (#7)
Browse files Browse the repository at this point in the history
  • Loading branch information
oxisto authored Jul 5, 2021
1 parent 998577d commit 7540a59
Show file tree
Hide file tree
Showing 85 changed files with 1,605 additions and 2 deletions.
22 changes: 22 additions & 0 deletions .github/workflows/build.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
name: build

on:
push:
branches: [ main ]
pull_request:
branches: [ main ]
workflow_dispatch:

jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Setup Java JDK
uses: actions/[email protected]
with:
java-version: 11
distribution: zulu
- name: Build
run: ./gradlew build
6 changes: 6 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,11 @@
# Cloud Property Graph (CloudPG)

[![build](https://github.com/clouditor/cloud-property-graph/actions/workflows/build.yml/badge.svg)](https://github.com/clouditor/cloud-property-graph/actions/workflows/build.yml)
![GitHub last commit](https://img.shields.io/github/last-commit/clouditor/cloud-property-graph)
![GitHub](https://img.shields.io/github/license/clouditor/cloud-property-graph)
[![](https://jitpack.io/v/clouditor/cloud-property-graph.svg)](https://jitpack.io/#clouditor/cloud-property-graph)


The Cloud Property Graph is based on a Code Property Graph and tries to connect static code analysis and Cloud runtime assessment. It is based on the [CPG](https://github.com/Fraunhofer-AISEC/cpg) project by Fraunhofer AISEC. We aim to contribute certain parts of this project back to the upstream repo, once they are more matured.

Furthermore, we plan to integrate a Go-based version of the CloudPG into our main Cloud assessment tool, [Clouditor](https://github.com/clouditor/clouditor).
Expand Down
10 changes: 10 additions & 0 deletions generated/main/java/io/clouditor/graph/ABAC.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package io.clouditor.graph;

import de.fraunhofer.aisec.cpg.graph.Node;

public class ABAC extends Authorization {

public ABAC() {
super();
}
}
31 changes: 31 additions & 0 deletions generated/main/java/io/clouditor/graph/AccessRestriction.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package io.clouditor.graph;

import de.fraunhofer.aisec.cpg.graph.Node;

public class AccessRestriction extends Authorization {

protected boolean inbound;
protected String restrictedPorts;

public AccessRestriction(boolean inbound, String restrictedPorts) {
super();
setInbound(inbound);
setRestrictedPorts(restrictedPorts);
}

public boolean isInbound() {
return inbound;
}

public void setInbound(boolean inbound) {
this.inbound = inbound;
}

public String getRestrictedPorts() {
return restrictedPorts;
}

public void setRestrictedPorts(String restrictedPorts) {
this.restrictedPorts = restrictedPorts;
}
}
12 changes: 12 additions & 0 deletions generated/main/java/io/clouditor/graph/Account.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package io.clouditor.graph;

import de.fraunhofer.aisec.cpg.graph.Node;
import java.util.Map;
import org.neo4j.ogm.annotation.Transient;

public class Account extends CloudResource {

public Account(GeoLocation geoLocation, Map<String, String> labels) {
super(geoLocation, labels);
}
}
53 changes: 53 additions & 0 deletions generated/main/java/io/clouditor/graph/Application.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,53 @@
package io.clouditor.graph;

import de.fraunhofer.aisec.cpg.graph.Node;
import java.util.List;
import de.fraunhofer.aisec.cpg.graph.declarations.TranslationUnitDeclaration;

public class Application extends Node {

protected List<Functionality> functionalitys;
protected List<Compute> runsOn;
protected List<TranslationUnitDeclaration> translationUnits;
protected String programmingLanguage;

public Application(List<Functionality> functionalitys, List<Compute> runsOn,
List<TranslationUnitDeclaration> translationUnits, String programmingLanguage) {
setFunctionalitys(functionalitys);
setRunsOn(runsOn);
setTranslationUnits(translationUnits);
setProgrammingLanguage(programmingLanguage);
}

public List<Functionality> getFunctionalitys() {
return functionalitys;
}

public void setFunctionalitys(List<Functionality> functionalitys) {
this.functionalitys = functionalitys;
}

public List<Compute> getRunsOn() {
return runsOn;
}

public void setRunsOn(List<Compute> runsOn) {
this.runsOn = runsOn;
}

public List<TranslationUnitDeclaration> getTranslationUnits() {
return translationUnits;
}

public void setTranslationUnits(List<TranslationUnitDeclaration> translationUnits) {
this.translationUnits = translationUnits;
}

public String getProgrammingLanguage() {
return programmingLanguage;
}

public void setProgrammingLanguage(String programmingLanguage) {
this.programmingLanguage = programmingLanguage;
}
}
31 changes: 31 additions & 0 deletions generated/main/java/io/clouditor/graph/AtRestEncryption.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package io.clouditor.graph;

import de.fraunhofer.aisec.cpg.graph.Node;

public class AtRestEncryption extends Confidentiality {

protected String algorithm;
protected String keymanager;

public AtRestEncryption(String algorithm, String keymanager) {
super();
setAlgorithm(algorithm);
setKeymanager(keymanager);
}

public String getAlgorithm() {
return algorithm;
}

public void setAlgorithm(String algorithm) {
this.algorithm = algorithm;
}

public String getKeymanager() {
return keymanager;
}

public void setKeymanager(String keymanager) {
this.keymanager = keymanager;
}
}
10 changes: 10 additions & 0 deletions generated/main/java/io/clouditor/graph/Auditing.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package io.clouditor.graph;

import de.fraunhofer.aisec.cpg.graph.Node;

public class Auditing extends SecurityFeature {

public Auditing() {
super();
}
}
10 changes: 10 additions & 0 deletions generated/main/java/io/clouditor/graph/Authenticity.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package io.clouditor.graph;

import de.fraunhofer.aisec.cpg.graph.Node;

public class Authenticity extends SecurityFeature {

public Authenticity() {
super();
}
}
10 changes: 10 additions & 0 deletions generated/main/java/io/clouditor/graph/Authorization.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package io.clouditor.graph;

import de.fraunhofer.aisec.cpg.graph.Node;

public class Authorization extends SecurityFeature {

public Authorization() {
super();
}
}
10 changes: 10 additions & 0 deletions generated/main/java/io/clouditor/graph/Availability.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package io.clouditor.graph;

import de.fraunhofer.aisec.cpg.graph.Node;

public class Availability extends SecurityFeature {

public Availability() {
super();
}
}
31 changes: 31 additions & 0 deletions generated/main/java/io/clouditor/graph/Backup.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,31 @@
package io.clouditor.graph;

import de.fraunhofer.aisec.cpg.graph.Node;

public class Backup extends Availability {

protected String policy;
protected boolean activated;

public Backup(String policy, boolean activated) {
super();
setPolicy(policy);
setActivated(activated);
}

public String getPolicy() {
return policy;
}

public void setPolicy(String policy) {
this.policy = policy;
}

public boolean isActivated() {
return activated;
}

public void setActivated(boolean activated) {
this.activated = activated;
}
}
12 changes: 12 additions & 0 deletions generated/main/java/io/clouditor/graph/BlockStorage.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package io.clouditor.graph;

import de.fraunhofer.aisec.cpg.graph.Node;
import java.util.Map;
import org.neo4j.ogm.annotation.Transient;

public class BlockStorage extends Storage {

public BlockStorage(AtRestEncryption atRestEncryption, GeoLocation geoLocation, Map<String, String> labels) {
super(atRestEncryption, geoLocation, labels);
}
}
12 changes: 12 additions & 0 deletions generated/main/java/io/clouditor/graph/CICDService.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package io.clouditor.graph;

import de.fraunhofer.aisec.cpg.graph.Node;
import java.util.Map;
import org.neo4j.ogm.annotation.Transient;

public class CICDService extends CloudResource {

public CICDService(GeoLocation geoLocation, Map<String, String> labels) {
super(geoLocation, labels);
}
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package io.clouditor.graph;

import de.fraunhofer.aisec.cpg.graph.Node;

public class CertificateBasedAuthentication extends Authenticity {

public CertificateBasedAuthentication() {
super();
}
}
33 changes: 33 additions & 0 deletions generated/main/java/io/clouditor/graph/CloudResource.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,33 @@
package io.clouditor.graph;

import de.fraunhofer.aisec.cpg.graph.Node;
import java.util.Map;
import org.neo4j.ogm.annotation.Transient;

public class CloudResource extends Node {

protected GeoLocation geoLocation;
@Transient
protected Map<String, String> labels;

public CloudResource(GeoLocation geoLocation, Map<String, String> labels) {
setGeoLocation(geoLocation);
setLabels(labels);
}

public GeoLocation getGeoLocation() {
return geoLocation;
}

public void setGeoLocation(GeoLocation geoLocation) {
this.geoLocation = geoLocation;
}

public Map<String, String> getLabels() {
return labels;
}

public void setLabels(Map<String, String> labels) {
this.labels = labels;
}
}
21 changes: 21 additions & 0 deletions generated/main/java/io/clouditor/graph/CloudResourceGroup.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,21 @@
package io.clouditor.graph;

import de.fraunhofer.aisec.cpg.graph.Node;
import java.util.List;

public class CloudResourceGroup extends Node {

protected List<CloudResource> collectionOf;

public CloudResourceGroup(List<CloudResource> collectionOf) {
setCollectionOf(collectionOf);
}

public List<CloudResource> getCollectionOf() {
return collectionOf;
}

public void setCollectionOf(List<CloudResource> collectionOf) {
this.collectionOf = collectionOf;
}
}
10 changes: 10 additions & 0 deletions generated/main/java/io/clouditor/graph/CloudSDK.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package io.clouditor.graph;

import de.fraunhofer.aisec.cpg.graph.Node;

public class CloudSDK extends Framework {

public CloudSDK() {
super();
}
}
12 changes: 12 additions & 0 deletions generated/main/java/io/clouditor/graph/Compute.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
package io.clouditor.graph;

import de.fraunhofer.aisec.cpg.graph.Node;
import java.util.Map;
import org.neo4j.ogm.annotation.Transient;

public class Compute extends CloudResource {

public Compute(GeoLocation geoLocation, Map<String, String> labels) {
super(geoLocation, labels);
}
}
10 changes: 10 additions & 0 deletions generated/main/java/io/clouditor/graph/Confidentiality.java
Original file line number Diff line number Diff line change
@@ -0,0 +1,10 @@
package io.clouditor.graph;

import de.fraunhofer.aisec.cpg.graph.Node;

public class Confidentiality extends SecurityFeature {

public Confidentiality() {
super();
}
}
Loading

0 comments on commit 7540a59

Please sign in to comment.