Skip to content

Commit 1f61c05

Browse files
#95 Added Spark Infrastructure V2 integrations
Signed-off-by: Peter McClonski <mcclonski_peter@bah.com>
1 parent a222c9c commit 1f61c05

32 files changed

+193
-2
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,57 @@
1+
########################################
2+
## CONFIG | Spark Configs
3+
########################################
4+
metadata:
5+
namespace: default
6+
sparkApp:
7+
spec:
8+
sparkConf:
9+
spark.eventLog.enabled: "true"
10+
spark.eventLog.dir: "/opt/spark/spark-events"
11+
type: "placeholder" #required for a dry run test to pass, this should always be overridden
12+
mode: cluster
13+
imagePullPolicy: IfNotPresent
14+
restartPolicy:
15+
type: Never
16+
sparkVersion: "3.4.0"
17+
sparkConfigMap: spark-config
18+
dynamicAllocation:
19+
enabled: true
20+
initialExecutors: 0
21+
minExecutors: 0
22+
maxExecutors: 4
23+
volumes:
24+
- name: ivy-cache
25+
persistentVolumeClaim:
26+
claimName: ivy-cache
27+
- name: spark-events
28+
persistentVolumeClaim:
29+
claimName: spark-events-claim
30+
driver:
31+
cores: 1
32+
coreLimit: "1200m"
33+
memory: "512m"
34+
serviceAccount: spark
35+
volumeMounts:
36+
- name: ivy-cache
37+
mountPath: "/opt/spark/.ivy2"
38+
- name: spark-events
39+
mountPath: "/opt/spark/spark-events"
40+
executor:
41+
cores: 1
42+
coreLimit: "1200m"
43+
memory: "512m"
44+
labels:
45+
version: 3.4.0
46+
volumeMounts:
47+
- name: ivy-cache
48+
mountPath: "/opt/spark/.ivy2"
49+
- name: spark-events
50+
mountPath: "/opt/spark/spark-events"
51+
service:
52+
enabled: false
53+
spec:
54+
ports:
55+
- name: "debug"
56+
port: 4747
57+
targetPort: 4747

extensions/extensions-helm/aissemble-spark-history-chart/pom.xml extensions/extensions-helm/extensions-helm-spark-infrastructure/aissemble-spark-history-chart/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
<modelVersion>4.0.0</modelVersion>
44
<parent>
55
<groupId>com.boozallen.aissemble</groupId>
6-
<artifactId>extensions-helm</artifactId>
6+
<artifactId>extensions-helm-spark-infrastructure</artifactId>
77
<version>1.7.0-SNAPSHOT</version>
88
</parent>
99

Original file line numberDiff line numberDiff line change
@@ -0,0 +1,37 @@
1+
<?xml version="1.0" encoding="UTF-8"?>
2+
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
3+
<modelVersion>4.0.0</modelVersion>
4+
5+
<parent>
6+
<groupId>com.boozallen.aissemble</groupId>
7+
<artifactId>extensions-helm</artifactId>
8+
<version>1.7.0-SNAPSHOT</version>
9+
</parent>
10+
11+
<artifactId>extensions-helm-spark-infrastructure</artifactId>
12+
<name>aiSSEMBLE::Extensions::Helm::Spark Infrastructure</name>
13+
14+
<packaging>pom</packaging>
15+
16+
<modules>
17+
<module>aissemble-spark-history-chart</module>
18+
</modules>
19+
<build>
20+
<plugins>
21+
<!-- Disable unit testing on aggregator modules -->
22+
<plugin>
23+
<groupId>org.codehaus.mojo</groupId>
24+
<artifactId>exec-maven-plugin</artifactId>
25+
<version>3.1.0</version>
26+
<executions>
27+
<execution>
28+
<id>run tests</id>
29+
<inherited>false</inherited>
30+
<phase>none</phase>
31+
</execution>
32+
</executions>
33+
</plugin>
34+
</plugins>
35+
</build>
36+
37+
</project>

