Last active
May 23, 2018 14:49
-
-
Save blues-man/b34788703025163bb8c256ae9aac00aa to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
apiVersion: v1 | |
kind: Template | |
labels: | |
template: nexus3-persistent-template | |
metadata: | |
name: nexus3-persistent | |
annotations: | |
description: Sonatype Nexus 3 persistent template | |
tags: ci,nexus | |
objects: | |
- apiVersion: v1 | |
kind: ImageStream | |
metadata: | |
labels: | |
app: ${SERVICE_NAME} | |
name: ${SERVICE_NAME} | |
spec: | |
tags: | |
- from: | |
kind: DockerImage | |
name: docker.io/sonatype/nexus3:${NEXUS_VERSION} | |
name: ${NEXUS_VERSION} | |
- apiVersion: v1 | |
kind: DeploymentConfig | |
metadata: | |
labels: | |
app: ${SERVICE_NAME} | |
name: ${SERVICE_NAME} | |
spec: | |
replicas: 1 | |
selector: | |
deploymentconfig: ${SERVICE_NAME} | |
strategy: | |
recreateParams: | |
timeoutSeconds: 600 | |
post: | |
failurePolicy: Abort | |
execNewPod: | |
containerName: ${SERVICE_NAME} | |
env: | |
- name: "HTTP_PROXY" | |
value: "http://136.155.228.107:3128" | |
- name: "HTTPS_PROXY" | |
value: "https://136.155.228.107:3128" | |
- name: "http_proxy" | |
value: "http://136.155.228.107:3128" | |
- name: "https_proxy" | |
value: "https://136.155.228.107:3128" | |
- name: "NO_PROXY" | |
value: ".cluster.local,.svc,.test.sll.se,10.180.128.32,10.180.128.33,10.180.128.34,172.30.0.0/16,10.1.0.0/16,satellite6.karolinska.se" | |
- name: "no_proxy" | |
value: ".cluster.local,.svc,.test.sll.se,10.180.128.32,10.180.128.33,10.180.128.34,172.30.0.0/16,10.1.0.0/16,satellite6.karolinska.se" | |
command: | |
- "/bin/bash" | |
- "-c" | |
- "curl -o /tmp/nexus-functions -s https://gist.githubusercontent.com/blues-man/ac195f2b0944c1425cbc70469ed6a719/raw/116c8b527edeb7e446848de72f0ec11aa95f8744/functions; source /tmp/nexus-functions; add_nexus3_redhat_repos admin admin123 http://${SERVICE_NAME}:8081" | |
type: Recreate | |
template: | |
metadata: | |
labels: | |
deploymentconfig: ${SERVICE_NAME} | |
spec: | |
containers: | |
- env: | |
- name: CONTEXT_PATH | |
value: / | |
- name: "HTTP_PROXY" | |
value: "http://136.155.228.107:3128" | |
- name: "HTTPS_PROXY" | |
value: "https://136.155.228.107:3128" | |
- name: "http_proxy" | |
value: "http://136.155.228.107:3128" | |
- name: "https_proxy" | |
value: "https://136.155.228.107:3128" | |
- name: "NO_PROXY" | |
value: ".cluster.local,.svc,.test.sll.se,10.180.128.32,10.180.128.33,10.180.128.34,172.30.0.0/16,10.1.0.0/16,satellite6.karolinska.se" | |
- name: "no_proxy" | |
value: ".cluster.local,.svc,.test.sll.se,10.180.128.32,10.180.128.33,10.180.128.34,172.30.0.0/16,10.1.0.0/16,satellite6.karolinska.se" | |
image: ' ' | |
imagePullPolicy: IfNotPresent | |
livenessProbe: | |
exec: | |
command: | |
- echo | |
- ok | |
failureThreshold: 3 | |
initialDelaySeconds: 30 | |
periodSeconds: 10 | |
successThreshold: 1 | |
timeoutSeconds: 1 | |
name: ${SERVICE_NAME} | |
ports: | |
- containerPort: 8081 | |
protocol: TCP | |
readinessProbe: | |
failureThreshold: 3 | |
httpGet: | |
path: / | |
port: 8081 | |
scheme: HTTP | |
initialDelaySeconds: 30 | |
periodSeconds: 10 | |
successThreshold: 1 | |
timeoutSeconds: 1 | |
resources: | |
limits: | |
memory: ${MAX_MEMORY} | |
requests: | |
memory: 512Mi | |
terminationMessagePath: /dev/termination-log | |
volumeMounts: | |
- mountPath: /nexus-data | |
name: ${SERVICE_NAME}-data | |
dnsPolicy: ClusterFirst | |
restartPolicy: Always | |
securityContext: {} | |
terminationGracePeriodSeconds: 30 | |
volumes: | |
- name: ${SERVICE_NAME}-data | |
persistentVolumeClaim: | |
claimName: ${SERVICE_NAME}-pv | |
test: false | |
triggers: | |
- type: ConfigChange | |
- imageChangeParams: | |
automatic: true | |
containerNames: | |
- ${SERVICE_NAME} | |
from: | |
kind: ImageStreamTag | |
name: ${SERVICE_NAME}:${NEXUS_VERSION} | |
type: ImageChange | |
- apiVersion: v1 | |
kind: Service | |
metadata: | |
labels: | |
app: ${SERVICE_NAME} | |
name: ${SERVICE_NAME} | |
spec: | |
ports: | |
- name: 8081-tcp | |
port: 8081 | |
protocol: TCP | |
targetPort: 8081 | |
selector: | |
deploymentconfig: ${SERVICE_NAME} | |
sessionAffinity: None | |
type: ClusterIP | |
- apiVersion: v1 | |
kind: Route | |
metadata: | |
labels: | |
app: ${SERVICE_NAME} | |
name: ${SERVICE_NAME} | |
spec: | |
port: | |
targetPort: 8081-tcp | |
to: | |
kind: Service | |
name: ${SERVICE_NAME} | |
weight: 100 | |
- apiVersion: v1 | |
kind: PersistentVolumeClaim | |
metadata: | |
labels: | |
app: ${SERVICE_NAME} | |
name: ${SERVICE_NAME}-pv | |
spec: | |
accessModes: | |
- ReadWriteOnce | |
resources: | |
requests: | |
storage: ${VOLUME_CAPACITY} | |
parameters: | |
- displayName: Sonatype Nexus service name | |
name: SERVICE_NAME | |
required: true | |
value: nexus | |
- displayName: Sonatype Nexus version | |
name: NEXUS_VERSION | |
required: true | |
value: 3.6.0 | |
- description: Volume space available for Sonatype Nexus e.g. 512Mi, 2Gi | |
displayName: Volume Space for Nexus | |
name: VOLUME_CAPACITY | |
required: true | |
value: 2Gi | |
- description: Max memory allocated to the Nexus pod | |
displayName: Max Memory | |
name: MAX_MEMORY | |
required: true | |
value: 1Gi |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment