Class: Kube::Cluster::Standard::Forgejo::Helm

Inherits:
Object
  • Object
show all
Defined in:
lib/kube/cluster/standard/forgejo/helm.rb

Constant Summary collapse

CHART_VERSION =
"16.2.1"

Instance Method Summary collapse

Constructor Details

#initialize(domain:, chart_version: CHART_VERSION, target_namespace: "default", storage_size: "200Gi", storage_class: "local-path", node_selector: nil, &block) ⇒ Helm

Returns a new instance of Helm.



14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
# File 'lib/kube/cluster/standard/forgejo/helm.rb', line 14

def initialize(
  domain:,
  chart_version: CHART_VERSION,
  target_namespace: "default",
  storage_size: "200Gi",
  storage_class: "local-path",
  node_selector: nil,
  &block
)
  super {
    .name = "forgejo"
    .namespace = "kube-system"
    spec.version = chart_version
    spec.chart = "oci://codeberg.org/forgejo-contrib/forgejo"
    spec.targetNamespace = target_namespace
    spec.valuesContent = <<~YAML
      gitea:
        config:
          server:
            ROOT_URL: https://#{domain}/
            DOMAIN: #{domain}
            SSH_DOMAIN: #{domain}
      persistence:
        enabled: true
        size: #{storage_size}
        storageClass: #{storage_class}
      #{node_selector ? "nodeSelector:\n  kubernetes.io/hostname: #{node_selector}" : ""}
    YAML

    instance_exec(&block) if block
  }
end