Hierarchy

  • HelmAddOn
    • ARCScaleSet

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;
            };
        };
    }

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

Methods

  • Deploys the helm chart in the cluster.

    Parameters

    • clusterInfo: ClusterInfo
    • Optional values: Values
    • Optional createNamespace: boolean
    • Optional wait: boolean
    • Optional timeout: 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;
                }[];
            }[];
        };
    }

    • 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;
              }[];
          }[];
      }
      • 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;
                }[];
            }[];
        };
    }

    • 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;
              }[];
          }[];
      }
      • 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";
      }
      • 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;
    }

    • allowVolumeExpansion: boolean
    • apiVersion: string
    • kind: string
    • metadata: {
          name: string;
      }
      • name: string
    • parameters: {
          type: string;
      }
      • 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: 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;
            })[];
        }, 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> & {};
    }

    • metadata: {
          annotations: {
              karpenter.sh/do-not-evict: string;
          };
      }
      • annotations: {
            karpenter.sh/do-not-evict: string;
        }
        • karpenter.sh/do-not-evict: string
    • spec: Omit<{
          volumes: ({
              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;
          })[];
      }, 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: {
                            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;
            })[];
        };
    }, 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: 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;
            })[];
        }, 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 volume claim.

    Parameters

    • storageRequest: string

      Request amount and unit.

    • storageClassName: string

      Storage class name.

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

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

    • helmChart: HelmChartVersion

    Returns void

Generated using TypeDoc