Skip to content
GitLab
Menu
Projects
Groups
Snippets
Help
Help
Support
Community forum
Keyboard shortcuts
?
Submit feedback
Sign in / Register
Toggle navigation
Menu
Open sidebar
Open Subsurface Data Universe Software
Platform
Data Flow
Real Time
Streams
Stream Admin Service
Commits
92965cde
Commit
92965cde
authored
Oct 26, 2021
by
Stephen Nimmo
Browse files
updated documentation and parser-worker-template.yaml
parent
86e072bc
Pipeline
#74156
passed with stage
in 1 minute and 17 seconds
Changes
4
Pipelines
1
Hide whitespace changes
Inline
Side-by-side
pom.xml
View file @
92965cde
...
...
@@ -109,8 +109,8 @@
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-compiler-plugin
</artifactId>
<configuration>
<source>
9
</source>
<target>
9
</target>
<source>
11
</source>
<target>
11
</target>
</configuration>
</plugin>
</plugins>
...
...
src/main/java/org/opengroup/osdu/streaming/service/DeploymentAdminServiceImpl.java
View file @
92965cde
package
org.opengroup.osdu.streaming.service
;
import
io.kubernetes.client.openapi.ApiClient
;
import
io.kubernetes.client.openapi.ApiException
;
import
io.kubernetes.client.openapi.Configuration
;
import
io.kubernetes.client.openapi.apis.AppsV1Api
;
import
io.kubernetes.client.openapi.apis.CoreV1Api
;
import
io.kubernetes.client.openapi.models.V1Container
;
import
io.kubernetes.client.openapi.models.V1ContainerBuilder
;
import
io.kubernetes.client.openapi.models.V1Deployment
;
import
io.kubernetes.client.openapi.models.V1DeploymentBuilder
;
import
io.kubernetes.client.util.Config
;
import
io.kubernetes.client.openapi.models.*
;
import
org.opengroup.osdu.streaming.exception.StreamAdminException
;
import
org.opengroup.osdu.streaming.model.StreamRecord
;
import
org.springframework.beans.factory.annotation.Value
;
...
...
@@ -17,6 +11,7 @@ import org.springframework.stereotype.Service;
import
org.springframework.web.context.annotation.RequestScope
;
import
java.util.Map
;
import
java.util.Optional
;
@Service
@RequestScope
...
...
@@ -37,6 +32,9 @@ public class DeploymentAdminServiceImpl implements DeploymentAdminService {
@Override
public
StreamRecord
createStream
(
StreamRecord
streamRecord
)
{
String
deploymentName
=
this
.
getDeploymentName
(
streamRecord
);
if
(
this
.
findExistingDeployment
(
namespace
,
deploymentName
).
isPresent
()){
throw
new
StreamAdminException
(
"Unable to create "
);
}
V1Deployment
deployment
=
new
V1DeploymentBuilder
()
.
withNewMetadata
()
.
withName
(
String
.
format
(
"%s-%s"
,
deploymentName
,
this
.
deploymentSuffix
))
...
...
@@ -92,4 +90,13 @@ public class DeploymentAdminServiceImpl implements DeploymentAdminService {
}
private
Optional
<
V1Deployment
>
findExistingDeployment
(
String
namespace
,
String
name
)
{
try
{
V1DeploymentList
v1DeploymentList
=
appsV1Api
.
listNamespacedDeployment
(
namespace
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
,
null
);
return
v1DeploymentList
.
getItems
().
stream
().
filter
(
v1Deployment
->
v1Deployment
.
getMetadata
().
getName
().
equals
(
name
)).
findFirst
();
}
catch
(
ApiException
e
)
{
throw
new
StreamAdminException
(
e
);
}
}
}
src/test/java/org/opengroup/osdu/streaming/service/KubeApiTest.java
0 → 100644
View file @
92965cde
package
org.opengroup.osdu.streaming.service
;
import
io.kubernetes.client.openapi.ApiClient
;
import
io.kubernetes.client.openapi.ApiException
;
import
io.kubernetes.client.openapi.Configuration
;
import
io.kubernetes.client.openapi.apis.AppsV1Api
;
import
io.kubernetes.client.openapi.models.V1ContainerBuilder
;
import
io.kubernetes.client.openapi.models.V1Deployment
;
import
io.kubernetes.client.openapi.models.V1DeploymentBuilder
;
import
io.kubernetes.client.util.Config
;
import
org.opengroup.osdu.streaming.exception.StreamAdminException
;
import
java.io.IOException
;
import
java.util.Map
;
public
class
KubeApiTest
{
public
static
void
main
(
String
[]
args
)
throws
IOException
,
ApiException
{
ApiClient
apiClient
=
Config
.
defaultClient
();
apiClient
.
setDebugging
(
true
);
Configuration
.
setDefaultApiClient
(
apiClient
);
AppsV1Api
appsV1Api
=
new
AppsV1Api
();
String
namespace
=
"default"
;
String
deploymentName
=
"test"
;
V1Deployment
deployment
=
new
V1DeploymentBuilder
()
.
withNewMetadata
()
.
withName
(
deploymentName
)
.
withNamespace
(
namespace
)
.
endMetadata
()
.
withNewSpec
()
.
withReplicas
(
0
)
.
withNewSelector
()
.
withMatchLabels
(
Map
.
of
(
"run"
,
deploymentName
))
.
endSelector
()
.
withNewTemplate
()
.
withNewMetadata
()
.
withLabels
(
Map
.
of
(
"run"
,
deploymentName
))
.
endMetadata
()
.
withNewSpec
()
.
withContainers
(
new
V1ContainerBuilder
()
.
withName
(
"busybox"
)
.
withImage
(
"busybox"
)
.
build
())
.
endSpec
()
.
endTemplate
()
.
endSpec
()
.
build
();
V1Deployment
namespacedDeployment
=
appsV1Api
.
createNamespacedDeployment
(
namespace
,
deployment
,
null
,
null
,
null
);
//namespacedDeployment.getMetadata().setName("test2");
System
.
out
.
println
(
namespacedDeployment
.
getKind
());
}
}
stream-admin-service.drawio
View file @
92965cde
<mxfile host="Electron" modified="2021-10-26T16:00:30.581Z" agent="5.0 (Macintosh; Intel Mac OS X 11_6_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.9.6 Chrome/89.0.4389.128 Electron/12.0.16 Safari/537.36" etag="dUcy4P2hAROj8zG6LcfW" version="14.9.6" type="device" pages="2"><diagram id="oPQlikl0BSEGqThpAdY3" name="Page-1">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</diagram><diagram id="HipaOh2XRV99beFgbeDt" name="ETP-Parser-Setup">1Vhbb5swFP41SNtDpgSSjDwut3VaJ03qtGVPlYsd8Gp8kDEN6a/fMTEQStambejaPpRzN/7O5wtxvFmcf1Ykib4BZcJx+zR3vLnjugN34uPDWLY7y2Q42hlCxakNqg0X/JZZY99aM05Z2gjUAELzpGkMQEoW6IaNKAWbZtgaRHPUhISsZbgIiGhbf3GqI2sd9Pu144zxMLJD+yPriEkZbA1pRChs9kzewvFmCkDvpDifMWHAK3E583gvPBOrEf/pX2bnfji9Er1dseVjUqopKCb1aUvbXt4QkVm8IKWZna/eliAqyCRlplDf8aabiGt2kZDAeDdIG7RFOhaoDVBccyFmIEChLkFi0JSSNCrSjZ8IHkqUBVvjbKY3TGmO/fpkzRpMvRTLcxmeFzHzMVrsm2I0y++09gFcBlWzkOUMYqbVFvNsFbdkgiW4b9VNzRZ/aG3RHlGqQGIZGlal6y6gYBvxiKa4raYscs2UJCZz8eO7+S9pAhxn/axOdQXpsInowG1DWtn2IR12heiwhROjuEtYFZSOIATEd1Fbp00k65hzMAQt8PvDtN7aLY9kGprospzrlU038m8jfxhZbZ7vuebbUpE43VVZwCh7WUat0wqtzNvNz0zqCX1EYCBTAbsnzrM7N1Ehu6+ee5gXigmi+U3z5U7eZa+1bphOeohBytTrXCivb6WMWxg67liYffoKhdAIM5BrHmYKOwqy9OJgVUCVoUpLzwwbm5P6oCsQHFG85Mm97gTX4OEAXHvRLT7fBdghx1uiiGfYEpu4fH8445qsrwk+jXwFkGps+Re8kTwYjKcTDx4Ou2bbQLEdQuZ9nkO+o87LF2Po+EiGVoEnp+jHzijK8gRSRv9JxNJ/SiZyGUCMNx0c9FIRaTbwt8yXp9Kls8uU32LLV7tOZyJL9XNPhhLsAEHDWi8Ot3/EATI+gHdnq3PSwttumaf6pHBcb138HYN+zCktbnNdNWB05+thMDqS8G5XDSg/vP/PZbeUH3XZrZS3ddmddHPZRbX+UaHw7f004y3+Ag==</diagram></mxfile>
\ No newline at end of file
<mxfile host="Electron" modified="2021-10-26T19:13:48.005Z" agent="5.0 (Macintosh; Intel Mac OS X 11_6_0) AppleWebKit/537.36 (KHTML, like Gecko) draw.io/14.9.6 Chrome/89.0.4389.128 Electron/12.0.16 Safari/537.36" etag="CWalpBH1yy-oeQy2TgkH" version="14.9.6" type="device" pages="3"><diagram id="oPQlikl0BSEGqThpAdY3" name="Page-1">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</diagram><diagram id="HipaOh2XRV99beFgbeDt" name="ETP-Parser-Setup">1Vhbb5swFP41SNtDpgSSjDwut3VaJ03qtGVPlYsd8Gp8kDEN6a/fMTEQStambejaPpRzN/7O5wtxvFmcf1Ykib4BZcJx+zR3vLnjugN34uPDWLY7y2Q42hlCxakNqg0X/JZZY99aM05Z2gjUAELzpGkMQEoW6IaNKAWbZtgaRHPUhISsZbgIiGhbf3GqI2sd9Pu144zxMLJD+yPriEkZbA1pRChs9kzewvFmCkDvpDifMWHAK3E583gvPBOrEf/pX2bnfji9Er1dseVjUqopKCb1aUvbXt4QkVm8IKWZna/eliAqyCRlplDf8aabiGt2kZDAeDdIG7RFOhaoDVBccyFmIEChLkFi0JSSNCrSjZ8IHkqUBVvjbKY3TGmO/fpkzRpMvRTLcxmeFzHzMVrsm2I0y++09gFcBlWzkOUMYqbVFvNsFbdkgiW4b9VNzRZ/aG3RHlGqQGIZGlal6y6gYBvxiKa4raYscs2UJCZz8eO7+S9pAhxn/axOdQXpsInowG1DWtn2IR12heiwhROjuEtYFZSOIATEd1Fbp00k65hzMAQt8PvDtN7aLY9kGprospzrlU038m8jfxhZbZ7vuebbUpE43VVZwCh7WUat0wqtzNvNz0zqCX1EYCBTAbsnzrM7N1Ehu6+ee5gXigmi+U3z5U7eZa+1bphOeohBytTrXCivb6WMWxg67liYffoKhdAIM5BrHmYKOwqy9OJgVUCVoUpLzwwbm5P6oCsQHFG85Mm97gTX4OEAXHvRLT7fBdghx1uiiGfYEpu4fH8445qsrwk+jXwFkGps+Re8kTwYjKcTDx4Ou2bbQLEdQuZ9nkO+o87LF2Po+EiGVoEnp+jHzijK8gRSRv9JxNJ/SiZyGUCMNx0c9FIRaTbwt8yXp9Kls8uU32LLV7tOZyJL9XNPhhLsAEHDWi8Ot3/EATI+gHdnq3PSwttumaf6pHBcb138HYN+zCktbnNdNWB05+thMDqS8G5XDSg/vP/PZbeUH3XZrZS3ddmddHPZRbX+UaHw7f004y3+Ag==</diagram><diagram id="h20StDtakyj08Yw2aiOv" name="Page-3">7Vldd5s4EP01fmyODYmXPCaOs9vTZD/qnPb0KUdGY1AtGI4Qsd1fvyMQIVgkuLuJmzr1i+FqkMTcOx/AwJ8k698Vy+Jr5CAH3pCvB/7FwPNG3mlAfwbZVMjp8UkFREpwa9QAM/ENLDi0aCE45C1DjSi1yNpgiGkKoW5hTClctc0WKNurZiwCB5iFTLroZ8F1bNHRcNgM/AEiiu3SwYkdSFhtbIE8ZhxXDyB/OvAnClFXR8l6AtI4r/bLF/HtE0/Ov+TX3vvV8my6mH34+K6a7PJ7Lrm/BQWpfuapLZl3TBbWYfZm9ab2IHByqD1FpWOMMGVy2qDnCouUg1lnSGeNzRViRuCIwK+g9caqgxUaCYp1Iu1otaZZaIu0nju2djkWKoQn7OxNaaYieGo+/55WigfABLTa0HUKJNPirr05ZoUZ3ds1zqcD6//v4MJzqPhbIS9CUA4lbYevYqFhlrHSBSsK47ZzF0LKCUpU5bX+ovwRzqSIUsJC8jGt4Z/fgdKCIufMDiSC85JfuzEahvV/IMh1qJ3l2EbWpn26ehCndfDFD0K0tnt2Bn57E8Hg7xgM4x8ZDP6jwTBNeYaCPHGgQfHqomLsUPGBLZaMoBvMRHioPBz38xDsk4a6oTrw7BT8DNlp5Nbqt8zF6JFI2g8ZgVsqRAZULkLIczzY5mk8fGV1YnT8JoJiVD/F9kbFD32aqLe5XbYPumYH/TGx35rttrETTPMiOfw29nT82tKT28dO1+Qcyi1N2JsXTKrkQwFLRBqZN19MU7M7lrTB8zkNjiNd+q0fma4zCDVx6Q2pHGkMUdJdnbmG78jiM8xzDJeUUjqHr/+5uXG0QpzptiBo47iEWhIpprClEgvVApGw0B3y0CbZdoqvLc+XUs9W7x3sKJ578PnV474baCLYiiYsQ7sSzbaAjohLlhgHpvM821E/79O58fbzyad/yb8K7a7ZOaN9CHwrinyFknQb31mpuo8QouIuaxewEKnQAlOHtjxmmTnkGFJxMm7qqzzzyutX8/9diipm95RJduYteDHaTrt6goWICsUqboZ/AhhBd4Ydh0zixnB0JBLz7aPTyn5NoemORHbLOFf0LNRrmlG73WtU5OaF9GXGzISX4WNXLE16OJojakoALLulq4jcR/ZQGVcd9a3u7FD3oNAnM09O61A6vyptLryXzDTeDpIdd6Wa8Utp1nPfPf3S7C/NNpo9CfaoWTptvrqWYw++XfvTfwE=</diagram></mxfile>
\ No newline at end of file
Write
Preview
Supports
Markdown
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