Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
44 changes: 7 additions & 37 deletions src/app/component/task-description/task-description.component.html
Original file line number Diff line number Diff line change
Expand Up @@ -57,45 +57,10 @@ <h1>{{currentTask.dimension}} -> {{currentTask.subDimension}}: Building and test
</mat-expansion-panel-header>
<p>
<mat-accordion multi="true">
<mat-expansion-panel>
<mat-expansion-panel-header>
<mat-panel-title>
<b>CI/CD tools</b>
</mat-panel-title>
</mat-expansion-panel-header>
<p>
<mat-accordion multi="true">
<mat-expansion-panel>
<mat-expansion-panel-header>
<mat-panel-title>
<b>Tags</b>
</mat-panel-title>
</mat-expansion-panel-header>
<p>ci-cd</p>
</mat-expansion-panel>
<mat-expansion-panel>
<mat-expansion-panel-header>
<mat-panel-title>
<b>URL</b>
</mat-panel-title>
</mat-expansion-panel-header>
<p>https://martinfowler.com/articles/continuousIntegration.html</p>
</mat-expansion-panel>
<mat-expansion-panel>
<mat-expansion-panel-header>
<mat-panel-title>
<b>Description</b>
</mat-panel-title>
</mat-expansion-panel-header>
<p>CI/CD tools such as jenkins, gitlab-ci or github-actions </p>
</mat-expansion-panel>
</mat-accordion>
</p>
</mat-expansion-panel>
<mat-expansion-panel>
<mat-expansion-panel *ngFor="let implement of this.currentTask.implementation">
<mat-expansion-panel-header>
<mat-panel-title>
<b>Container technologies and orchestration like Docker, Kubernetes</b>
<b [innerHTML]="implement['name']"></b>
</mat-panel-title>
</mat-expansion-panel-header>
<p>
Expand All @@ -106,20 +71,25 @@ <h1>{{currentTask.dimension}} -> {{currentTask.subDimension}}: Building and test
<b>Tags</b>
</mat-panel-title>
</mat-expansion-panel-header>
<ul *ngFor="let tag of implement['tags']">
<li [innerHTML]="tag"></li>
</ul>
</mat-expansion-panel>
<mat-expansion-panel>
<mat-expansion-panel-header>
<mat-panel-title>
<b>URL</b>
</mat-panel-title>
</mat-expansion-panel-header>
<p [innerHTML]="implement['url']"></p>
</mat-expansion-panel>
<mat-expansion-panel>
<mat-expansion-panel-header>
<mat-panel-title>
<b>Description</b>
</mat-panel-title>
</mat-expansion-panel-header>
<p [innerHTML]="implement['description']"></p>
</mat-expansion-panel>
</mat-accordion>
</p>
Expand Down
30 changes: 26 additions & 4 deletions src/app/component/task-description/task-description.component.ts
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,13 @@ import { ActivatedRoute } from '@angular/router';
import { ymlService } from '../../service/yaml-parser/yaml-parser.service';
import * as md from 'markdown-it';


export interface implementation{
name:string
tags:string[]
url:string
description:string
}
export interface taskDescription {
dimension:string
subDimension:string
Expand All @@ -19,6 +26,7 @@ export interface taskDescription {
resources:number
time:number
dependsOn:string[]
implementation:implementation[]
}

@Component({
Expand All @@ -30,7 +38,7 @@ export class TaskDescriptionComponent implements OnInit {

currentTask: taskDescription={dimension:'',subDimension:'',level:'',taskIndex:-1,description:'',risk:[],
measure:'',implementatonGuide:'',samm:[''],iso:[''],knowledge:-1,resources:-1,
time:-1,dependsOn:[]}
time:-1,dependsOn:[], implementation:[]}

YamlObject:any;

Expand Down Expand Up @@ -98,8 +106,9 @@ export class TaskDescriptionComponent implements OnInit {
}

this.currentTask.dependsOn=this.defineStringArrayValues(data['dependsOn'],[])

//console.log(this.measure)

this.currentTask.implementation=this.defineImplementationObject(data['implementation'])


})
}
Expand Down Expand Up @@ -130,7 +139,20 @@ export class TaskDescriptionComponent implements OnInit {
return valueOfDataIfUndefined
}
}

