Documentation - v0.0.0
    Preparing search index...

    Hierarchy

    • HelmAddOn
      • ARCScaleSet
    Index

    Constructors

    Properties

    props: HelmChartConfiguration
    failOnVersionValidation: boolean
    validateHelmVersions: boolean

    Accessors

    • get containerResources(): {
          dind: {
              limits: { cpu: string; memory: string };
              requests: { cpu: string; memory: string };
          };
          runner: {
              limits: { cpu: string; memory: string };
              requests: { cpu: string; memory: string };
          };
      }

      Returns {
          dind: {
              limits: { cpu: string; memory: string };
              requests: { cpu: string; memory: string };
          };
          runner: {
              limits: { cpu: string; memory: string };
              requests: { cpu: string; memory: string };
          };
      }

    • get templateVolumeMounts(): {
          [k: string]: | { mountPath: string; name: string; subPathExpr: string }
          | { mountPath: string; name: string; subPathExpr: string }
          | { mountPath: string; name: string }
          | { mountPath: string; name: string; subPathExpr: string }
          | { mountPath: string; name: string; subPathExpr: string }
          | { mountPath: string; name: string; subPathExpr: string };
      }

      Returns {
          [k: string]:
              | { mountPath: string; name: string; subPathExpr: string }
              | { mountPath: string; name: string; subPathExpr: string }
              | { mountPath: string; name: string }
              | { mountPath: string; name: string; subPathExpr: string }
              | { mountPath: string; name: string; subPathExpr: string }
              | { mountPath: string; name: string; subPathExpr: string };
      }

    • get templateVolumes(): {
          [k: string]: | {
              ephemeral: {
                  volumeClaimTemplate: {
                      spec: {
                          accessModes: string[];
                          resources: { requests: { storage: string } };
                          storageClassName: string;
                      };
                  };
              };
              name: string;
          }
          | { emptyDir: {}; name: string }
          | {
              ephemeral: {
                  volumeClaimTemplate: {
                      spec: {
                          accessModes: string[];
                          resources: { requests: { storage: string } };
                          storageClassName: string;
                      };
                  };
              };
              name: string;
          }
          | { emptyDir: { medium: string }; name: string }
          | { emptyDir: { medium: string }; name: string }
          | { emptyDir: {}; name: string };
      }

      Returns {
          [k: string]:
              | {
                  ephemeral: {
                      volumeClaimTemplate: {
                          spec: {
                              accessModes: string[];
                              resources: { requests: { storage: string } };
                              storageClassName: string;
                          };
                      };
                  };
                  name: string;
              }
              | { emptyDir: {}; name: string }
              | {
                  ephemeral: {
                      volumeClaimTemplate: {
                          spec: {
                              accessModes: string[];
                              resources: { requests: { storage: string } };
                              storageClassName: string;
                          };
                      };
                  };
                  name: string;
              }
              | { emptyDir: { medium: string }; name: string }
              | { emptyDir: { medium: string }; name: string }
              | { emptyDir: {}; name: string };
      }

    Methods

    • Deploys the helm chart in the cluster.

      Parameters

      • clusterInfo: ClusterInfo
      • Optionalvalues: Values
      • OptionalcreateNamespace: boolean
      • Optionalwait: boolean
      • Optionaltimeout: Duration

      Returns Construct

    • Protected

      Create the template spec for dind container.

      Returns {
          spec: {
              containers: {
                  env: { name: string; valueFrom: { fieldRef: { fieldPath: string } } }[];
                  image: string;
                  imagePullPolicy: string;
                  name: ScaleSetContainer;
                  resources: {
                      limits: { cpu: string; memory: string };
                      requests: { cpu: string; memory: string };
                  };
                  securityContext: { privileged: boolean };
                  volumeMounts: { mountPath: string; name: string }[];
              }[];
              initContainers: {
                  command: string[];
                  env: { name: string; valueFrom: { fieldRef: { fieldPath: string } } }[];
                  image: string;
                  imagePullPolicy: string;
                  name: ScaleSetContainer;
                  volumeMounts: { mountPath: string; name: string }[];
              }[];
          };
      }

    • Protected

      Create the template spec for runner container.

      Returns {
          spec: {
              containers: {
                  command: string[];
                  env: Record<string, unknown>[];
                  image: string;
                  imagePullPolicy: string;
                  name: ScaleSetContainer;
                  resources: {
                      limits: { cpu: string; memory: string };
                      requests: { cpu: string; memory: string };
                  };
                  volumeMounts: { mountPath: string; name: string }[];
              }[];
              initContainers: {
                  command: string[];
                  env: { name: string; valueFrom: { fieldRef: { fieldPath: string } } }[];
                  image: string;
                  imagePullPolicy: string;
                  name: ScaleSetContainer;
                  volumeMounts: { mountPath: string; name: string }[];
              }[];
          };
      }

    • Protected

      Create the template spec for storage class.

      Parameters

      • options: { name: string; reclaimPolicy: "Delete" | "Retain" }

      Returns {
          allowVolumeExpansion: boolean;
          apiVersion: string;
          kind: string;
          metadata: { name: string };
          parameters: { type: string };
          provisioner: string;
          reclaimPolicy: "Delete" | "Retain";
          volumeBindingMode: string;
      }

    • Protected

      Create template helm value for runners.

      Returns {
          metadata: { annotations: { "karpenter.sh/do-not-evict": string } };
          spec: Omit<
              {
                  volumes: (
                      | {
                          ephemeral: {
                              volumeClaimTemplate: {
                                  spec: {
                                      accessModes: (...)[];
                                      resources: { requests: ... };
                                      storageClassName: string;
                                  };
                              };
                          };
                          name: string;
                      }
                      | { emptyDir: {}; name: string }
                      | {
                          ephemeral: {
                              volumeClaimTemplate: {
                                  spec: {
                                      accessModes: (...)[];
                                      resources: { requests: ... };
                                      storageClassName: string;
                                  };
                              };
                          };
                          name: string;
                      }
                      | { emptyDir: { medium: string }; name: string }
                      | { emptyDir: { medium: string }; name: string }
                      | { emptyDir: {}; name: string }
                  )[];
              },
              never,
          > & Omit<
              {
                  containers: {
                      command: string[];
                      env: Record<string, unknown>[];
                      image: string;
                      imagePullPolicy: string;
                      name: ScaleSetContainer;
                      resources: {
                          limits: { cpu: string; memory: string };
                          requests: { cpu: string; memory: string };
                      };
                      volumeMounts: { mountPath: string; name: string }[];
                  }[];
                  initContainers: {
                      command: string[];
                      env: { name: string; valueFrom: { fieldRef: { fieldPath: string } } }[];
                      image: string;
                      imagePullPolicy: string;
                      name: ScaleSetContainer;
                      volumeMounts: { mountPath: string; name: string }[];
                  }[];
              },
              never,
          > & {};
      }

    • Protected

      Create the template spec for ephemeral runners.

      Returns Omit<
          Omit<{}, never> & Omit<
              {
                  spec: {
                      volumes: (
                          | {
                              ephemeral: { volumeClaimTemplate: { spec: ... } };
                              name: string;
                          }
                          | { emptyDir: {}; name: string }
                          | { ephemeral: { volumeClaimTemplate: { spec: ... } }; name: string }
                          | { emptyDir: { medium: string }; name: string }
                          | { emptyDir: { medium: string }; name: string }
                          | { emptyDir: {}; name: string }
                      )[];
                  };
              },
              never,
          > & {},
          "spec",
      > & Omit<
          {
              spec: {
                  containers: {
                      command: string[];
                      env: Record<string, unknown>[];
                      image: string;
                      imagePullPolicy: string;
                      name: ScaleSetContainer;
                      resources: {
                          limits: { cpu: string; memory: string };
                          requests: { cpu: string; memory: string };
                      };
                      volumeMounts: { mountPath: string; name: string }[];
                  }[];
                  initContainers: {
                      command: string[];
                      env: { name: string; valueFrom: { fieldRef: { fieldPath: string } } }[];
                      image: string;
                      imagePullPolicy: string;
                      name: ScaleSetContainer;
                      volumeMounts: { mountPath: string; name: string }[];
                  }[];
              };
          },
          "spec",
      > & {
          spec: Omit<
              {
                  volumes: (
                      | {
                          ephemeral: {
                              volumeClaimTemplate: {
                                  spec: { accessModes: ...; resources: ...; storageClassName: ... };
                              };
                          };
                          name: string;
                      }
                      | { emptyDir: {}; name: string }
                      | {
                          ephemeral: {
                              volumeClaimTemplate: {
                                  spec: { accessModes: ...; resources: ...; storageClassName: ... };
                              };
                          };
                          name: string;
                      }
                      | { emptyDir: { medium: string }; name: string }
                      | { emptyDir: { medium: string }; name: string }
                      | { emptyDir: {}; name: string }
                  )[];
              },
              never,
          > & Omit<
              {
                  containers: {
                      command: string[];
                      env: Record<string, unknown>[];
                      image: string;
                      imagePullPolicy: string;
                      name: ScaleSetContainer;
                      resources: {
                          limits: { cpu: string; memory: string };
                          requests: { cpu: string; memory: string };
                      };
                      volumeMounts: { mountPath: string; name: string }[];
                  }[];
                  initContainers: {
                      command: string[];
                      env: { name: string; valueFrom: { fieldRef: { fieldPath: ... } } }[];
                      image: string;
                      imagePullPolicy: string;
                      name: ScaleSetContainer;
                      volumeMounts: { mountPath: string; name: string }[];
                  }[];
              },
              never,
          > & {};
      }

    • Protected

      Create the template spec for volume claim.

      Parameters

      • storageRequest: string

        Request amount and unit.

      • storageClassName: string

        Storage class name.

      Returns {
          spec: {
              accessModes: string[];
              resources: { requests: { storage: string } };
              storageClassName: string;
          };
      }

    • Expected to be implemented in concrete subclasses.

      Parameters

      • clusterInfo: ClusterInfo

      Returns Promise<Construct>

    • Parameters

      • helmChart: HelmChartVersion

      Returns void