Skip to content

Commit

Permalink
test (gradle-plugin/it) : Add Gradle integration test for initContain…
Browse files Browse the repository at this point in the history
…er configurtion

Signed-off-by: Rohan Kumar <rohaan@redhat.com>
  • Loading branch information
rohanKanojia committed Jan 30, 2023
1 parent 4da737b commit de561b9
Show file tree
Hide file tree
Showing 4 changed files with 400 additions and 0 deletions.
101 changes: 101 additions & 0 deletions gradle-plugin/it/src/it/initcontainers/build.gradle
Original file line number Diff line number Diff line change
@@ -0,0 +1,101 @@
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()
}

kubernetes {
offline = true
images {
image1 {
name = 'main-container:latest'
build {
from = 'quay.io/jkube/jkube-java-11'
ports = ['8080']
}
}
image2 {
name = 'init:latest'
build {
from = 'quay.io/jkube/jkube-java-11'
}
}
}
resources {
controller {
initContainers = [
{
name = 'init1'
imageName = 'busybox:1.28'
cmd {
exec = ["wget", "-O", "/work-dir/index.html", "http://info.cern.ch"]
}
volumes = [{
name = 'workdir'
path = '/work-dir'
}]
},{
name = 'init2'
imageName = 'init:latest'
}
]
volumes = [{
type = 'emptyDir'
name = 'workdir'
path = '/work-dir'
}]
}
}
}

