Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
P
PlaygroundTest2022
Project
Project
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Packages
Packages
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
aray
PlaygroundTest2022
Commits
df938cb0
Commit
df938cb0
authored
Jan 17, 2023
by
pg-ta
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
service names updated by Admin for testing..
parent
91578e7c
Pipeline
#2455
failed with stages
Changes
12
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
12 changed files
with
173 additions
and
46 deletions
+173
-46
.gitlab-ci.yml
.gitlab-ci.yml
+43
-0
Chart.yaml
helm/service/Chart.yaml
+3
-2
NOTES.txt
helm/service/templates/NOTES.txt
+6
-5
_helpers.tpl
helm/service/templates/_helpers.tpl
+5
-4
deployment.yaml
helm/service/templates/deployment.yaml
+17
-6
ingress.yaml
helm/service/templates/ingress.yaml
+5
-4
service.yaml
helm/service/templates/service.yaml
+6
-5
test-connection.yaml
helm/service/templates/tests/test-connection.yaml
+6
-5
values.yaml
helm/service/values.yaml
+18
-15
Default.java
src/main/java/com/altimetrik/ee/demo/controller/Default.java
+42
-0
application.properties
src/main/resources/application.properties
+12
-0
db-config-k8s.properties
src/main/resources/db-config-k8s.properties
+10
-0
No files found.
.gitlab-ci.yml
0 → 100644
View file @
df938cb0
variables
:
RELEASE_NAME
:
"
project1395"
SERVICE_PORT
:
8080
REGISTRY_URL
:
751503455312.dkr.ecr.us-east-1.amazonaws.com/pgdockrepo
SONAR_URL
:
"
http://pg-sonar-altimetrik-com-82028342.us-west-2.elb.amazonaws.com"
SONAR_LOGIN
:
"
cc3fc35cad01a325d1b3904bcf3aa38b153fa7f1"
stages
:
-
Build
-
ReleaseCleanup
-
ReleaseDeploy
-
Validation
Build
:
stage
:
Build
script
:
-
mvn clean install -Dk8s.db.env=db-config-k8s
-
$(aws ecr get-login --no-include-email --region us-east-1)
-
docker build -t 751503455312.dkr.ecr.us-east-1.amazonaws.com/pgdockrepo:$CI_PIPELINE_ID .
-
docker push 751503455312.dkr.ecr.us-east-1.amazonaws.com/pgdockrepo:$CI_PIPELINE_ID
ReleaseCleanup
:
stage
:
ReleaseCleanup
script
:
-
echo `pwd`
-
cd ./helm && /usr/local/bin/helm delete --purge $RELEASE_NAME && exit 0
allow_failure
:
true
ReleaseDeploy
:
stage
:
ReleaseDeploy
script
:
-
echo `pwd`
-
sed -i s/#BUILD_ID#/$CI_PIPELINE_ID/g ./helm/service/values.yaml
-
sed -i s/#SERVICE_PORT#/$SERVICE_PORT/g ./helm/service/values.yaml
-
cd ./helm && /usr/local/bin/helm install service --name $RELEASE_NAME
Validation
:
stage
:
Validation
script
:
-
sleep 45
-
if [ `curl -s -o /dev/null -I -w "%{http_code}" https://pgsandbox.altimetrik.com/$RELEASE_NAME` = "200" ]; then exit 0; else exit 1; fi
allow_failure
:
false
\ No newline at end of file
helm/service/Chart.yaml
View file @
df938cb0
apiVersion
:
v1
appVersion
:
"
1.0"
description
:
A Helm chart for Kubernetes
name
:
SERVICE_NAME
version
:
0.1.0
name
:
project1395
version
:
0.1.0
\ No newline at end of file
helm/service/templates/NOTES.txt
View file @
df938cb0
...
...
@@ -6,16 +6,16 @@
{{- end }}
{{- end }}
{{- else if contains "NodePort" .Values.service.type }}
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "
SERVICE_NAME
.fullname" . }})
export NODE_PORT=$(kubectl get --namespace {{ .Release.Namespace }} -o jsonpath="{.spec.ports[0].nodePort}" services {{ include "
project1395
.fullname" . }})
export NODE_IP=$(kubectl get nodes --namespace {{ .Release.Namespace }} -o jsonpath="{.items[0].status.addresses[0].address}")
echo http://$NODE_IP:$NODE_PORT
{{- else if contains "LoadBalancer" .Values.service.type }}
NOTE: It may take a few minutes for the LoadBalancer IP to be available.
You can watch the status of by running 'kubectl get svc -w {{ include "
SERVICE_NAME
.fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "
SERVICE_NAME
.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
You can watch the status of by running 'kubectl get svc -w {{ include "
project1395
.fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "
project1395
.fullname" . }} -o jsonpath='{.status.loadBalancer.ingress[0].ip}')
echo http://$SERVICE_IP:{{ .Values.service.port }}
{{- else if contains "ClusterIP" .Values.service.type }}
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "
SERVICE_NAME
.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
export POD_NAME=$(kubectl get pods --namespace {{ .Release.Namespace }} -l "app.kubernetes.io/name={{ include "
project1395
.name" . }},app.kubernetes.io/instance={{ .Release.Name }}" -o jsonpath="{.items[0].metadata.name}")
echo "Visit http://127.0.0.1:8080 to use your application"
kubectl port-forward $POD_NAME 8080:80
{{- end }}
{{- end }}
\ No newline at end of file
helm/service/templates/_helpers.tpl
View file @
df938cb0
...
...
@@ -2,7 +2,7 @@
{
{
/*
Expand
the
name
of
the
chart
.
*/
}
}
{{- define "
SERVICE_NAME
.name" -}}
{{- define "
project1395
.name" -}}
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" -}}
{{- end -}}
...
...
@@ -11,7 +11,7 @@ Create a default fully qualified app name.
We
truncate
at
63
chars
because
some
Kubernetes
name
fields
are
limited
to
this
(
by
the
DNS
naming
spec
).
If
release
name
contains
chart
name
it
will
be
used
as
a
full
name
.
*/
}
}
{{- define "
SERVICE_NAME
.fullname" -}}
{{- define "
project1395
.fullname" -}}
{{- if .Values.fullnameOverride -}}
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" -}}
{{- else -}}
...
...
@@ -27,6 +27,6 @@ If release name contains chart name it will be used as a full name.
{
{
/*
Create
chart
name
and
version
as
used
by
the
chart
label
.
*/
}
}
{{- define "
SERVICE_NAME
.chart" -}}
{{- define "
project1395
.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
{{- end -}}
\ No newline at end of file
helm/service/templates/deployment.yaml
View file @
df938cb0
apiVersion
:
apps/v1
kind
:
Deployment
metadata
:
name
:
{{
include "
SERVICE_NAME
.fullname" .
}}
name
:
{{
include "
project1395
.fullname" .
}}
labels
:
app.kubernetes.io/name
:
{{
include "
SERVICE_NAME
.name" .
}}
helm.sh/chart
:
{{
include "
SERVICE_NAME
.chart" .
}}
app.kubernetes.io/name
:
{{
include "
project1395
.name" .
}}
helm.sh/chart
:
{{
include "
project1395
.chart" .
}}
app.kubernetes.io/instance
:
{{
.Release.Name
}}
app.kubernetes.io/managed-by
:
{{
.Release.Service
}}
spec
:
replicas
:
{{
.Values.replicaCount
}}
selector
:
matchLabels
:
app.kubernetes.io/name
:
{{
include "
SERVICE_NAME
.name" .
}}
app.kubernetes.io/name
:
{{
include "
project1395
.name" .
}}
app.kubernetes.io/instance
:
{{
.Release.Name
}}
template
:
metadata
:
labels
:
app.kubernetes.io/name
:
{{
include "
SERVICE_NAME
.name" .
}}
app.kubernetes.io/name
:
{{
include "
project1395
.name" .
}}
app.kubernetes.io/instance
:
{{
.Release.Name
}}
spec
:
containers
:
-
name
:
{{
.Chart.Name
}}
image
:
"
{{
.Values.image.repository
}}:{{
.Values.image.tag
}}"
imagePullPolicy
:
{{
.Values.image.pullPolicy
}}
volumeMounts
:
-
name
:
efs-pvc
mountPath
:
./src/main/resources
env
:
-
name
:
"
k8s.db.env"
value
:
"
db-config-k8s"
ports
:
-
name
:
http
containerPort
:
{{
.Values.service.internalport
}}
...
...
@@ -30,6 +36,10 @@ spec:
resources
:
{{
- toYaml .Values.resources | nindent 12
}}
{{
- with .Values.nodeSelector
}}
volumes
:
-
name
:
efs-pvc
persistentVolumeClaim
:
claimName
:
efs
nodeSelector
:
{{
- toYaml . | nindent 8
}}
{{
- end
}}
...
...
@@ -40,4 +50,4 @@ spec:
{{
- with .Values.tolerations
}}
tolerations
:
{{
- toYaml . | nindent 8
}}
{{
- end
}}
{{
- end
}}
\ No newline at end of file
helm/service/templates/ingress.yaml
View file @
df938cb0
{{
- if .Values.ingress.enabled -
}}
{{
- $fullName
:
= include "
SERVICE_NAME
.fullname" . -
}}
{{
- $fullName
:
= include "
project1395
.fullname" . -
}}
{{
- $ingressPaths
:
= .Values.ingress.paths -
}}
apiVersion
:
extensions/v1beta1
kind
:
Ingress
metadata
:
name
:
{{
$fullName
}}
labels
:
app.kubernetes.io/name
:
{{
include "
SERVICE_NAME
.name" .
}}
helm.sh/chart
:
{{
include "
SERVICE_NAME
.chart" .
}}
app.kubernetes.io/name
:
{{
include "
project1395
.name" .
}}
helm.sh/chart
:
{{
include "
project1395
.chart" .
}}
app.kubernetes.io/instance
:
{{
.Release.Name
}}
app.kubernetes.io/managed-by
:
{{
.Release.Service
}}
{{
- with .Values.ingress.annotations
}}
...
...
@@ -37,4 +37,4 @@ spec:
servicePort
:
http
{{
- end
}}
{{
- end
}}
{{
- end
}}
{{
- end
}}
\ No newline at end of file
helm/service/templates/service.yaml
View file @
df938cb0
apiVersion
:
v1
kind
:
Service
metadata
:
name
:
{{
include "
SERVICE_NAME
.fullname" .
}}
name
:
{{
include "
project1395
.fullname" .
}}
labels
:
app.kubernetes.io/name
:
{{
include "
SERVICE_NAME
.name" .
}}
helm.sh/chart
:
{{
include "
SERVICE_NAME
.chart" .
}}
app.kubernetes.io/name
:
{{
include "
project1395
.name" .
}}
helm.sh/chart
:
{{
include "
project1395
.chart" .
}}
app.kubernetes.io/instance
:
{{
.Release.Name
}}
app.kubernetes.io/managed-by
:
{{
.Release.Service
}}
spec
:
...
...
@@ -15,5 +15,5 @@ spec:
protocol
:
TCP
name
:
http
selector
:
app.kubernetes.io/name
:
{{
include "
SERVICE_NAME
.name" .
}}
app.kubernetes.io/instance
:
{{
.Release.Name
}}
app.kubernetes.io/name
:
{{
include "
project1395
.name" .
}}
app.kubernetes.io/instance
:
{{
.Release.Name
}}
\ No newline at end of file
helm/service/templates/tests/test-connection.yaml
View file @
df938cb0
apiVersion
:
v1
kind
:
Pod
metadata
:
name
:
"
{{
include
"
SERVICE_NAME
.fullname" . }}-test-connection"
name
:
"
{{
include
"
project1395
.fullname" . }}-test-connection"
labels
:
app.kubernetes.io/name
:
{{
include "
SERVICE_NAME
.name" .
}}
helm.sh/chart
:
{{
include "
SERVICE_NAME
.chart" .
}}
app.kubernetes.io/name
:
{{
include "
project1395
.name" .
}}
helm.sh/chart
:
{{
include "
project1395
.chart" .
}}
app.kubernetes.io/instance
:
{{
.Release.Name
}}
app.kubernetes.io/managed-by
:
{{
.Release.Service
}}
annotations
:
...
...
@@ -14,5 +14,5 @@ spec:
-
name
:
wget
image
:
busybox
command
:
[
'
wget'
]
args
:
[
'
{{
include
"
SERVICE_NAME
.fullname"
.
}}:{{
.Values.service.port
}}'
]
restartPolicy
:
Never
args
:
[
'
{{
include
"
project1395
.fullname"
.
}}:{{
.Values.service.port
}}'
]
restartPolicy
:
Never
\ No newline at end of file
helm/service/values.yaml
View file @
df938cb0
# Default values for
SERVICE_NAME
.
# Default values for
project1395
.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
replicaCount
:
1
image
:
repository
:
27971607423
2.dkr.ecr.us-east-1.amazonaws.com/pgdockrepo
repository
:
75150345531
2.dkr.ecr.us-east-1.amazonaws.com/pgdockrepo
tag
:
#BUILD_ID#
pullPolicy
:
IfNotPresent
...
...
@@ -13,22 +13,24 @@ nameOverride: ""
fullnameOverride
:
"
"
service
:
type
:
LoadBalancer
type
:
NodePort
port
:
80
internalport
:
#SERVICE_PORT#
ingress
:
enabled
:
false
annotations
:
{}
# kubernetes.io/ingress.class: nginx
# kubernetes.io/tls-acme: "true"
paths
:
[]
enabled
:
true
annotations
:
kubernetes.io/ingress.class
:
nginx
nginx.ingress.kubernetes.io/rewrite-target
:
/
#kubernetes.io/tls-acme: "true"
paths
:
path
:
/project1395
hosts
:
-
chart-example.local
tls
:
[]
# - secretName: chart-example-tls
#
hosts:
# - chart-example.local
-
pgsandbox.altimetrik.com
tls
:
-
secretName
:
custom-tls-cert
hosts
:
-
pgsandbox.altimetrik.com
resources
:
{}
# We usually recommend not to specify default resources and to leave this as a conscious
...
...
@@ -42,8 +44,8 @@ resources: {}
# cpu: 100m
# memory: 128Mi
nodeSelector
:
{}
nodeSelector
:
{
env
:
common
}
tolerations
:
[]
affinity
:
{}
affinity
:
{}
\ No newline at end of file
src/main/java/com/altimetrik/ee/demo/controller/Default.java
0 → 100644
View file @
df938cb0
package
com
.
altimetrik
.
ee
.
demo
.
controller
;
import
org.springframework.http.HttpStatus
;
import
org.springframework.http.MediaType
;
import
org.springframework.http.ResponseEntity
;
import
org.springframework.web.bind.annotation.CrossOrigin
;
import
org.springframework.web.bind.annotation.GetMapping
;
import
org.springframework.web.bind.annotation.RequestMapping
;
import
org.springframework.web.bind.annotation.RestController
;
import
org.springframework.beans.factory.annotation.Value
;
@RestController
@RequestMapping
(
value
=
"/"
)
@CrossOrigin
public
class
Default
{
@Value
(
"${k8s.db.env}"
)
private
String
deploymentEnv
;
@GetMapping
(
value
=
"/"
,
produces
=
{
"text/html"
},
consumes
=
MediaType
.
ALL_VALUE
)
public
ResponseEntity
<
String
>
getUserDetailByGitlabEmailId
()
{
String
data
=
"Welcome to Playground Engineering Environment"
;
if
(
deploymentEnv
!=
null
&&
!
deploymentEnv
.
isEmpty
())
{
data
=
"<!DOCTYPE html>\n"
+
"<html>\n"
+
"<head>\n"
+
"<title>Playground Engineering Environment</title>\n"
+
"<style>\n"
+
"body {\n"
+
" background-color: white;\n"
+
" text-align: center;\n"
+
" color: black;\n"
+
"}\n"
+
"table {\n"
+
" align: center;\n"
+
" border-collapse: collapse;\n"
+
" width: 65%;\n"
+
"}\n"
+
"td, th {\n"
+
" border: 1px solid #dddddd;\n"
+
" padding: 8px;\n"
+
"}\n"
+
"tr:nth-child(even) {\n"
+
" background-color: #dddddd;\n"
+
"}\n"
+
"</style>\n"
+
"</head>\n"
+
"<body>\n"
+
"<img src='https://playground.altimetrik.com/assets/img/playground-logo2.svg' alt='Avatar' style='width:200px'>\n"
+
"<h2>Welcome to Playground Engineering Environment</h2>\n"
+
"<h3>Database access details</h3>\n"
+
"<table align=center>\n"
+
" <tr>\n"
+
" <th>DB Admin Console</th>\n"
+
" <th>JDBC URL</th>\n"
+
" <th>User Name</th>\n"
+
" <th>Password</th>\n"
+
" </tr>\n"
+
" <tr>\n"
+
" <td><a target='_blank' href='https://pgsandbox.altimetrik.com/project1395/project1395/'>https://pgsandbox.altimetrik.com/project1395/project1395/</a></td>\n"
+
" <td>jdbc:h2:file:./src/main/resources/project1395</td>\n"
+
" <td>playground</td>\n"
+
" <td>password</td>\n"
+
" </tr>\n"
+
"</table>\n"
+
"</body>\n"
+
"</html>\n"
;
}
return
new
ResponseEntity
<>(
data
,
HttpStatus
.
OK
);
}
}
\ No newline at end of file
src/main/resources/application.properties
View file @
df938cb0
# Enabling H2 Console
spring.h2.console.enabled
=
true
# Custom H2 Console URL
spring.h2.console.path
=
/project1395
# Enable Web Access
spring.h2.console.settings.web-allow-others
=
true
# Disable h2 details in default controller
k8s.db.env
=
\ No newline at end of file
src/main/resources/db-config-k8s.properties
0 → 100644
View file @
df938cb0
# Please use the the url 'https://{pgtest/pgsandbox/citi-pg-project}.altimetrik.com/project1395/project1395/'
# to connect to the database wih the properties mentioned below.
spring.datasource.driverClassName
=
org.h2.Driver
spring.datasource.username
=
playground
spring.datasource.password
=
password
spring.jpa.database-platform
=
org.hibernate.dialect.H2Dialect
# temporary data storage
spring.datasource.url
=
jdbc:h2:file:./src/main/resources/project1395
\ No newline at end of file
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment