Skip to content

Commit

Permalink
Squashed commit of the following:
Browse files Browse the repository at this point in the history
commit c7aaf6c
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Thu Sep 28 19:54:15 2023 +0100

    HelmUninstallChartTask code/examples/test coverage

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit 6240d28
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Wed Sep 27 17:18:35 2023 +0100

    fix test case failure

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit 4a51c38
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Wed Sep 27 14:47:16 2023 +0100

    removed todo for gradle plugin logging if error and added coverage for the same

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit 834586d
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Tue Sep 26 21:15:39 2023 +0100

    gradle-executable path provided

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit c2cbdbf
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Tue Sep 26 20:52:32 2023 +0100

    gradle-executable path provided

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit a7540dc
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Tue Sep 26 18:35:14 2023 +0100

    gradle-executable shouldn't be needed...

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit 480c288
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Tue Sep 26 18:12:35 2023 +0100

    supply gradle executable directory for new jobs

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit 719b24b
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Tue Sep 26 18:03:21 2023 +0100

    supply gradle executable directory for new jobs

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit 67e9c1c
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Tue Sep 26 17:39:47 2023 +0100

    Examples Spotless Check

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit 9c40db5
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Tue Sep 26 17:35:06 2023 +0100

    update job ids for new jobs

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit c80aa8b
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Tue Sep 26 17:31:18 2023 +0100

    add compile and unit test jobs for examples project since they are now separate

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit 4475c6a
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Tue Sep 26 17:21:14 2023 +0100

    updates based on feedback from Jendrick on hedera-services changes.

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit dd90490
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Tue Sep 26 09:41:51 2023 +0100

    updates based on changes in helm install subcommand

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit 6f436e6
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Mon Sep 25 14:42:22 2023 +0100

    temporarily disable fullstack-examples until we can resolve intellij and sonar issues

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit 962080e
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Fri Sep 22 20:12:30 2023 +0100

    Squashed commit of the following:

    commit d177c82
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Thu Sep 21 19:02:43 2023 +0100

        updated HelmExecutionBuilder workingDirectory to use PWD instead of new File('.') from FileUtils

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 7ef57c1
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Thu Sep 21 14:09:23 2023 +0100

        removed commented out code that was previously used for shadowjars

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 4891dd5
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Wed Sep 20 20:02:40 2023 +0100

        remove shadowjars

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 9d67a54
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Wed Sep 20 19:48:24 2023 +0100

        remove shadowjars

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 3dc75a0
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Wed Sep 20 19:43:55 2023 +0100

        todo

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 7660afb
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Wed Sep 20 19:42:46 2023 +0100

        more todo's

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 51df393
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Wed Sep 20 18:04:31 2023 +0100

        switch to a different repo to avoid test collisions

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 44754c1
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Wed Sep 20 17:35:19 2023 +0100

        remove code smells

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit d068f26
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Wed Sep 20 16:25:05 2023 +0100

        updated HelmInstallChartTaskTest to different chart/repo to avoid collisions with other tests

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 7821d6f
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Wed Sep 20 13:10:07 2023 +0100

        add licenses at top of kotlin files

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit ae3d3c7
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Wed Sep 20 13:02:06 2023 +0100

        added TODO

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 4a82261
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Wed Sep 20 12:53:04 2023 +0100

        Revert "removed unneeded test implementation reference"

        This reverts commit 8eedff9.

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 674c155
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Wed Sep 20 12:49:28 2023 +0100

        removed unneeded test implementation reference

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 23c3104
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Wed Sep 20 12:45:25 2023 +0100

        upcoming todo for next PR

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 72bf7b3
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Tue Sep 19 22:26:19 2023 +0100

        removed commented out code

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit aec75d3
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Tue Sep 19 22:24:54 2023 +0100

        FileUtils.getWorkingPath()

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 50e2a0e
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Tue Sep 19 22:21:05 2023 +0100

        remove commented out code

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 659283b
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Tue Sep 19 22:20:56 2023 +0100

        remove commented out code

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 5fb6e86
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Tue Sep 19 22:20:30 2023 +0100

        added namespace and create namespace and example chart for installing during build check

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 6102441
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Mon Sep 18 19:44:36 2023 +0100

        working version

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 7e06feb
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Mon Sep 18 19:29:05 2023 +0100

        task working

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 19c176b
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Mon Sep 18 19:06:37 2023 +0100

        non-working version

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 9e2e66f
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Mon Sep 18 17:01:59 2023 +0100

        compiling version although not executing of moving integration tests into examples

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit c5a9b8a
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Fri Sep 15 18:30:00 2023 +0100

        added logic to set the namespace in the helm install task

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit dc85197
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Fri Sep 15 17:47:30 2023 +0100

        removed duplicate export

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 6710059
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Fri Sep 15 17:28:10 2023 +0100

        added support for set and values parameters of install subcommand to handle sets

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 0d49686
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Fri Sep 15 17:27:21 2023 +0100

        enhanced helm client to handle sets of strings for values and set parameters for the install subcommand

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 3f634e0
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Thu Sep 14 19:39:03 2023 +0100

        test nmt install

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit a760d52
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Thu Sep 14 19:06:12 2023 +0100

        update version from 0.7.0 to 0.8.0

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 3c2a99b
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Thu Sep 14 19:04:34 2023 +0100

        todo

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 77c59ef
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Thu Sep 14 18:57:51 2023 +0100

        removed comment from FullstackPlugin.java

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 840f64b
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Thu Sep 14 18:56:19 2023 +0100

        reordered alphabetically

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 28005ad
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Thu Sep 14 18:53:54 2023 +0100

        added set parameter

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit 1d03540
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Thu Sep 14 18:32:07 2023 +0100

        update after merge from main made a mess (part2)

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    commit bb254c6
    Author: Jeromy Cannon <jeromy@swirldslabs.com>
    Date:   Thu Sep 14 18:26:36 2023 +0100

        update after merge from main made a mess

        Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit 7c5b663
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Mon Oct 2 17:07:26 2023 +0100

    better rename for options with multiple values

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit db5283d
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Mon Sep 25 21:45:18 2023 +0100

    updates based on code review

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit 72757ac
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Mon Sep 25 13:40:35 2023 +0100

    sonar changes

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit d1b70f8
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Fri Sep 22 19:55:41 2023 +0100

    coverage for ChartInstallRequest.apply()

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit 622fd31
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Fri Sep 22 19:55:13 2023 +0100

    spotlessApply

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit 25ca488
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Fri Sep 22 18:55:38 2023 +0100

    only %n for string.format

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