openshift {
offline = true
images {
image1 {
name = 'main-container:latest'
build {
from = 'quay.io/jkube/jkube-java-11'
ports = ['8080']
}
}
image2 {
name = 'init:latest'
build {
from = 'quay.io/jkube/jkube-java-11'
}
}
}
resources {
controller {
initContainers = [
{
name = 'init1'
imageName = 'busybox:1.28'
cmd {
exec = ["wget", "-O", "/work-dir/index.html", "http://info.cern.ch"]
}
volumes = [{
name = 'workdir'
path = '/work-dir'
}]
},{
name = 'init2'
imageName = 'init:latest'
}
]
volumes = [{
type = 'emptyDir'
name = 'workdir'
path = '/work-dir'
}]
}
}
}
106 changes: 106 additions & 0 deletions gradle-plugin/it/src/it/initcontainers/expected/kubernetes.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,106 @@
---
apiVersion: v1
kind: List
items:
- apiVersion: v1
kind: Service
metadata:
annotations:
jkube.io/git-url: "@ignore@"
jkube.io/git-commit: "@ignore@"
jkube.io/git-branch: "@ignore@"
labels:
app: initcontainers
provider: jkube
version: "@ignore@"
group: org.eclipse.jkube.integration.tests.gradle
name: initcontainers
spec:
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 8080
selector:
app: initcontainers
provider: jkube
group: org.eclipse.jkube.integration.tests.gradle
- apiVersion: apps/v1
kind: Deployment
metadata:
annotations:
jkube.io/git-url: "@ignore@"
jkube.io/git-commit: "@ignore@"
jkube.io/git-branch: "@ignore@"
labels:
app: initcontainers
provider: jkube
version: "@ignore@"
group: org.eclipse.jkube.integration.tests.gradle
name: initcontainers
spec:
replicas: 1
revisionHistoryLimit: 2
selector:
matchLabels:
app: initcontainers
provider: jkube
group: org.eclipse.jkube.integration.tests.gradle
template:
metadata:
annotations:
jkube.io/git-url: "@ignore@"
jkube.io/git-commit: "@ignore@"
jkube.io/git-branch: "@ignore@"
labels:
app: initcontainers
provider: jkube
version: "@ignore@"
group: org.eclipse.jkube.integration.tests.gradle
name: initcontainers
spec:
containers:
- env:
- name: KUBERNETES_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: HOSTNAME
valueFrom:
fieldRef:
fieldPath: metadata.name
image: main-container:latest
imagePullPolicy: IfNotPresent
name: orgeclipsejkubeintegrationtestsgradle-initcontainers
ports:
- containerPort: 8080
name: http
protocol: TCP
securityContext:
privileged: false
initContainers:
- command:
- wget
- -O
- /work-dir/index.html
- http://info.cern.ch
env:
- name: HOSTNAME
valueFrom:
fieldRef:
fieldPath: metadata.name
image: busybox:1.28
name: init1
volumeMounts:
- mountPath: /work-dir
name: workdir
- env:
- name: HOSTNAME
valueFrom:
fieldRef:
fieldPath: metadata.name
image: init:latest
name: init2
volumes:
- emptyDir: {}
name: workdir
132 changes: 132 additions & 0 deletions gradle-plugin/it/src/it/initcontainers/expected/openshift.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,132 @@
---
apiVersion: v1
kind: List
items:
- apiVersion: v1
kind: Service
metadata:
annotations:
app.openshift.io/vcs-ref: "@ignore@"
jkube.io/git-url: "@ignore@"
app.openshift.io/vcs-uri: "@ignore@"
jkube.io/git-commit: "@ignore@"
jkube.io/git-branch: "@ignore@"
labels:
app: initcontainers
provider: jkube
version: "@ignore@"
group: org.eclipse.jkube.integration.tests.gradle
name: initcontainers
spec:
ports:
- name: http
port: 8080
protocol: TCP
targetPort: 8080
selector:
app: initcontainers
provider: jkube
group: org.eclipse.jkube.integration.tests.gradle
- apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
annotations:
app.openshift.io/vcs-ref: "@ignore@"
jkube.io/git-url: "@ignore@"
app.openshift.io/vcs-uri: "@ignore@"
jkube.io/git-commit: "@ignore@"
jkube.io/git-branch: "@ignore@"
labels:
app: initcontainers
provider: jkube
version: "@ignore@"
group: org.eclipse.jkube.integration.tests.gradle
name: initcontainers
spec:
replicas: 1
revisionHistoryLimit: 2
selector:
app: initcontainers
provider: jkube
group: org.eclipse.jkube.integration.tests.gradle
strategy:
rollingParams:
timeoutSeconds: 3600
type: Rolling
template:
metadata:
annotations:
app.openshift.io/vcs-ref: "@ignore@"
jkube.io/git-url: "@ignore@"
app.openshift.io/vcs-uri: "@ignore@"
jkube.io/git-commit: "@ignore@"
jkube.io/git-branch: "@ignore@"
labels:
app: initcontainers
provider: jkube
version: "@ignore@"
group: org.eclipse.jkube.integration.tests.gradle
name: initcontainers
spec:
containers:
- env:
- name: KUBERNETES_NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
image: main-container:latest
imagePullPolicy: IfNotPresent
name: orgeclipsejkubeintegrationtestsgradle-initcontainers
ports:
- containerPort: 8080
name: http
protocol: TCP
securityContext:
privileged: false
initContainers:
- command:
- wget
- -O
- /work-dir/index.html
- http://info.cern.ch
image: busybox:1.28
name: init1
volumeMounts:
- mountPath: /work-dir
name: workdir
- image: init:latest
name: init2
volumes:
- emptyDir: {}
name: workdir
triggers:
- type: ConfigChange
- imageChangeParams:
automatic: true
containerNames:
- orgeclipsejkubeintegrationtestsgradle-initcontainers
from:
kind: ImageStreamTag
name: main-container:latest
type: ImageChange
- apiVersion: route.openshift.io/v1
kind: Route
metadata:
annotations:
app.openshift.io/vcs-ref: "@ignore@"
jkube.io/git-url: "@ignore@"
app.openshift.io/vcs-uri: "@ignore@"
jkube.io/git-commit: "@ignore@"
jkube.io/git-branch: "@ignore@"
labels:
app: initcontainers
provider: jkube
version: "@ignore@"
group: org.eclipse.jkube.integration.tests.gradle
name: initcontainers
spec:
port:
targetPort: 8080
to:
kind: Service
name: initcontainers
Loading

0 comments on commit de561b9

Please sign in to comment.