Skip to content

Commit

Permalink
feat(stacks.api/addons/arc): add retained docker sc for var docker, f…
Browse files Browse the repository at this point in the history
…ix missing var docker mount

Signed-off-by: Braden Mars <bradenmars@bradenmars.me>
  • Loading branch information
BradenM committed Sep 21, 2023
1 parent d193080 commit 5e57cea
Showing 1 changed file with 41 additions and 10 deletions.
51 changes: 41 additions & 10 deletions packages/stacks/api/src/addons/arc.ts
Original file line number Diff line number Diff line change
Expand Up @@ -206,11 +206,23 @@ export class ARCScaleSet extends blueprints.HelmAddOn {

const mergedValues = defu(this.options.values ?? {}, ...values)
debug('merged values: %O', mergedValues)
clusterInfo.cluster.addManifest(
const scManifest = clusterInfo.cluster.addManifest(
'arc-storage-class',
this.createStorageClassTemplate(),
this.createStorageClassTemplate({
name: 'arc-gp3-sc',
reclaimPolicy: 'Delete',
}),
)
const dockerScManifest = clusterInfo.cluster.addManifest(
'arc-docker-storage-class',
this.createStorageClassTemplate({
name: 'arc-docker-sc',
reclaimPolicy: 'Retain',
}),
)
const chart = this.addHelmChart(clusterInfo, mergedValues)
chart.node.addDependency(scManifest)
chart.node.addDependency(dockerScManifest)
if (this.options.createNamespace) {
const namespace = blueprints.utils.createNamespace(
this.options.namespace!,
Expand All @@ -225,16 +237,19 @@ export class ARCScaleSet extends blueprints.HelmAddOn {
* Create the template spec for storage class.
* @protected
*/
protected createStorageClassTemplate() {
protected createStorageClassTemplate(options: {
name: string
reclaimPolicy: 'Retain' | 'Delete'
}) {
return {
apiVersion: 'storage.k8s.io/v1',
kind: 'StorageClass',
metadata: {
name: 'arc-gp3-sc',
name: options.name,
},
provisioner: 'ebs.csi.aws.com',
volumeBindingMode: 'WaitForFirstConsumer',
reclaimPolicy: 'Delete',
reclaimPolicy: options.reclaimPolicy,
allowVolumeExpansion: true,
parameters: {
type: 'gp3',
Expand All @@ -243,15 +258,20 @@ export class ARCScaleSet extends blueprints.HelmAddOn {
}

/**
*
* Create the template spec for volume claim.
* @param storageRequest Request amount and unit.
* @param storageClassName Storage class name.
* @protected
*/
protected createVolumeClaimTemplate(storageRequest: string) {
protected createVolumeClaimTemplate(
storageRequest: string,
storageClassName: string,
) {
return {
spec: {
accessModes: ['ReadWriteOnce'],
storageClassName: 'arc-gp3-sc',
storageClassName: storageClassName,
resources: {
requests: {
storage: storageRequest,
Expand Down Expand Up @@ -326,6 +346,7 @@ export class ARCScaleSet extends blueprints.HelmAddOn {
],
volumeMounts: [
this.templateVolumeMounts[ScaleSetVolumes.WORK],
this.templateVolumeMounts[ScaleSetVolumes.VAR_DOCKER],
this.templateVolumeMounts[ScaleSetVolumes.DIND_CERT],
this.templateVolumeMounts[ScaleSetVolumes.DIND_EXTERNALS],
this.templateVolumeMounts[ScaleSetVolumes.TMP],
Expand All @@ -347,7 +368,7 @@ export class ARCScaleSet extends blueprints.HelmAddOn {
},
requests: {
cpu: '1.0',
memory: '2Gi',
memory: '1Gi',
},
}
}
Expand Down Expand Up @@ -386,6 +407,10 @@ export class ARCScaleSet extends blueprints.HelmAddOn {
},
},
},
{
name: 'RUNNER_WAIT_FOR_DOCKER_IN_SECONDS',
value: '250',
},
]

if (this.options.useDindRunner) {
Expand Down Expand Up @@ -465,15 +490,21 @@ export class ARCScaleSet extends blueprints.HelmAddOn {
const volumes = {
[ScaleSetVolumes.WORK]: {
ephemeral: {
volumeClaimTemplate: this.createVolumeClaimTemplate('10Gi'),
volumeClaimTemplate: this.createVolumeClaimTemplate(
'10Gi',
'arc-gp3-sc',
),
},
},
[ScaleSetVolumes.RUNNER]: {
emptyDir: {},
},
[ScaleSetVolumes.VAR_DOCKER]: {
ephemeral: {
volumeClaimTemplate: this.createVolumeClaimTemplate('10Gi'),
volumeClaimTemplate: this.createVolumeClaimTemplate(
'10Gi',
'arc-docker-sc',
),
},
},
[ScaleSetVolumes.TMP]: {
Expand Down

0 comments on commit 5e57cea

Please sign in to comment.