Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Draft] First prototype of Application Quality Pipeline #24

Open
wants to merge 48 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
48 commits
Select commit Hold shift + click to select a range
3c403b7
first version of the 'Development Best Practices' workflow
hcremers-spaceapps Oct 3, 2024
0407b5e
added workflow/README.md
hcremers-spaceapps Oct 3, 2024
102341e
updated sonarqube tool
hcremers-spaceapps Oct 4, 2024
f2b77b8
split workflow into subworkflows
hcremers-spaceapps Oct 7, 2024
bb00e46
updated workflow/readme.md
hcremers-spaceapps Oct 7, 2024
f56a8ec
added Dockerfile for flake8-json
hcremers-spaceapps Oct 7, 2024
fa7d29a
prepared migration to kubernetes with calrissian
hcremers-spaceapps Oct 9, 2024
fcf0578
flake8-json image
hcremers-spaceapps Oct 21, 2024
479dedc
curl image in save-tool
hcremers-spaceapps Oct 21, 2024
7dbdc28
use git as base command in clone-tool
hcremers-spaceapps Oct 21, 2024
5200291
added pipeline_id and server_url to input list
hcremers-spaceapps Oct 21, 2024
0896eee
removed unnecessary files
hcremers-spaceapps Oct 21, 2024
518e9f6
updated workflow/readme.md and .gitignore
hcremers-spaceapps Oct 22, 2024
e6ecc95
removed example.py and the sonarqube tool
hcremers-spaceapps Oct 22, 2024
e6084a4
fixed curl error
hcremers-spaceapps Oct 28, 2024
f2a4678
added branch management in clone tool
hcremers-spaceapps Nov 8, 2024
216d7f7
added default branch in clone-tool
hcremers-spaceapps Nov 8, 2024
79486d6
ruff + updated post url
hcremers-spaceapps Nov 19, 2024
7b6a645
added bandit tool
hcremers-spaceapps Nov 21, 2024
c336fab
exit zero with flake8
hcremers-spaceapps Nov 21, 2024
73f3ba0
Merge branch '4-first-prototype' of github.com:EOEPCA/application-qua…
hcremers-spaceapps Nov 22, 2024
7949995
Initial commit of the user manual
bevalentin Jan 10, 2025
9eb077e
Relocated the user manual images to fix the read-the-docs version
bevalentin Jan 10, 2025
3fafcef
Fixed links to images included with img
bevalentin Jan 10, 2025
f8bb55a
Application Quality BB Helm Charts (#26)
bevalentin Jan 15, 2025
f43efea
Initial commit of the Application Quality frontend (#27)
bevalentin Jan 15, 2025
5d1f19c
Application Quality Backend of 2.0.0-beta2 (#25)
hcremers-spaceapps Jan 15, 2025
7ae3681
Enable OIDC in Dashboards using config in Secret
bevalentin Jan 19, 2025
5c74ef7
first version of the 'Development Best Practices' workflow
hcremers-spaceapps Oct 3, 2024
586425f
added workflow/README.md
hcremers-spaceapps Oct 3, 2024
d7576be
updated sonarqube tool
hcremers-spaceapps Oct 4, 2024
d611c4d
split workflow into subworkflows
hcremers-spaceapps Oct 7, 2024
2392e36
updated workflow/readme.md
hcremers-spaceapps Oct 7, 2024
7751d10
added Dockerfile for flake8-json
hcremers-spaceapps Oct 7, 2024
90b88bf
prepared migration to kubernetes with calrissian
hcremers-spaceapps Oct 9, 2024
d29966d
flake8-json image
hcremers-spaceapps Oct 21, 2024
525c6a2
curl image in save-tool
hcremers-spaceapps Oct 21, 2024
81b8350
use git as base command in clone-tool
hcremers-spaceapps Oct 21, 2024
740d5e7
added pipeline_id and server_url to input list
hcremers-spaceapps Oct 21, 2024
1f66c71
removed unnecessary files
hcremers-spaceapps Oct 21, 2024
3d5feab
updated workflow/readme.md and .gitignore
hcremers-spaceapps Oct 22, 2024
a3a1fb0
removed example.py and the sonarqube tool
hcremers-spaceapps Oct 22, 2024
87e3b1d
fixed curl error
hcremers-spaceapps Oct 28, 2024
7d27da8
added branch management in clone tool
hcremers-spaceapps Nov 8, 2024
45d017e
added default branch in clone-tool
hcremers-spaceapps Nov 8, 2024
efd4648
ruff + updated post url
hcremers-spaceapps Nov 19, 2024
7e994da
added bandit tool
hcremers-spaceapps Nov 21, 2024
e0aeba9
exit zero with flake8
hcremers-spaceapps Jan 20, 2025
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
16 changes: 15 additions & 1 deletion .gitignore
Original file line number Diff line number Diff line change
@@ -1 +1,15 @@
venv/
venv/

# python cache
__pycache__

# Backend files and folders

# Old fixtures
**/fixtures/2024-11-0*.json
**/fixtures/2024-11-1*.json

# Frontend files and folders
build
dist
node_modules
37 changes: 37 additions & 0 deletions application-quality-reference-deployment/Chart.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
apiVersion: v2
name: application-quality-reference-deployment
description: A reference deployment of the Application Quality BB (including OpenSearch and SonarQube)

icon: https://upload.wikimedia.org/wikipedia/commons/3/3b/PlaceholderRoss.png

# A chart can be either an 'application' or a 'library' chart.
#
# Application charts are a collection of templates that can be packaged into versioned archives
# to be deployed.
#
# Library charts provide useful utilities or functions for the chart developer. They're included as
# a dependency of application charts to inject those utilities and functions into the rendering
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
type: application

# This is the chart version. This version number should be incremented each time you make changes
# to the chart and its templates, including the app version.
# Versions are expected to follow Semantic Versioning (https://semver.org/)
version: 0.1.0

# This is the version number of the application being deployed. This version number should be
# incremented each time you make changes to the application. Versions are not expected to
# follow Semantic Versioning. They should reflect the version the application is using.
# It is recommended to use it with quotes.
appVersion: "0.1.0"

dependencies:
- name: opensearch
version: "2.27.0"
repository: "https://opensearch-project.github.io/helm-charts/"
- name: opensearch-dashboards
version: "2.25.0"
repository: "https://opensearch-project.github.io/helm-charts/"
- name: application-quality
version: "0.1.0"
repository: "file://../helm"
4 changes: 4 additions & 0 deletions application-quality-reference-deployment/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,4 @@
# Helm chart for reference deployment

This is a deployment of the Application Quality BB, including an OpenSearch deployment.
This leads to a fully functional setup.
62 changes: 62 additions & 0 deletions application-quality-reference-deployment/templates/_helpers.tpl
Original file line number Diff line number Diff line change
@@ -0,0 +1,62 @@
{{/*
Expand the name of the chart.
*/}}
{{- define "application-quality-reference-deployment.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
{{- end }}

{{/*
Create a default fully qualified app name.
We truncate at 63 chars because some Kubernetes name fields are limited to this (by the DNS naming spec).
If release name contains chart name it will be used as a full name.
*/}}
{{- define "application-quality-reference-deployment.fullname" -}}
{{- if .Values.fullnameOverride }}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- $name := default .Chart.Name .Values.nameOverride }}
{{- if contains $name .Release.Name }}
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
{{- else }}
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
{{- end }}
{{- end }}
{{- end }}

{{/*
Create chart name and version as used by the chart label.
*/}}
{{- define "application-quality-reference-deployment.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
{{- end }}

{{/*
Common labels
*/}}
{{- define "application-quality-reference-deployment.labels" -}}
helm.sh/chart: {{ include "application-quality-reference-deployment.chart" . }}
{{ include "application-quality-reference-deployment.selectorLabels" . }}
{{- if .Chart.AppVersion }}
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
{{- end }}
app.kubernetes.io/managed-by: {{ .Release.Service }}
{{- end }}

{{/*
Selector labels
*/}}
{{- define "application-quality-reference-deployment.selectorLabels" -}}
app.kubernetes.io/name: {{ include "application-quality-reference-deployment.name" . }}
app.kubernetes.io/instance: {{ .Release.Name }}
{{- end }}

{{/*
Create the name of the service account to use
*/}}
{{- define "application-quality-reference-deployment.serviceAccountName" -}}
{{- if .Values.serviceAccount.create }}
{{- default (include "application-quality-reference-deployment.fullname" .) .Values.serviceAccount.name }}
{{- else }}
{{- default "default" .Values.serviceAccount.name }}
{{- end }}
{{- end }}
Original file line number Diff line number Diff line change
@@ -0,0 +1,22 @@
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: opensearch-admin-certificate
labels:
app.kubernetes.io/component: "opensearch"
{{- include "application-quality-reference-deployment.labels" . | nindent 4 }}
spec:
secretName: opensearch-admin-certificate
isCA: false
usages:
- digital signature
- key encipherment
- server auth
- client auth
commonName: opensearch-admin
issuerRef:
{{- toYaml .Values.global.defaultInternalIssuerRef | nindent 4 }}
privateKey:
algorithm: RSA
encoding: PKCS8
size: 2048
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: opensearch-dashboards-client-certificate
labels:
app.kubernetes.io/component: "opensearch-dashboards"
{{- include "application-quality-reference-deployment.labels" . | nindent 4 }}
spec:
secretName: opensearch-dashboards-client-certificate
isCA: false
usages:
- digital signature
- key encipherment
- server auth
- client auth
commonName: dashboards-client
#dnsNames:
# - "application-quality-dashboards.{{ .Release.Namespace }}.{{ .Values.global.internalDomain }}"
# - "application-quality-dashboards"
issuerRef:
{{- toYaml .Values.global.defaultInternalIssuerRef | nindent 4 }}
privateKey:
algorithm: RSA
encoding: PKCS8
size: 2048
Original file line number Diff line number Diff line change
@@ -0,0 +1,25 @@
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: opensearch-dashboards-tls-certificate
labels:
app.kubernetes.io/component: "opensearch-dashboards"
{{- include "application-quality-reference-deployment.labels" . | nindent 4 }}
spec:
secretName: opensearch-dashboards-tls-certificate
isCA: false
usages:
- digital signature
- key encipherment
- server auth
- client auth
commonName: application-quality-opensearch-dashboards
dnsNames:
- "application-quality-opensearch-dashboards.{{ .Release.Namespace }}.{{ .Values.global.internalDomain }}"
- "application-quality-opensearch-dashboards"
issuerRef:
{{- toYaml .Values.global.defaultInternalIssuerRef | nindent 4 }}
privateKey:
algorithm: RSA
encoding: PKCS8
size: 2048
Original file line number Diff line number Diff line change
@@ -0,0 +1,27 @@
apiVersion: cert-manager.io/v1
kind: Certificate
metadata:
name: opensearch-tls-certificate
labels:
app.kubernetes.io/component: "opensearch"
{{- include "application-quality-reference-deployment.labels" . | nindent 4 }}
spec:
secretName: opensearch-tls-certificate
isCA: false
usages:
- digital signature
- key encipherment
- server auth
- client auth
commonName: application-quality-opensearch-node
dnsNames:
- "opensearch-cluster-master-headless.{{ .Release.Namespace }}.{{ .Values.global.internalDomain }}"
- "opensearch-cluster-master.{{ .Release.Namespace }}.{{ .Values.global.internalDomain }}"
- "opensearch-cluster-master-headless"
- "opensearch-cluster-master"
issuerRef:
{{- toYaml .Values.global.defaultInternalIssuerRef | nindent 4 }}
privateKey:
algorithm: RSA
encoding: PKCS8
size: 2048
Loading