extensions/extensions-helm/pom.xml

+1-1
Original file line numberDiff line numberDiff line change
@@ -21,7 +21,6 @@
2121
<module>aissemble-inference-chart</module>
2222
<module>aissemble-versioning-chart</module>
2323
<module>aissemble-kafka-chart</module>
24-
<module>aissemble-spark-history-chart</module>
2524
<module>extensions-helm-hive</module>
2625
<module>aissemble-keycloak-chart</module>
2726
<module>aissemble-elasticsearch-operator-chart</module>
@@ -31,6 +30,7 @@
3130
<module>aissemble-lineage-http-consumer-chart</module>
3231
<module>aissemble-jenkins-chart</module>
3332
<module>extensions-helm-pipeline-invocation</module>
33+
<module>extensions-helm-spark-infrastructure</module>
3434
<module>aissemble-policy-decision-point-chart</module>
3535
<module>aissemble-mlflow-chart</module>
3636
<module>aissemble-localstack-chart</module>

foundation/foundation-mda/src/main/java/com/boozallen/aiops/mda/generator/KubernetesGenerator.java

+3
Original file line numberDiff line numberDiff line change
@@ -174,6 +174,9 @@ public class KubernetesGenerator extends AbstractKubernetesGenerator {
174174
* | sharedInfrastructureValuesDevFile | deployment/shared-infrastructure/shared-infrastructure.values-dev.yaml.vm | apps/${appName}/values-dev.yaml |
175175
* | sharedInfrastructureValuesFile | deployment/shared-infrastructure/shared-infrastructure.values.yaml.vm | apps/${appName}/values.yaml |
176176
* | sparkInfrastructureConfigMapFile | deployment/spark-infrastructure/templates/configmap.yaml.vm | apps/${appName}/templates/configmap.yaml |
177+
* | sparkInfrastructureHelmChartFileV2 | deployment/spark-infrastructure/v2/spark.infrastructure.chart.yaml.vm | apps/${appName}/Chart.yaml |
178+
* | sparkInfrastructureHelmValuesDevFileV2 | deployment/spark-infrastructure/v2/spark.infrastructure.values.dev.yaml.vm | apps/${appName}/values-dev.yaml |
179+
* | sparkInfrastructureHelmValuesFileV2 | deployment/spark-infrastructure/v2/spark.infrastructure.values.yaml.vm | apps/${appName}/values.yaml |
177180
* | sparkOperatorScheduledApplicationsCRD | deployment/spark-operator/crds/sparkoperator.k8s.io_scheduledsparkapplications.yaml.vm | apps/${appName}/crds/sparkoperator.k8s.io_scheduledsparkapplications.yaml |
178181
* | sparkOperatorApplicationsCRD | deployment/spark-operator/crds/sparkoperator.k8s.io_sparkapplications.yaml.vm | apps/${appName}/crds/sparkoperator.k8s.io_sparkapplications.yaml |
179182
* | sparkOperatorValuesDevFile | deployment/spark-operator/spark-operator.values-dev.yaml.vm | apps/${appName}/values-dev.yaml |

foundation/foundation-mda/src/main/resources/profiles.json

+22
Original file line numberDiff line numberDiff line change
@@ -292,6 +292,28 @@
292292
}
293293
]
294294
},
295+
{
296+
"name": "aissemble-spark-infrastructure-deploy-v2",
297+
"profileReferences": [
298+
{
299+
"name": "spark-infrastructure-kubernetes-v2"
300+
}
301+
]
302+
},
303+
{
304+
"name": "spark-infrastructure-kubernetes-v2",
305+
"targetReferences": [
306+
{
307+
"name": "sparkInfrastructureHelmChartFileV2"
308+
},
309+
{
310+
"name": "sparkInfrastructureHelmValuesFileV2"
311+
},
312+
{
313+
"name": "sparkInfrastructureHelmValuesDevFileV2"
314+
}
315+
]
316+
},
295317
{
296318
"name": "aissemble-spark-operator-deploy",
297319
"profileReferences": [

foundation/foundation-mda/src/main/resources/targets.json

+24
Original file line numberDiff line numberDiff line change
@@ -3166,5 +3166,29 @@
31663166
"generator": "com.boozallen.aiops.mda.generator.KubernetesGenerator",
31673167
"metadataContext": "targeted",
31683168
"overwritable": false
3169+
},
3170+
{
3171+
"name": "sparkInfrastructureHelmChartFileV2",
3172+
"templateName": "templates/deployment/spark-infrastructure/v2/spark.infrastructure.chart.yaml.vm",
3173+
"outputFile": "apps/${appName}/Chart.yaml",
3174+
"generator": "com.boozallen.aiops.mda.generator.KubernetesGenerator",
3175+
"metadataContext": "targeted",
3176+
"overwritable": false
3177+
},
3178+
{
3179+
"name": "sparkInfrastructureHelmValuesFileV2",
3180+
"templateName": "templates/deployment/spark-infrastructure/v2/spark.infrastructure.values.yaml.vm",
3181+
"outputFile": "apps/${appName}/values.yaml",
3182+
"generator": "com.boozallen.aiops.mda.generator.KubernetesGenerator",
3183+
"metadataContext": "targeted",
3184+
"overwritable": false
3185+
},
3186+
{
3187+
"name": "sparkInfrastructureHelmValuesDevFileV2",
3188+
"templateName": "templates/deployment/spark-infrastructure/v2/spark.infrastructure.values.dev.yaml.vm",
3189+
"outputFile": "apps/${appName}/values-dev.yaml",
3190+
"generator": "com.boozallen.aiops.mda.generator.KubernetesGenerator",
3191+
"metadataContext": "targeted",
3192+
"overwritable": false
31693193
}
31703194
]
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,35 @@
1+
apiVersion: v2
2+
name: ${appName}
3+
description: A Helm chart for ${appName}
4+
5+
# A chart can be either an 'application' or a 'library' chart.
6+
#
7+
# Application charts are a collection of templates that can be packaged into versioned archives
8+
# to be deployed.
9+
#
10+
# Library charts provide useful utilities or functions for the chart developer. They're included as
11+
# a dependency of application charts to inject those utilities and functions into the rendering
12+
# pipeline. Library charts do not define any templates and therefore cannot be deployed.
13+
type: application
14+
15+
# This is the chart version. This version number should be incremented each time you make changes
16+
# to the chart and its templates, including the app version.
17+
# Versions are expected to follow Semantic Versioning (https://semver.org/)
18+
version: ${version}
19+
20+
# This is the version number of the application being deployed. This version number should be
21+
# incremented each time you make changes to the application. Versions are not expected to
22+
# follow Semantic Versioning. They should reflect the version the application is using.
23+
# It is recommended to use it with quotes.
24+
appVersion: "1.0.0"
25+
26+
# To include an aiSSEMBLE chart with ArgoCD we must add it as a dependency until including from multiple sources
27+
# is moved out of beta and into the latest version of Argo.
28+
# https://argo-cd.readthedocs.io/en/stable/user-guide/multiple_sources/
29+
# Note that this requires prefixing values with the name of the dependency (see test/src/test/resources in the aiSSEMBLE repo
30+
# for example usage) in order to override values.
31+
dependencies:
32+
- name: aissemble-spark-history-chart
33+
version: ${versionTag}
34+
repository: oci://ghcr.io/boozallen
35+
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# This file contains the default values for the aiSSEMBLE Spark History Helm chart.
2+
3+
aissemble-spark-history-chart:
4+
service:
5+
type: LoadBalancer
6+
7+
ingress:
8+
enabled: false
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
# This file contains the default values for the aiSSEMBLE Spark History Helm chart.
2+
3+
aissemble-spark-history-chart:
4+
eventVolume:
5+
enabled: true

0 commit comments

Comments
 (0)