commit c9c45f9
Author: Jeromy Cannon <jeromy@swirldslabs.com>
Date:   Thu Sep 21 20:26:55 2023 +0100

    GMD: Enhance Helm Install to support multiple set and values parameters #366

    Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>

Signed-off-by: Jeromy Cannon <jeromy@swirldslabs.com>
  • Loading branch information
jeromy-cannon committed Oct 4, 2023
1 parent 6a29222 commit a2ef9fc
Show file tree
Hide file tree
Showing 4 changed files with 116 additions and 3 deletions.
8 changes: 6 additions & 2 deletions fullstack-examples/build.gradle.kts
Original file line number Diff line number Diff line change
Expand Up @@ -15,6 +15,7 @@
*/

import com.hedera.fullstack.gradle.plugin.HelmInstallChartTask
import com.hedera.fullstack.gradle.plugin.HelmUninstallChartTask

plugins {
id("java")
Expand Down Expand Up @@ -46,9 +47,12 @@ tasks.register<HelmInstallChartTask>("helmInstallNginxChart") {
chart.set("oci://ghcr.io/nginxinc/charts/nginx-ingress")
}

// TODO: task register helmUninstallNginxChart
tasks.register<HelmUninstallChartTask>("helmUninstallNginxChart") {
namespace.set("nginx-ns")
release.set("nginx-release")
}

tasks.check {
dependsOn("helmInstallNginxChart")
// TODO: depends on helmUninstallNginxChart
dependsOn("helmUninstallNginxChart")
}
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
/*
* Copyright (C) 2023 Hedera Hashgraph, LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.hedera.fullstack.gradle.plugin;

import com.hedera.fullstack.helm.client.HelmClient;
import com.hedera.fullstack.helm.client.HelmClientBuilder;
import org.gradle.api.DefaultTask;
import org.gradle.api.provider.Property;
import org.gradle.api.tasks.Input;
import org.gradle.api.tasks.Optional;
import org.gradle.api.tasks.TaskAction;
import org.gradle.api.tasks.options.Option;

public abstract class HelmUninstallChartTask extends DefaultTask {
@Input
@Optional
@Option(option = "namespace", description = "The namespace to use when installing the chart")
public abstract Property<String> getNamespace();

@Input
@Option(option = "release", description = "The name of the release to install")
public abstract Property<String> getRelease();

@TaskAction
void uninstallChart() {
HelmClientBuilder helmClientBuilder = HelmClient.builder();
if (getNamespace().isPresent()) {
helmClientBuilder.defaultNamespace(getNamespace().get());
}
HelmClient helmClient = helmClientBuilder.build();
try {
helmClient.uninstallChart(getRelease().getOrNull());
} catch (Exception e) {
this.getProject()
.getLogger()
.error(
"HelmUninstallChartTask.uninstallChart() An ERROR occurred while uninstalling the chart: ",
e);
throw e;
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -98,8 +98,13 @@ void testHelmInstallChartTaskSimple() {
});
assertEquals(RELEASE_NAME, helmInstallChartTask.getRelease().get());
helmInstallChartTask.installChart();
HelmUninstallChartTask helmUninstallChartTask = project.getTasks()
.create("helmUninstallChart", HelmUninstallChartTask.class, task -> {
task.getNamespace().set("simple-test");
task.getRelease().set(RELEASE_NAME);
});
helmUninstallChartTask.uninstallChart();
} finally {
suppressExceptions(() -> helmClient.uninstallChart(RELEASE_NAME));
suppressExceptions(() -> helmClient.removeRepository(REPOSITORY));
}
}
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
/*
* Copyright (C) 2023 Hedera Hashgraph, LLC
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package com.hedera.fullstack.gradle.plugin;

import static org.junit.jupiter.api.Assertions.assertThrows;

import com.hedera.fullstack.helm.client.HelmExecutionException;
import org.gradle.api.Project;
import org.gradle.testfixtures.ProjectBuilder;
import org.junit.jupiter.api.BeforeAll;
import org.junit.jupiter.api.DisplayName;
import org.junit.jupiter.api.Test;

class HelmUninstallChartTaskTest {
private static Project project;

@BeforeAll
static void beforeAll() {
project = ProjectBuilder.builder().build();
}

@Test
@DisplayName("test an error is thrown when the chart is not found")
void testErrorThrownWhenChartNotFound() {
assertThrows(HelmExecutionException.class, () -> {
HelmUninstallChartTask helmUninstallChartTask = project.getTasks()
.create("helmUninstallNonExistingChartChart", HelmUninstallChartTask.class, task -> {
task.getNamespace().set("test-failure");
task.getRelease().set("not-a-release");
});
helmUninstallChartTask.uninstallChart();
});
}
}

0 comments on commit a2ef9fc

Please sign in to comment.