stevehipwell Helm Charts

repository·main·Indexed 41 days ago

https://github.com/stevehipwell/helm-charts

A collection of Kubernetes Helm charts maintained by stevehipwell, available via OCI registries (ghcr.io) or a traditional Helm repository. Included charts feature k8s-resources (0.1.0), kube-proxy (0.0.9), nexus3 (5.26.0), node-config (0.7.0), and overprovisioner (0.5.0). OCI releases are signed with Cosign for integrity and authenticity verification.

Tokens
37K
Snippets
52
Records
67
Agent score
51%

What's inside stevehipwell helm-charts

  1. Configure capacity mode for overprovisioning

    main

    The capacity.mode setting determines how pause pods are managed. You can choose between fixed or auto modes.

    • fixed: Uses a static number of replicas defined by capacity.fixed.replicas.
    • auto: Uses a cluster-proportional-autoscaler deployment to scale pause pods based on cluster size. When using auto, you can configure:
      • capacity.auto.coresPerReplica: Number of pause pod replicas to create per cluster core (default: 4).
      • capacity.auto.maxReplicas: Maximum number of pause pod replicas (default: 1).
      • capacity.auto.minReplicas: Minimum number of pause pod replicas (default: 1).
      • capacity.auto.nodesPerReplica: Number of pause pod replicas to create per cluster node (default: 1).
    # Example: Fixed mode
    capacity:
      mode: "fixed"
      fixed:
        replicas: 5
    
    # Example: Auto mode
    capacity:
      mode: "auto"
      auto:
        coresPerReplica: 4
        maxReplicas: 10
        minReplicas: 2
        nodesPerReplica: 1
  2. How Vertical Pod Autoscaler (VPA) works

    main

    The Vertical Pod Autoscaler (VPA) automates the management of resource requests and limits for containers in your pods.

    Key Behaviors:

    • Automatic Requests: It sets resource requests automatically based on actual usage, ensuring proper scheduling onto nodes.
    • Ratio Maintenance: It maintains the ratios between limits and requests that were originally specified in the container configuration.
    • Scaling: It can both down-scale pods that are over-requesting resources and up-scale pods that are under-requesting resources based on historical usage.

    Configuration: Autoscaling is controlled via a CustomResourceDefinition (CRD) named VerticalPodAutoscaler. This object allows you to specify which pods to target and how resource recommendations should be applied.

    Implementation Details:

    • The chart manages the MutatingWebhookConfiguration independently of the workload to ensure clean uninstalls.
    • Webhook certificates can be managed via Cert Manager.
    • The chart provides parameters for logging levels and ports, but other component-specific parameters must be passed in manually.
  3. Verify the OCI chart signature with Cosign

    main

    Because the OCI chart releases are signed by Cosign, you can verify the integrity and origin of the chart before installation to ensure it hasn't been tampered with.

    cosign verify --certificate-oidc-issuer https://token.actions.githubusercontent.com --certificate-identity-regexp 'https://github\.com/action-stars/helm-workflows/\.github/workflows/release\.yaml@.+' --certificate-github-workflow-repository stevehipwell/helm-charts --certificate-github-workflow-name Release ghcr.io/stevehipwell/helm-charts/vertical-pod-autoscaler:1.12.1
  4. Install the Vertical Pod Autoscaler chart via Non-OCI Repository

    main

    If you prefer the legacy non-OCI method, you can add the Helm repository and then install the chart using the standard helm upgrade --install command.

    helm repo add stevehipwell https://stevehipwell.github.io/helm-charts/
    helm upgrade --install vertical-pod-autoscaler stevehipwell/vertical-pod-autoscaler --version 1.12.1
  5. Install the nexus3 Helm chart via OCI

    main

    The recommended method to install the Sonatype Nexus 3 OSS chart is using the OCI repository. Use the helm upgrade --install command pointing to the GitHub Container Registry (ghcr.io) OCI endpoint.

    helm upgrade --install nexus3 oci://ghcr.io/stevehipwell/helm-charts/nexus3 --version 5.26.0
  6. Install the node-config Helm chart via OCI

    main

    The recommended method to install the node-config chart is using the OCI repository. This chart configures Kubernetes nodes via a DaemonSet init container.

    To install the chart, use the helm upgrade --install command pointing to the OCI registry.

    helm upgrade --install node-config oci://ghcr.io/stevehipwell/helm-charts/node-config --version 0.7.0
  7. Install the Vertical Pod Autoscaler chart via OCI

    main

    The recommended method to install the Vertical Pod Autoscaler (VPA) chart is using an OCI repository. This allows for signed releases that can be verified using Cosign.

    To install the chart, use the helm upgrade --install command pointing to the OCI registry.

    helm upgrade --install vertical-pod-autoscaler oci://ghcr.io/stevehipwell/helm-charts/vertical-pod-autoscaler --version 1.12.1
  8. Verify the Tigera Operator OCI Chart with Cosign

    main

    Since the OCI chart release is signed by Cosign, you can verify the integrity and authenticity of the chart before installation using the following command.

    cosign verify --certificate-oidc-issuer https://token.actions.githubusercontent.com --certificate-identity-regexp 'https://github\.com/action-stars/helm-workflows/\.github/workflows/release\.yaml@.+' --certificate-github-workflow-repository stevehipwell/helm-charts --certificate-github-workflow-name Release ghcr.io/stevehipwell/helm-charts/tigera-operator:2.14.2