File Coverage

blib/lib/IO/K8s/Role/HelmManaged.pm
Criterion Covered Total %
statement 27 27 100.0
branch n/a
condition 6 10 60.0
subroutine 5 5 100.0
pod 0 4 0.0
total 38 46 82.6


line stmt bran cond sub pod time code
1             package IO::K8s::Role::HelmManaged;
2             # ABSTRACT: Role for K3s Helm chart management
3             our $VERSION = '1.008';
4 3     3   1895 use Moo::Role;
  3         7  
  3         26  
5              
6             sub from_repo {
7 2     2 0 298363 my ($self, $repo_url, $chart_name) = @_;
8 2   50     52 my $spec = $self->spec // {};
9 2         27 $spec->{repo} = $repo_url;
10 2         7 $spec->{chart} = $chart_name;
11 2         40 $self->spec($spec);
12 2         73 return $self;
13             }
14              
15             sub set_version {
16 2     2 0 4 my ($self, $version) = @_;
17 2   50     28 my $spec = $self->spec // {};
18 2         11 $spec->{version} = $version;
19 2         77 $self->spec($spec);
20 2         33 return $self;
21             }
22              
23             sub set_values {
24 2     2 0 4740 my ($self, %values) = @_;
25 2   100     24 my $spec = $self->spec // {};
26 2   50     16 my $existing = $spec->{set} // {};
27 2         5 @{$existing}{keys %values} = values %values;
  2         5  
28 2         4 $spec->{set} = $existing;
29 2         22 $self->spec($spec);
30 2         31 return $self;
31             }
32              
33             sub set_values_yaml {
34 2     2 0 8180 my ($self, $yaml_str) = @_;
35 2   50     29 my $spec = $self->spec // {};
36 2         20 $spec->{valuesContent} = $yaml_str;
37 2         23 $self->spec($spec);
38 2         39 return $self;
39             }
40              
41             1;
42              
43             __END__