defineImplementationObject(dataToCheck:implementation[]):implementation[]{
var dataToReturn:implementation[]=[]
for (var data in dataToCheck){
var temp:implementation={name:'',url:'',tags:[],description:''}
temp["name"]=this.defineStringValues(dataToCheck[data]["name"],'')
temp["url"]=this.defineStringValues(dataToCheck[data]["url"],'')
temp["description"]=this.defineStringValues(dataToCheck[data]["description"],'')
temp["tags"]=this.defineStringArrayValues(dataToCheck[data]["tags"],[])
//console.log(temp)
dataToReturn.push(temp)
}
//console.log(dataToReturn)
return dataToReturn
}

// Expand all function
openall(): void{
Expand Down
134 changes: 108 additions & 26 deletions src/assets/YAML/generated/sample.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,12 @@ dimension:
resources: 2
time: 2
implementation:
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/ci-cd-tools
- name: CI/CD tools # string
tags:
- ci-cd # string
url: https://martinfowler.com/articles/continuousIntegration.html # url
description: CI/CD tools such as jenkins, gitlab-ci or github-actions
- name: Container technologies and orchestration like Docker, Kubernetes # string
level: 1
description: '## Benefits:

Expand Down Expand Up @@ -56,8 +61,12 @@ dimension:
resources: 2
time: 3
implementation:
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/ci-cd-tools
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/container-technologi
- name: CI/CD tools # string
tags:
- ci-cd # string
url: https://martinfowler.com/articles/continuousIntegration.html # url
description: CI/CD tools such as jenkins, gitlab-ci or github-actions
- name: Container technologies and orchestration like Docker, Kubernetes # string
level: 1
measure: A well defined build process lowers the possibility of errors during
the build process.
Expand All @@ -84,8 +93,12 @@ dimension:
resources: 2
time: 2
implementation:
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/ci-cd-tools
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/container-technologi
- name: CI/CD tools # string
tags:
- ci-cd # string
url: https://martinfowler.com/articles/continuousIntegration.html # url
description: CI/CD tools such as jenkins, gitlab-ci or github-actions
- name: Container technologies and orchestration like Docker, Kubernetes # string
level: 2
measure: Each step during within the build and testing phase is performed in
a separate virtual environments, which is destroyed afterward.
Expand Down Expand Up @@ -113,10 +126,12 @@ dimension:
resources: 2
time: 2
implementation:
- Container technology automatically creates a hash for images, which can be
used.
- Immutable images are an other way, e.g. by using a registry, which doesn't
allow overriding of images.
- name: CI/CD tools # string
tags:
- ci-cd # string
url: https://martinfowler.com/articles/continuousIntegration.html # url
description: CI/CD tools such as jenkins, gitlab-ci or github-actions
- name: Container technologies and orchestration like Docker, Kubernetes # string
level: 2
measure: Pinning of artifacts ensure that changes are performed only when intended.
name: Pinning of artifacts
Expand All @@ -136,7 +151,13 @@ dimension:
knowledge: 2
resources: 3
time: 2
implementation: []
implementation:
- name: CI/CD tools # string
tags:
- ci-cd # string
url: https://martinfowler.com/articles/continuousIntegration.html # url
description: CI/CD tools such as jenkins, gitlab-ci or github-actions
- name: Container technologies and orchestration like Docker, Kubernetes # string
iso27001-2017:
- '8.1'
- '8.2'
Expand All @@ -154,7 +175,14 @@ dimension:
knowledge: 2
resources: 2
time: 2
implementation: []
implementation:
- name: CI/CD tools # string
tags:
- ci-cd # string
url: https://martinfowler.com/articles/continuousIntegration.html # url
description: # markdown
CI/CD tools such as jenkins, gitlab-ci or github-actions
- name: Container technologies and orchestration like Docker, Kubernetes # string
level: 3
measure: Digitally signing commits helps to prevent unauthorized manipulation
of source code.
Expand All @@ -175,8 +203,12 @@ dimension:
resources: 2
time: 2
implementation:
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/docker-content-trust
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/in-toto
- name: CI/CD tools # string
tags:
- ci-cd # string
url: https://martinfowler.com/articles/continuousIntegration.html # url
description: CI/CD tools such as jenkins, gitlab-ci or github-actions
- name: Container technologies and orchestration like Docker, Kubernetes # string
level: 3
measure: Digitally signing artifacts for all steps during the build and especially
docker images, helps to ensure their integrity.
Expand All @@ -202,8 +234,12 @@ dimension:
resources: 1
time: 2
implementation:
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/ci-cd-tools
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/docker
- name: CI/CD tools # string
tags:
- ci-cd # string
url: https://martinfowler.com/articles/continuousIntegration.html # url
description: CI/CD tools such as jenkins, gitlab-ci or github-actions
- name: Container technologies and orchestration like Docker, Kubernetes # string
level: 1
measure: A defined deployment process significantly lowers the likelihood of
errors during the deployment phase.
Expand All @@ -223,7 +259,13 @@ dimension:
knowledge: 2
resources: 1
time: 2
implementation: []
implementation:
- name: CI/CD tools # string
tags:
- ci-cd # string
url: https://martinfowler.com/articles/continuousIntegration.html # url
description: CI/CD tools such as jenkins, gitlab-ci or github-actions
- name: Container technologies and orchestration like Docker, Kubernetes # string
level: 2
measure: 'Configuration parameters are set for each environment not in the source
code.
Expand Down Expand Up @@ -252,7 +294,12 @@ dimension:
resources: 1
time: 1
implementation:
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/kubernetes-admission
- name: CI/CD tools # string
tags:
- ci-cd # string
url: https://martinfowler.com/articles/continuousIntegration.html # url
description: CI/CD tools such as jenkins, gitlab-ci or github-actions
- name: Container technologies and orchestration like Docker, Kubernetes # string
iso27001-2017:
- 15.1.1
- 15.1.2
Expand Down Expand Up @@ -294,9 +341,12 @@ dimension:
resources: 2
time: 2
implementation:
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/docker
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/webserver
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/rolling-update
- name: CI/CD tools # string
tags:
- ci-cd # string
url: https://martinfowler.com/articles/continuousIntegration.html # url
description: CI/CD tools such as jenkins, gitlab-ci or github-actions
- name: Container technologies and orchestration like Docker, Kubernetes # string
iso27001-2017:
- 12.5.1
- 14.2.2
Expand All @@ -316,7 +366,12 @@ dimension:
resources: 1
time: 2
implementation:
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/docker
- name: CI/CD tools # string
tags:
- ci-cd # string
url: https://martinfowler.com/articles/continuousIntegration.html # url
description: CI/CD tools such as jenkins, gitlab-ci or github-actions
- name: Container technologies and orchestration like Docker, Kubernetes # string
iso27001-2017:
- 14.3.1
- 14.2.8
Expand All @@ -337,7 +392,13 @@ dimension:
knowledge: 2
resources: 1
time: 2
implementation: ''
implementation:
- name: CI/CD tools # string
tags:
- ci-cd # string
url: https://martinfowler.com/articles/continuousIntegration.html # url
description: CI/CD tools such as jenkins, gitlab-ci or github-actions
- name: Container technologies and orchestration like Docker, Kubernetes # string
level: 3
measure: By using encryption, it is harder to read credentials , e.g. from the
file system. Also, the usage of a credential management system can help protect
Expand Down Expand Up @@ -366,7 +427,12 @@ dimension:
resources: 1
time: 1
implementation:
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/docker
- name: CI/CD tools # string
tags:
- ci-cd # string
url: https://martinfowler.com/articles/continuousIntegration.html # url
description: CI/CD tools such as jenkins, gitlab-ci or github-actions
- name: Container technologies and orchestration like Docker, Kubernetes # string
iso27001-2017:
- 14.3.1
- 14.2.8
Expand All @@ -387,7 +453,13 @@ dimension:
knowledge: 2
resources: 3
time: 2
implementation: []
implementation:
- name: CI/CD tools # string
tags:
- ci-cd # string
url: https://martinfowler.com/articles/continuousIntegration.html # url
description: CI/CD tools such as jenkins, gitlab-ci or github-actions
- name: Container technologies and orchestration like Docker, Kubernetes # string
iso27001-2017:
- '8.1'
- '8.2'
Expand All @@ -410,7 +482,12 @@ dimension:
resources: 3
time: 2
implementation:
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/dependencyTrack
- name: CI/CD tools # string
tags:
- ci-cd # string
url: https://martinfowler.com/articles/continuousIntegration.html # url
description: CI/CD tools such as jenkins, gitlab-ci or github-actions
- name: Container technologies and orchestration like Docker, Kubernetes # string
iso27001-2017:
- '8.1'
- '8.2'
Expand All @@ -433,7 +510,12 @@ dimension:
resources: 1
time: 2
implementation:
- $ref: data/dimensions-subdimensions-activities/implementations.yaml#/implementations/blue-green-deploymen
- name: CI/CD tools # string
tags:
- ci-cd # string
url: https://martinfowler.com/articles/continuousIntegration.html # url
description: CI/CD tools such as jenkins, gitlab-ci or github-actions
- name: Container technologies and orchestration like Docker, Kubernetes # string
level: 4
measure: By having multiple production environments, a deployment can be performant
on the first environment to spot possible defects before it is deployment
Expand Down