Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

ImageName should be able to parse image names with IPv6 address literals #2603

Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
25 commits
Select commit Hold shift + click to select a range
6949be6
parsing IPv6 literals support added
Devashishbasu Feb 1, 2024
16e07c5
test : Add TestHttpBuildPackArtifactsServer in jkube-kit/common
rohanKanojia Jan 31, 2024
302b2b7
fix: remove KubernetesResourceUtil.ensureHasPort unnecessary 'null' c…
ArunErram Feb 1, 2024
dfa0486
test(jkube-kit-enricher-api): Replaced org.mockito.Mockito references…
ShantKhatri Feb 1, 2024
b5dbf12
test(jkube-kit-enricher-api): Replaced org.mockito references from En…
ShantKhatri Feb 1, 2024
b9515f5
Implemented suggested changes by sonarcloud
Devashishbasu Feb 2, 2024
708dff2
fix: SecretEnricher.getSecretsFromXmlConfig returns Collections.empty…
sankritimishra Feb 2, 2024
7a60b29
feat(helm): add helm-java dependency
manusa Feb 2, 2024
70b6723
test(jkube-kit-build-api): Removed mock statements from AssemblyManag…
ShantKhatri Feb 2, 2024
44bbcdb
test: DefaultControllerEnricherCreateTest.setUp The declared Exceptio…
ravindercodes Feb 2, 2024
81fed6a
updated the suggested changes
Devashishbasu Feb 3, 2024
4a874ff
test: remove redundant throws in IngressEnricherTest.setUp (#2618)
AmitPatil05 Feb 5, 2024
51a80d3
chore(deps): Bump org.apache.maven:maven-core in /jkube-kit/parent
dependabot[bot] Feb 2, 2024
ed4154b
fix (jkube-kit/enricher) : WellKnownLabelEnricher also considers labe…
rohanKanojia Jan 25, 2024
6cd411a
review: Well Known Label Enricher
manusa Feb 5, 2024
ed0cc80
SecretEnricher getSecretsFromXmlConfig should return Collections.empt…
sankritimishra Feb 5, 2024
c162993
fix(quickstarts/maven): Removed unused run configuration (#2620)
ShantKhatri Feb 5, 2024
d38642f
test : Add TestHttpBuildPackArtifactsServer in jkube-kit/common
rohanKanojia Jan 31, 2024
0db5cce
feat (jkube-kit/config/service) : Add BuildPackBuildService (#2493)
rohanKanojia Dec 6, 2023
005241e
review: BuildPackBuildService
manusa Feb 5, 2024
13e01f8
feat: HelmService provides linting features
manusa Feb 5, 2024
d828cd2
feat: helm lint exposed in Gradle and Maven plugins
manusa Feb 6, 2024
da8eb46
adding suggested changes by rohan sir
Devashishbasu Feb 8, 2024
c142522
parsing IPv6 literals support added
Devashishbasu Feb 1, 2024
ef6583e
Merge branch 'ImageName-should-be-able-to-parse-image-names-with-IPv6…
Devashishbasu Feb 8, 2024
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
42 changes: 42 additions & 0 deletions gradle-plugin/it/src/it/helm-lint/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
/*
* Copyright (c) 2019 Red Hat, Inc.
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at:
*
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
plugins {
id 'org.eclipse.jkube.kubernetes' version "${jKubeVersion}"
id 'org.eclipse.jkube.openshift' version "${jKubeVersion}"
id 'java'
}

group = 'org.eclipse.jkube.integration.tests.gradle'
version = '0.0.1-SNAPSHOT'
sourceCompatibility = '11'

repositories {
mavenCentral()
}

def extensionConfig = {
offline = true
images {
image {
name = 'repository/helm-fragment:latest'
build {
from = 'repository/from:latest'
}
}
}
}

kubernetes(extensionConfig)
openshift(extensionConfig)

34 changes: 34 additions & 0 deletions gradle-plugin/it/src/it/well-known-labels/build.gradle
Original file line number Diff line number Diff line change
Expand Up @@ -25,6 +25,32 @@ repositories {
mavenCentral()
}

def allProperties = new Properties();
allProperties.put("team","via-resource-groovy-dsl-labels-all")
allProperties.put("language", "via-resource-groovy-dsl-labels-all")
allProperties.put("provider", "via-resource-groovy-dsl-labels-all")
allProperties.put("app", "via-resource-groovy-dsl-labels-all")
allProperties.put("version", "via-resource-groovy-dsl-labels-all")
allProperties.put("group", "via-resource-groovy-dsl-labels-all")
allProperties.put("app.kubernetes.io/name", "via-resource-groovy-dsl-labels-all")
allProperties.put("app.kubernetes.io/version", "via-resource-groovy-dsl-labels-all")
allProperties.put("app.kubernetes.io/component", "via-resource-groovy-dsl-labels-all")
allProperties.put("app.kubernetes.io/managed-by", "via-resource-groovy-dsl-labels-all")
allProperties.put("app.kubernetes.io/part-of", "via-resource-groovy-dsl-labels-all")

def serviceProperties = new Properties();
serviceProperties.put("team", "via-resource-groovy-dsl-labels-service")
serviceProperties.put("language", "via-resource-groovy-dsl-labels-service")
serviceProperties.put("provider", "via-resource-groovy-dsl-labels-service")
serviceProperties.put("app", "via-resource-groovy-dsl-labels-service")
serviceProperties.put("version", "via-resource-groovy-dsl-labels-service")
serviceProperties.put("group", "via-resource-groovy-dsl-labels-service")
serviceProperties.put("app.kubernetes.io/name", "via-resource-groovy-dsl-labels-service")
serviceProperties.put("app.kubernetes.io/version", "via-resource-groovy-dsl-labels-service")
serviceProperties.put("app.kubernetes.io/component", "via-resource-groovy-dsl-labels-service")
serviceProperties.put("app.kubernetes.io/managed-by", "via-resource-groovy-dsl-labels-service")
serviceProperties.put("app.kubernetes.io/part-of", "via-resource-groovy-dsl-labels-service")

def extensionConfig = {
offline = true
images {
Expand All @@ -36,6 +62,14 @@ def extensionConfig = {
}
}
}
if (project.hasProperty('labelsViaResourceConfig')) {
resources {
labels {
all = allProperties
service = serviceProperties
}
}
}
}

kubernetes(extensionConfig)
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,103 @@
---
apiVersion: v1
kind: List
items:
- apiVersion: v1
kind: Service
metadata:
annotations:
jkube.eclipse.org/git-branch: "@ignore@"
jkube.eclipse.org/git-commit: "@ignore@"
jkube.eclipse.org/git-url: "@ignore@"
labels:
app: via-resource-groovy-dsl-labels-service
app.kubernetes.io/component: via-resource-groovy-dsl-labels-service
app.kubernetes.io/managed-by: via-resource-groovy-dsl-labels-service
app.kubernetes.io/name: via-resource-groovy-dsl-labels-service
app.kubernetes.io/part-of: via-resource-groovy-dsl-labels-service
app.kubernetes.io/version: via-resource-groovy-dsl-labels-service
group: via-resource-groovy-dsl-labels-service
provider: via-resource-groovy-dsl-labels-service
version: via-resource-groovy-dsl-labels-service
name: well-known-labels
spec:
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 8080
selector:
app: via-resource-groovy-dsl-labels-service
app.kubernetes.io/component: via-resource-groovy-dsl-labels-service
app.kubernetes.io/managed-by: via-resource-groovy-dsl-labels-service
app.kubernetes.io/name: via-resource-groovy-dsl-labels-service
app.kubernetes.io/part-of: via-resource-groovy-dsl-labels-service
group: via-resource-groovy-dsl-labels-service
provider: via-resource-groovy-dsl-labels-service
- apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
jkube.eclipse.org/git-branch: "@ignore@"
jkube.eclipse.org/git-commit: "@ignore@"
jkube.eclipse.org/git-url: "@ignore@"
labels:
app: via-resource-groovy-dsl-labels-all
app.kubernetes.io/component: via-resource-groovy-dsl-labels-all
app.kubernetes.io/managed-by: via-resource-groovy-dsl-labels-all
app.kubernetes.io/name: via-resource-groovy-dsl-labels-all
app.kubernetes.io/part-of: via-resource-groovy-dsl-labels-all
app.kubernetes.io/version: via-resource-groovy-dsl-labels-all
group: via-resource-groovy-dsl-labels-all
provider: via-resource-groovy-dsl-labels-all
version: via-resource-groovy-dsl-labels-all
name: well-known-labels
spec:
replicas: 1
revisionHistoryLimit: 2
selector:
matchLabels:
app: via-resource-groovy-dsl-labels-all
app.kubernetes.io/component: via-resource-groovy-dsl-labels-all
app.kubernetes.io/managed-by: via-resource-groovy-dsl-labels-all
app.kubernetes.io/name: via-resource-groovy-dsl-labels-all
app.kubernetes.io/part-of: via-resource-groovy-dsl-labels-all
group: via-resource-groovy-dsl-labels-all
provider: via-resource-groovy-dsl-labels-all
template:
metadata:
annotations:
jkube.eclipse.org/git-branch: "@ignore@"
jkube.eclipse.org/git-commit: "@ignore@"
jkube.eclipse.org/git-url: "@ignore@"
labels:
app: via-resource-groovy-dsl-labels-all
app.kubernetes.io/component: via-resource-groovy-dsl-labels-all
app.kubernetes.io/managed-by: via-resource-groovy-dsl-labels-all
app.kubernetes.io/name: via-resource-groovy-dsl-labels-all
app.kubernetes.io/part-of: via-resource-groovy-dsl-labels-all
app.kubernetes.io/version: via-resource-groovy-dsl-labels-all
group: via-resource-groovy-dsl-labels-all
provider: via-resource-groovy-dsl-labels-all
version: via-resource-groovy-dsl-labels-all
name: well-known-labels
spec:
containers:
- env:
- name: KUBERNETES_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: HOSTNAME
valueFrom:
fieldRef:
fieldPath: metadata.name
image: repository/well-known-labels:latest
imagePullPolicy: IfNotPresent
name: repository-well-known-labels
ports:
- containerPort: 8080
name: http
protocol: TCP
securityContext:
privileged: false
Original file line number Diff line number Diff line change
@@ -0,0 +1,144 @@
---
apiVersion: v1
kind: List
items:
- apiVersion: v1
kind: Service
metadata:
annotations:
app.openshift.io/vcs-ref: "@ignore@"
app.openshift.io/vcs-uri: "@ignore@"
jkube.eclipse.org/git-branch: "@ignore@"
jkube.eclipse.org/git-commit: "@ignore@"
jkube.eclipse.org/git-url: "@ignore@"
labels:
app: via-resource-groovy-dsl-labels-service
app.kubernetes.io/component: via-resource-groovy-dsl-labels-service
app.kubernetes.io/managed-by: via-resource-groovy-dsl-labels-service
app.kubernetes.io/name: via-resource-groovy-dsl-labels-service
app.kubernetes.io/part-of: via-resource-groovy-dsl-labels-service
app.kubernetes.io/version: via-resource-groovy-dsl-labels-service
group: via-resource-groovy-dsl-labels-service
provider: via-resource-groovy-dsl-labels-service
version: via-resource-groovy-dsl-labels-service
name: well-known-labels
spec:
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 8080
selector:
app: via-resource-groovy-dsl-labels-service
app.kubernetes.io/component: via-resource-groovy-dsl-labels-service
app.kubernetes.io/managed-by: via-resource-groovy-dsl-labels-service
app.kubernetes.io/name: via-resource-groovy-dsl-labels-service
app.kubernetes.io/part-of: via-resource-groovy-dsl-labels-service
group: via-resource-groovy-dsl-labels-service
provider: via-resource-groovy-dsl-labels-service
- apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
annotations:
app.openshift.io/vcs-ref: "@ignore@"
app.openshift.io/vcs-uri: "@ignore@"
jkube.eclipse.org/git-branch: "@ignore@"
jkube.eclipse.org/git-commit: "@ignore@"
jkube.eclipse.org/git-url: "@ignore@"
labels:
app: via-resource-groovy-dsl-labels-all
app.kubernetes.io/component: via-resource-groovy-dsl-labels-all
app.kubernetes.io/managed-by: via-resource-groovy-dsl-labels-all
app.kubernetes.io/name: via-resource-groovy-dsl-labels-all
app.kubernetes.io/part-of: via-resource-groovy-dsl-labels-all
app.kubernetes.io/version: via-resource-groovy-dsl-labels-all
group: via-resource-groovy-dsl-labels-all
provider: via-resource-groovy-dsl-labels-all
version: via-resource-groovy-dsl-labels-all
name: well-known-labels
spec:
replicas: 1
revisionHistoryLimit: 2
selector:
app: via-resource-groovy-dsl-labels-all
app.kubernetes.io/component: via-resource-groovy-dsl-labels-all
app.kubernetes.io/managed-by: via-resource-groovy-dsl-labels-all
app.kubernetes.io/name: via-resource-groovy-dsl-labels-all
app.kubernetes.io/part-of: via-resource-groovy-dsl-labels-all
group: via-resource-groovy-dsl-labels-all
provider: via-resource-groovy-dsl-labels-all
strategy:
rollingParams:
timeoutSeconds: 3600
type: Rolling
template:
metadata:
annotations:
app.openshift.io/vcs-ref: "@ignore@"
app.openshift.io/vcs-uri: "@ignore@"
jkube.eclipse.org/git-branch: "@ignore@"
jkube.eclipse.org/git-commit: "@ignore@"
jkube.eclipse.org/git-url: "@ignore@"
labels:
app: via-resource-groovy-dsl-labels-all
app.kubernetes.io/component: via-resource-groovy-dsl-labels-all
app.kubernetes.io/managed-by: via-resource-groovy-dsl-labels-all
app.kubernetes.io/name: via-resource-groovy-dsl-labels-all
app.kubernetes.io/part-of: via-resource-groovy-dsl-labels-all
app.kubernetes.io/version: via-resource-groovy-dsl-labels-all
group: via-resource-groovy-dsl-labels-all
provider: via-resource-groovy-dsl-labels-all
version: via-resource-groovy-dsl-labels-all
name: well-known-labels
spec:
containers:
- env:
- name: KUBERNETES_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
image: repository/well-known-labels:latest
imagePullPolicy: IfNotPresent
name: repository-well-known-labels
ports:
- containerPort: 8080
name: http
protocol: TCP
securityContext:
privileged: false
triggers:
- type: ConfigChange
- imageChangeParams:
automatic: true
containerNames:
- repository-well-known-labels
from:
kind: ImageStreamTag
name: well-known-labels:latest
type: ImageChange
- apiVersion: route.openshift.io/v1
kind: Route
metadata:
annotations:
app.openshift.io/vcs-ref: "@ignore@"
app.openshift.io/vcs-uri: "@ignore@"
jkube.eclipse.org/git-branch: "@ignore@"
jkube.eclipse.org/git-commit: "@ignore@"
jkube.eclipse.org/git-url: "@ignore@"
labels:
app: via-resource-groovy-dsl-labels-all
app.kubernetes.io/component: via-resource-groovy-dsl-labels-all
app.kubernetes.io/managed-by: via-resource-groovy-dsl-labels-all
app.kubernetes.io/name: via-resource-groovy-dsl-labels-all
app.kubernetes.io/part-of: via-resource-groovy-dsl-labels-all
app.kubernetes.io/version: via-resource-groovy-dsl-labels-all
group: via-resource-groovy-dsl-labels-all
provider: via-resource-groovy-dsl-labels-all
version: via-resource-groovy-dsl-labels-all
name: well-known-labels
spec:
port:
targetPort: 8080
to:
kind: Service
name: well-known-labels
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
/*
* Copyright (c) 2019 Red Hat, Inc.
* This program and the accompanying materials are made
* available under the terms of the Eclipse Public License 2.0
* which is available at:
*
* https://www.eclipse.org/legal/epl-2.0/
*
* SPDX-License-Identifier: EPL-2.0
*
* Contributors:
* Red Hat, Inc. - initial API and implementation
*/
package org.eclipse.jkube.gradle.plugin.tests;

import org.gradle.testkit.runner.BuildResult;
import org.junit.jupiter.api.BeforeEach;
import org.junit.jupiter.api.Test;
import org.junit.jupiter.api.extension.RegisterExtension;

import static org.assertj.core.api.AssertionsForClassTypes.assertThat;

class HelmLintIT {

@RegisterExtension
public final ITGradleRunnerExtension gradleRunner = new ITGradleRunnerExtension();

@BeforeEach
void setUp() {
gradleRunner.withITProject("helm-lint");
}

@Test
void k8sHelmLint() {
// When
final BuildResult result = gradleRunner
.withArguments("clean", "k8sResource", "k8sHelm", "k8sHelmLint").build();
// Then
assertThat(result).extracting(BuildResult::getOutput).asString()
.contains("k8s: Linting helm-lint 0.0.1-SNAPSHOT")
.contains("k8s: [INFO] Chart.yaml: icon is recommended")
.contains("k8s: Linting successful");
}

@Test
void ocHelmLint() {
// When
final BuildResult result = gradleRunner
.withArguments("clean", "ocResource", "ocHelm", "ocHelmLint").build();
// Then
assertThat(result).extracting(BuildResult::getOutput).asString()
.contains("oc: Linting helm-lint 0.0.1-SNAPSHOT")
.contains("oc: [INFO] Chart.yaml: icon is recommended")
.contains("oc: Linting successful");
}
}
Loading