Skip to content
Projects
Groups
Snippets
Help
Loading...
Sign in
Toggle navigation
D
Demo-Citi
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
mfarooqui
Demo-Citi
Commits
c0898958
Commit
c0898958
authored
Nov 19, 2019
by
Administrator
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
service names updated
parent
dfcb446f
Pipeline
#5075
passed with stages
in 1 minute and 6 seconds
Changes
13
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
Showing
13 changed files
with
94 additions
and
84 deletions
+94
-84
.gitlab-ci.yml
.gitlab-ci.yml
+8
-6
Chart.yaml
helm/service/Chart.yaml
+2
-1
NOTES.txt
helm/service/templates/NOTES.txt
+5
-4
_helpers.tpl
helm/service/templates/_helpers.tpl
+4
-3
deployment.yaml
helm/service/templates/deployment.yaml
+5
-5
ingress.yaml
helm/service/templates/ingress.yaml
+3
-3
service.yaml
helm/service/templates/service.yaml
+5
-4
test-connection.yaml
helm/service/templates/tests/test-connection.yaml
+5
-4
values.yaml
helm/service/values.yaml
+5
-5
Default.java
src/main/java/com/altimetrik/ee/demo/controller/Default.java
+42
-41
application.properties
src/main/resources/application.properties
+4
-3
db-config-k8s.properties
src/main/resources/db-config-k8s.properties
+3
-3
db-config.properties
src/main/resources/db-config.properties
+3
-2
No files found.
.gitlab-ci.yml
View file @
c0898958
variables
:
RELEASE_NAME
:
"
SERVICE_NAME
"
SERVICE_PORT
:
1099
RELEASE_NAME
:
"
project4671
"
SERVICE_PORT
:
8080
REGISTRY_URL
:
751503455312.dkr.ecr.us-west-2.amazonaws.com/pgnonprod
stages
:
...
...
@@ -9,11 +9,11 @@ stages:
-
ReleaseCleanup
-
ReleaseDeploy
-
Validation
Build
:
stage
:
Build
script
:
-
mvn clean install
-
mvn clean install
-Dk8s.db.env=db-config-k8s
-
$(aws ecr get-login --no-include-email --region us-west-2)
-
docker build -t 751503455312.dkr.ecr.us-west-2.amazonaws.com/pgnonprod:$CI_PIPELINE_ID .
-
docker push 751503455312.dkr.ecr.us-west-2.amazonaws.com/pgnonprod:$CI_PIPELINE_ID
...
...
@@ -31,11 +31,12 @@ ReleaseDeploy:
-
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
-
kubectl config use-context arn:aws:eks:us-west-2:751503455312:cluster/pg-citi
-
cd ./helm && /sbin/helm install service --name $RELEASE_NAME
Validation
:
stage
:
Validation
script
:
-
sleep 45
-
if [ `curl -s -o /dev/null -I -w "%{http_code}" https://
pgtes
t.altimetrik.com/$RELEASE_NAME` = "200" ]; then exit 0; else exit 1; fi
-
if [ `curl -s -o /dev/null -I -w "%{http_code}" https://
citi-pg-projec
t.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 @
c0898958
apiVersion
:
v1
appVersion
:
"
1.0"
description
:
A Helm chart for Kubernetes
name
:
SERVICE_NAME
name
:
project4671
version
:
0.1.0
\ No newline at end of file
helm/service/templates/NOTES.txt
View file @
c0898958
...
...
@@ -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 "
project4671
.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 "
project4671
.fullname" . }}'
export SERVICE_IP=$(kubectl get svc --namespace {{ .Release.Namespace }} {{ include "
project4671
.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 "
project4671
.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 }}
\ No newline at end of file
helm/service/templates/_helpers.tpl
View file @
c0898958
...
...
@@ -2,7 +2,7 @@
{
{
/*
Expand
the
name
of
the
chart
.
*/
}
}
{{- define "
SERVICE_NAME
.name" -}}
{{- define "
project4671
.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 "
project4671
.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 "
project4671
.chart" -}}
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" -}}
{{- end -}}
\ No newline at end of file
helm/service/templates/deployment.yaml
View file @
c0898958
apiVersion
:
apps/v1
kind
:
Deployment
metadata
:
name
:
{{
include "
SERVICE_NAME
.fullname" .
}}
name
:
{{
include "
project4671
.fullname" .
}}
labels
:
app.kubernetes.io/name
:
{{
include "
SERVICE_NAME
.name" .
}}
helm.sh/chart
:
{{
include "
SERVICE_NAME
.chart" .
}}
app.kubernetes.io/name
:
{{
include "
project4671
.name" .
}}
helm.sh/chart
:
{{
include "
project4671
.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 "
project4671
.name" .
}}
app.kubernetes.io/instance
:
{{
.Release.Name
}}
template
:
metadata
:
labels
:
app.kubernetes.io/name
:
{{
include "
SERVICE_NAME
.name" .
}}
app.kubernetes.io/name
:
{{
include "
project4671
.name" .
}}
app.kubernetes.io/instance
:
{{
.Release.Name
}}
spec
:
containers
:
...
...
helm/service/templates/ingress.yaml
View file @
c0898958
{{
- if .Values.ingress.enabled -
}}
{{
- $fullName
:
= include "
SERVICE_NAME
.fullname" . -
}}
{{
- $fullName
:
= include "
project4671
.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 "
project4671
.name" .
}}
helm.sh/chart
:
{{
include "
project4671
.chart" .
}}
app.kubernetes.io/instance
:
{{
.Release.Name
}}
app.kubernetes.io/managed-by
:
{{
.Release.Service
}}
{{
- with .Values.ingress.annotations
}}
...
...
helm/service/templates/service.yaml
View file @
c0898958
apiVersion
:
v1
kind
:
Service
metadata
:
name
:
{{
include "
SERVICE_NAME
.fullname" .
}}
name
:
{{
include "
project4671
.fullname" .
}}
labels
:
app.kubernetes.io/name
:
{{
include "
SERVICE_NAME
.name" .
}}
helm.sh/chart
:
{{
include "
SERVICE_NAME
.chart" .
}}
app.kubernetes.io/name
:
{{
include "
project4671
.name" .
}}
helm.sh/chart
:
{{
include "
project4671
.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/name
:
{{
include "
project4671
.name" .
}}
app.kubernetes.io/instance
:
{{
.Release.Name
}}
\ No newline at end of file
helm/service/templates/tests/test-connection.yaml
View file @
c0898958
apiVersion
:
v1
kind
:
Pod
metadata
:
name
:
"
{{
include
"
SERVICE_NAME
.fullname" . }}-test-connection"
name
:
"
{{
include
"
project4671
.fullname" . }}-test-connection"
labels
:
app.kubernetes.io/name
:
{{
include "
SERVICE_NAME
.name" .
}}
helm.sh/chart
:
{{
include "
SERVICE_NAME
.chart" .
}}
app.kubernetes.io/name
:
{{
include "
project4671
.name" .
}}
helm.sh/chart
:
{{
include "
project4671
.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
}}'
]
args
:
[
'
{{
include
"
project4671
.fullname"
.
}}:{{
.Values.service.port
}}'
]
restartPolicy
:
Never
\ No newline at end of file
helm/service/values.yaml
View file @
c0898958
# Default values for
SERVICE_NAME
.
# Default values for
project4671
.
# This is a YAML-formatted file.
# Declare variables to be passed into your templates.
...
...
@@ -21,18 +21,18 @@ ingress:
enabled
:
true
annotations
:
kubernetes.io/ingress.class
:
nginx
nginx.ingress.kubernetes.io/rewrite-target
:
/
$2
nginx.ingress.kubernetes.io/rewrite-target
:
/
#kubernetes.io/tls-acme: "true"
paths
:
path
:
/
SERVICE_NAME(/|$)(.*)
path
:
/
project4671
hosts
:
# - afe6ec7ed3f3711e9b98006759708723-313212737.us-west-2.elb.amazonaws.com
-
pgtes
t.altimetrik.com
-
citi-pg-projec
t.altimetrik.com
tls
:
-
secretName
:
custom-tls-cert
hosts
:
-
pgtes
t.altimetrik.com
-
citi-pg-projec
t.altimetrik.com
resources
:
{}
# We usually recommend not to specify default resources and to leave this as a conscious
...
...
src/main/java/com/altimetrik/ee/demo/controller/Default.java
View file @
c0898958
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://
pgtest.altimetrik.com/SERVICE_NAME/SERVICE_NAME/'>https://pgtest.altimetrik.com/SERVICE_NAME/SERVICE_NAME/</a></td>\n"
+
" <td>jdbc:h2:file:./src/main/resources/
SERVICE_NAME</td>\n"
+
" <td>playground</td>\n"
+
" <td>password</td>\n"
+
" </tr>\n"
+
"</table>\n"
+
"</body>\n"
+
"</html>\n"
;
}
return
new
ResponseEntity
<>(
data
,
HttpStatus
.
OK
);
}
}
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://
citi-pg-project.altimetrik.com/project4671/project4671/'>https://citi-pg-project.altimetrik.com/project4671/project4671/</a></td>\n"
+
" <td>jdbc:h2:file:./src/main/resources/
project4671</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 @
c0898958
# Enabling H2 Console
spring.h2.console.enabled
=
true
# Custom H2 Console URL
spring.h2.console.path
=
/
SERVICE_NAME
spring.h2.console.path
=
/
project4671
# Enable Web Access
spring.h2.console.settings.web-allow-others
=
true
# Disable h2 details in default controller
k8s.db.env
=
k8s.db.env
=
\ No newline at end of file
src/main/resources/db-config-k8s.properties
View file @
c0898958
# Please use the the url 'https://
pgtest.altimetrik.com/SERVICE_NAME/SERVICE_NAME
/'
# Please use the the url 'https://
{pgtest/pgsandbox/citi-pg-project}.altimetrik.com/project4671/project4671
/'
# to connect to the database wih the properties mentioned below.
spring.datasource.driverClassName
=
org.h2.Driver
spring.datasource.username
=
playground
...
...
@@ -6,4 +6,4 @@ spring.datasource.password=password
spring.jpa.database-platform
=
org.hibernate.dialect.H2Dialect
# temporary data storage
spring.datasource.url
=
jdbc:h2:file:./src/main/resources/SERVICE_NAME
\ No newline at end of file
spring.datasource.url
=
jdbc:h2:file:./src/main/resources/project4671
\ No newline at end of file
src/main/resources/db-config.properties
View file @
c0898958
...
...
@@ -14,10 +14,10 @@ spring.jpa.properties.hibernate.query.plan_cache_max_size= 1024
spring.jpa.properties.hibernate.query.plan_parameter_metadata_max_size
=
32
spring.jpa.show-sql
:
true
# Connection properties
spring.datasource.url
=
jdbc:mysql://db:3306/playground?autoReconnect=true&useSSL=false
spring.datasource.url
=
jdbc:mysql://
Demo-Citi-
db:3306/playground?autoReconnect=true&useSSL=false
spring.datasource.username
=
playground
spring.datasource.password
=
password
# Keep the connection alive if idle for a long time (needed in production)
spring.datasource.testWhileIdle
=
true
spring.datasource.validationQuery
=
SELECT 1
spring.datasource.driver-class-name
=
com.mysql.jdbc.Driver
spring.datasource.driver-class-name
=
com.mysql.jdbc.Driver
\ 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