OpenShift Plugin Reference 7.5.x
The XL Deploy OpenShift plugin enables XL Deploy to work with Red Hat OpenShift v3 cloud PaaS. The plugin uses the kubernetes
and openshift
API libraries to communicate with OpenShift. For information about the plugin features, refer to Introduction to the XL OpenShift plugin.
Requirements
- XL Deploy 6.2.0 or later
- A valid OpenShift account and a user with admin rights associated to it
xld-kubernetes-plugin
7.5.0
Important: To use the XL Deploy OpenShift plugin with XL Deploy 7.1.0 or earlier, you must download the Jython jar file and replace jython-standalone-2.7.0.XXX.jar
under the lib
directory of the XL Deploy installation with it. This is not required for XL Deploy 7.2.0 or later.
Important: The XL Deploy OpenShift plugin 7.2.0 no longer supports individual YAML CIs for Pod, Development, Image Stream, and so on. Instead, there is single CI for YAML configurations, which supports all types of OpenShift configurations. This is a breaking change; you must delete and recreate packages when upgrading from 7.1.0 to 7.2.0
Release notes
XL Deploy OpenShift plugin 7.5.0
New features
- Supports various Kubernetes objects like Pod, Service etc via property-based-deployables
- [DEPL-12201] - Deploy/Undeploy an image stream to OpenShift cluster using property-based-deployables
- [DEPL-12401] - Client certificate authentication support added
- [DEPL-12199] - Deploy/Undeploy a route to OpenShift Server via property-based-deployables
XL Deploy OpenShift plugin 7.2.0
New features
- [DEPL-12119] - Deploy/Undeploy k8s Pod using CI
- [DEPL-12128] - Deploy/Undeploy k8s Deployment Config using CI
- [DEPL-12198] - Single CI for YAML-based configurations
XL Deploy OpenShift plugin 7.1.0
New features
- Deploy/Undeploy Build Config
- Deploy/Undeploy Deployment Config
- Deploy/Undeploy Image Stream
- Deploy/Undeploy Pod
- Deploy/Undeploy Route
- Deploy/Undeploy Service
- Deploy/Undeploy List of items
CI Reference
Configuration Item Overview
Deployables
CI | Description |
---|---|
openshift.ImageStreamSpec | Specification for an OpenShift project. |
openshift.ProjectSpec | Specification for an OpenShift project. |
openshift.ResourcesFile | OpenShift Generic Resource Template (deployable) |
openshift.RouteSpec | Specification for an OpenShift project. |
Deployeds
CI | Description |
---|---|
openshift.ImageStream | OpenShift Image Stream. |
openshift.Project | OpenShift Project. |
openshift.Resources | OpenShift Generic Resource Template |
openshift.Route | OpenShift Route. |
Containers
CI | Description |
---|---|
openshift.Project | OpenShift Project. |
openshift.Server | OpenShift server |
Configuration Item Details
openshift.ImageStream
Type Hierarchy | udm.BaseDeployed >> udm.BaseConfigurationItem |
---|---|
Interfaces | udm.Deployed, udm.EmbeddedDeployedContainer |
OpenShift Image Stream.
Parent | ||
---|---|---|
|
|
container:
CI<udm.Container>
|
The container on which this deployed runs.
|
Public properties | ||
---|---|---|
|
|
imageNameAndTag: STRING
|
Image and tag name in format
|
||
|
|
imageSourceUrl: STRING
|
The hostname and port name where repository server is located. e.g. hub.docker.com/r/openshift.
|
||
|
|
imageStreamName: STRING
|
Name of the Image Stream. It must match [a-z0-9]+(?:[._-][a-z0-9]+)*
|
||
|
|
deployable:
CI<udm.Deployable>
|
The deployable that this deployed is derived from.
|
||
|
|
verifyCertificates: BOOLEAN
|
Validate certificates?
|
openshift.ImageStreamSpec
Type Hierarchy | udm.BaseDeployable >> udm.BaseConfigurationItem |
---|---|
Interfaces | udm.Deployable, udm.Taggable |
Specification for an OpenShift project.
Public properties | ||
---|---|---|
|
|
imageNameAndTag: STRING
|
Image and tag name in format
|
||
|
|
imageSourceUrl: STRING
|
The hostname and port name where repository server is located. e.g. hub.docker.com/r/openshift. (string)
|
||
|
|
imageStreamName: STRING
|
Name of the Image Stream. It must match [a-z0-9]+(?:[._-][a-z0-9]+)* (string)
|
||
|
|
tags: SET_OF_STRING
|
If set, this deployable will only be mapped automatically to containers with the same tag.
|
||
|
|
verifyCertificates: STRING = false
|
Validate certificates? (boolean) default(false)
|
openshift.Project
Type Hierarchy | k8s.BasePodContainer >> udm.BaseDeployedContainer >> udm.BaseDeployed >> udm.BaseConfigurationItem |
---|---|
Interfaces | udm.Container, udm.Deployed, udm.EmbeddedDeployedContainer, udm.Taggable |
OpenShift Project.
Parent | ||
---|---|---|
|
|
container:
CI<udm.Container>
|
The container on which this deployed runs.
|
Public properties | ||
---|---|---|
|
|
projectName: STRING
|
Project Name
|
||
|
|
deployable:
CI<udm.Deployable>
|
The deployable that this deployed is derived from.
|
||
|
|
description: STRING
|
Description
|
||
|
|
projectDisplayName: STRING
|
Project Display Name
|
Hidden properties | ||
---|---|---|
|
|
containerHelper: STRING = xld.openshift.project.helper.ProjectHelper
|
Container Helper
|
openshift.ProjectSpec
Type Hierarchy | udm.BaseDeployable >> udm.BaseConfigurationItem |
---|---|
Interfaces | udm.Deployable, udm.Taggable |
Specification for an OpenShift project.
Public properties | ||
---|---|---|
|
|
description: STRING
|
Description (string)
|
||
|
|
projectDisplayName: STRING
|
Project Display Name (string)
|
||
|
|
projectName: STRING
|
Project Name (string)
|
||
|
|
tags: SET_OF_STRING
|
If set, this deployable will only be mapped automatically to containers with the same tag.
|
openshift.Resources
Type Hierarchy | k8s.AbstractResources >> udm.BaseDeployedArtifact >> udm.BaseDeployed >> udm.BaseConfigurationItem |
---|---|
Interfaces | udm.Artifact, udm.Deployed, udm.DerivedArtifact, udm.EmbeddedDeployedContainer |
OpenShift Generic Resource Template
Parent | ||
---|---|---|
|
|
container:
CI<udm.Container>
|
The container on which this deployed runs.
|
Public properties | ||
---|---|---|
|
|
createOrder: INTEGER = 65
|
Create Order
|
||
|
|
destroyOrder: INTEGER = 47
|
Destroy Order
|
||
|
|
modifyOrder: INTEGER = 65
|
Modify Order
|
||
|
|
deployable:
CI<udm.Deployable>
|
The deployable that this deployed is derived from.
|
||
|
|
placeholders: MAP_STRING_STRING
|
A Map containing all the placeholders mapped to their values. Special values are <ignore> or <empty>
|
Hidden properties | ||
---|---|---|
|
|
resourceFactory: STRING = xld.openshift.resource.factory.OpenShiftResourceFactory
|
Resource Factory
|
||
|
|
resourceWaitTime: INTEGER = 50
|
Resource Wait Time
|
openshift.ResourcesFile
Type Hierarchy | k8s.AbstractResourcesFile >> udm.BaseDeployableArtifact >> udm.BaseDeployable >> udm.BaseConfigurationItem |
---|---|
Interfaces | udm.Artifact, udm.Deployable, udm.DeployableArtifact, udm.SourceArtifact, udm.Taggable |
OpenShift Generic Resource Template (deployable)
Public properties | ||
---|---|---|
|
|
checksum: STRING
|
The checksum used to detect differences on the artifact. If not provided, it will be calculated by XL Deploy.
|
||
|
|
createOrder: STRING
|
Create Order (integer) default(65)
|
||
|
|
destroyOrder: STRING
|
Destroy Order (integer) default(47)
|
||
|
|
excludeFileNamesRegex: STRING
|
Regular expression that matches file names that must be excluded from scanning
|
||
|
|
fileUri: STRING
|
The URI pointing to the (remote) location of the file this artifact represents
|
||
|
|
modifyOrder: STRING
|
Modify Order (integer) default(65)
|
||
|
|
placeholders: SET_OF_STRING
|
Placeholders detected in this artifact
|
||
|
|
preScannedPlaceholders: BOOLEAN
|
Whether this artifact has been pre-scanned by the packager (ie. scanned for placeholders and checksum is set)
|
||
|
|
scanPlaceholders: BOOLEAN = true
|
Whether to scan this artifact to replace placeholders when it is imported
|
||
|
|
tags: SET_OF_STRING
|
If set, this deployable will only be mapped automatically to containers with the same tag.
|
Hidden properties | ||
---|---|---|
|
|
textFileNamesRegex: STRING = .+\.( json | yml | yaml )
|
Regular expression that matches file names of text files
|
||
|
|
delimiters: STRING = {{ }}
|
The delimiters used indicate placeholders, defaults to '{{ }}'. This is a 5 character string with a space in the middle, the first two are the leading delimiter, the last two are the closing delimiter
|
||
|
|
fileEncodings: MAP_STRING_STRING = { .+\.properties=ISO-8859-1 }
|
A map that maps regular expressions matching the full path of file(s) in the artifact to character set encodings
|
openshift.Route
Type Hierarchy | udm.BaseDeployed >> udm.BaseConfigurationItem |
---|---|
Interfaces | udm.Deployed, udm.EmbeddedDeployedContainer |
OpenShift Route.
Parent | ||
---|---|---|
|
|
container:
CI<udm.Container>
|
The container on which this deployed runs.
|
Public properties | ||
---|---|---|
|
|
serviceName: STRING
|
Primary service name for traffic routing.
|
||
|
|
serviceWeight: INTEGER = 256
|
Primary service weight determines the relative traffic to be routed to this service.
|
||
|
|
terminationType: ENUM [None, Edge, Passthrough, ReEncrypt] = None
|
Termination type specifies how the TLS termination occurs.
|
||
|
|
alternateServices: MAP_STRING_STRING
|
List of alternate services for splitting the traffic. The key-value represents the service name and service weight.
|
||
|
|
caCertificate: STRING
|
Certification authority certificate (ca.crt) to validate router certificate.
|
||
|
|
certificate: STRING
|
TLS certificate for router (apiserver.crt).
|
||
|
|
deployable:
CI<udm.Deployable>
|
The deployable that this deployed is derived from.
|
||
|
|
destinationCACertificate: STRING
|
Certification authority certificate (ca.crt) to validate the endpoint certificate, securing the connection from the router to the destination.
|
||
|
|
hostName: STRING
|
Public hostname for the route. If not specified, a hostname is generated.
|
||
|
|
insecureEdgeTerminationPolicy: STRING
|
It specifies the desired behavior for insecure connections to a route.
|
||
|
|
key: STRING
|
TLS private key for router (apiserver.key).
|
||
|
|
path: STRING
|
Path that the router watches to route traffic to the service.
|
||
|
|
routeName: STRING
|
Name of the route.
|
||
|
|
targetPort: STRING
|
The target port on pods selected by the service this route points to.
|
||
|
|
wildcardPolicy: STRING
|
Wildcard policy for traffic routing. A wildcard policy allows a user to define a route that covers all hosts within a domain.
|
openshift.RouteSpec
Type Hierarchy | udm.BaseDeployable >> udm.BaseConfigurationItem |
---|---|
Interfaces | udm.Deployable, udm.Taggable |
Specification for an OpenShift project.
Public properties | ||
---|---|---|
|
|
alternateServices: MAP_STRING_STRING
|
List of alternate services for splitting the traffic. The key-value represents the service name and service weight. (map_string_string)
|
||
|
|
caCertificate: STRING
|
Certification authority certificate (ca.crt) to validate router certificate. (string)
|
||
|
|
certificate: STRING
|
TLS certificate for router (apiserver.crt). (string)
|
||
|
|
destinationCACertificate: STRING
|
Certification authority certificate (ca.crt) to validate the endpoint certificate, securing the connection from the router to the destination. (string)
|
||
|
|
hostName: STRING
|
Public hostname for the route. If not specified, a hostname is generated. (string)
|
||
|
|
insecureEdgeTerminationPolicy: STRING
|
It specifies the desired behavior for insecure connections to a route. (string)
|
||
|
|
key: STRING
|
TLS private key for router (apiserver.key). (string)
|
||
|
|
path: STRING
|
Path that the router watches to route traffic to the service. (string)
|
||
|
|
routeName: STRING
|
Name of the route. (string)
|
||
|
|
serviceName: STRING
|
Primary service name for traffic routing. (string)
|
||
|
|
serviceWeight: STRING = 256
|
Primary service weight determines the relative traffic to be routed to this service. (integer) default(256)
|
||
|
|
tags: SET_OF_STRING
|
If set, this deployable will only be mapped automatically to containers with the same tag.
|
||
|
|
targetPort: STRING
|
The target port on pods selected by the service this route points to. (string)
|
||
|
|
terminationType: STRING = None
|
Termination type specifies how the TLS termination occurs. (enum) values(None, Edge, Passthrough, ReEncrypt) default(None)
|
||
|
|
wildcardPolicy: STRING
|
Wildcard policy for traffic routing. A wildcard policy allows a user to define a route that covers all hosts within a domain. (string)
|
openshift.Server
Type Hierarchy | k8s.Cluster >> udm.BaseContainer >> udm.BaseConfigurationItem |
---|---|
Interfaces | udm.Container, udm.Taggable |
OpenShift server
Public properties | ||
---|---|---|
|
|
serverUrl: STRING
|
Url of the OpenShift server
|
||
|
|
caCert: STRING
|
Certification authority certificate(ca.crt) for server
|
||
|
|
openshiftToken: STRING
|
Openshift Token
|
||
|
|
tags: SET_OF_STRING
|
If set, only deployables with the same tag will be automatically mapped to this container.
|
||
|
|
tlsCert: STRING
|
TLS certificate for master server(apiserver.crt)
|
||
|
|
tlsPrivateKey: STRING
|
TLS private key for master server(apiserver.key)
|
||
|
|
verifyCertificates: BOOLEAN = true
|
Validate certificates?
|
Hidden properties | ||
---|---|---|
|
|
clientFactory: STRING = xld.openshift.factories.client_factory.OpenShiftClientFactory
|
Client Factory
|
||
|
|
containerHelper: STRING = xld.openshift.server_helper.ServerHelper
|
Container Helper
|
Control task | Parameter CI | Attributes | Description |
---|---|---|---|
checkConnection |
delegate = jythonScript, script = xld/openshift/check_connection.py |
Verify the connection to the Openshift Cloud. |