| @ -0,0 +1,90 @@ | |||
| --- | |||
| kind: Template | |||
| apiVersion: v1 | |||
| metadata: | |||
| name: nginx | |||
| creationTimestamp: | |||
| objects: | |||
| - kind: ImageStream | |||
| apiVersion: v1 | |||
| metadata: | |||
| name: "${NAME}" | |||
| - kind: BuildConfig | |||
| apiVersion: v1 | |||
| metadata: | |||
| name: "${NAME}" | |||
| creationTimestamp: | |||
| labels: | |||
| app: "${NAME}" | |||
| spec: | |||
| triggers: | |||
| - type: GitHub | |||
| github: | |||
| secret: "${GITHUB_WEBHOOK_SECRET}" | |||
| - type: Generic | |||
| generic: | |||
| secret: "${GENERIC_WEBHOOK_SECRET}" | |||
| - type: ConfigChange | |||
| - type: ImageChange | |||
| imageChange: {} | |||
| runPolicy: Serial | |||
| source: | |||
| type: Git | |||
| git: | |||
| ref: "${SOURCE_REPOSITORY_REF}" | |||
| uri: "${SOURCE_REPOSITORY_URL}" | |||
| contextDir: "${SOURCE_REPOSITORY_CONTEXT_DIR}" | |||
| strategy: | |||
| type: Source | |||
| sourceStrategy: | |||
| from: | |||
| kind: ImageStreamTag | |||
| name: "${BUILDER_IMAGESTREAM_TAG}" | |||
| env: | |||
| - name: NGINX_PROXY_URL | |||
| value: "${NGINX_PROXY_URL}" | |||
| output: | |||
| to: | |||
| kind: ImageStreamTag | |||
| name: "${NAME}:latest" | |||
| resources: {} | |||
| postCommit: {} | |||
| status: | |||
| lastVersion: 0 | |||
| parameters: | |||
| - name: NAME | |||
| displayName: Name | |||
| description: The name assigned to all of the frontend objects defined in this template. | |||
| required: true | |||
| value: nginx-proxy | |||
| - name: BUILDER_IMAGESTREAM_TAG | |||
| displayName: Builder ImageStreamTag | |||
| description: The image stream tag (e.g. rproxy:latest) of the S2I image that should be used to build the application. | |||
| value: s2i-nginx:latest | |||
| - name: SOURCE_REPOSITORY_URL | |||
| displayName: Git Repository URL | |||
| description: The URL of the repository with your nginx configuration code. | |||
| value: https://github.com/molund/eDivorce | |||
| required: true | |||
| - name: SOURCE_REPOSITORY_CONTEXT_DIR | |||
| displayName: Git sub-directory | |||
| description: The folder in the Git repo that contains the config.d directory. | |||
| value: /nginx-proxy | |||
| - name: SOURCE_REPOSITORY_REF | |||
| displayName: Git Reference | |||
| description: Set this to a branch name, tag or other ref of your repository if you are not using the default branch. | |||
| - name: GITHUB_WEBHOOK_SECRET | |||
| displayName: GitHub Webhook Secret | |||
| description: A secret string used to configure the GitHub webhook. | |||
| generate: expression | |||
| from: "[a-zA-Z0-9]{40}" | |||
| - name: GENERIC_WEBHOOK_SECRET | |||
| displayName: Generic Webhook Secret | |||
| description: A secret string used to configure the Generic webhook. | |||
| generate: expression | |||
| from: "[a-zA-Z0-9]{40}" | |||
| - name: NGINX_PROXY_URL | |||
| displayName: NGinx Proxy URL | |||
| description: The URL you want NGinx to proxy to, e.g., http://<service-name>:port/ | |||
| value: http://edivorce-django:8080/ | |||
| required: true | |||
| @ -0,0 +1,126 @@ | |||
| --- | |||
| kind: Template | |||
| apiVersion: v1 | |||
| metadata: | |||
| name: nginx | |||
| labels: | |||
| template: nginx-environment-template | |||
| objects: | |||
| - kind: DeploymentConfig | |||
| apiVersion: v1 | |||
| metadata: | |||
| name: "${NAME}" | |||
| creationTimestamp: | |||
| labels: | |||
| app: "${NAME}" | |||
| spec: | |||
| strategy: | |||
| type: Rolling | |||
| rollingParams: | |||
| updatePeriodSeconds: 1 | |||
| intervalSeconds: 1 | |||
| timeoutSeconds: 600 | |||
| maxUnavailable: 25% | |||
| maxSurge: 25% | |||
| resources: {} | |||
| triggers: | |||
| - type: ConfigChange | |||
| - type: ImageChange | |||
| imageChangeParams: | |||
| automatic: true | |||
| containerNames: | |||
| - "${NAME}" | |||
| from: | |||
| kind: ImageStreamTag | |||
| namespace: "${APP_IMAGE_NAMESPACE}" | |||
| name: "${APP_IMAGE_NAME}:deploy-to-${ENVIRONMENT_TYPE}" | |||
| replicas: 2 | |||
| test: false | |||
| selector: | |||
| app: "${NAME}" | |||
| deploymentconfig: "${NAME}" | |||
| template: | |||
| metadata: | |||
| creationTimestamp: | |||
| labels: | |||
| app: "${NAME}" | |||
| deploymentconfig: "${NAME}" | |||
| spec: | |||
| containers: | |||
| - name: "${NAME}" | |||
| image: " " | |||
| ports: | |||
| - containerPort: 8080 | |||
| protocol: TCP | |||
| livenessProbe: | |||
| httpGet: | |||
| path: /nginx_status | |||
| port: 8080 | |||
| scheme: HTTP | |||
| initialDelaySeconds: 60 | |||
| timeoutSeconds: 30 | |||
| periodSeconds: 60 | |||
| successThreshold: 1 | |||
| failureThreshold: 5 | |||
| imagePullPolicy: Always | |||
| restartPolicy: Always | |||
| terminationGracePeriodSeconds: 30 | |||
| dnsPolicy: ClusterFirst | |||
| securityContext: {} | |||
| - kind: Service | |||
| apiVersion: v1 | |||
| metadata: | |||
| name: "${NAME}" | |||
| creationTimestamp: | |||
| labels: | |||
| app: "${NAME}" | |||
| spec: | |||
| ports: | |||
| - name: 8080-tcp | |||
| protocol: TCP | |||
| port: 8080 | |||
| targetPort: 8080 | |||
| selector: | |||
| app: "${NAME}" | |||
| deploymentconfig: "${NAME}" | |||
| type: ClusterIP | |||
| sessionAffinity: None | |||
| - kind: Route | |||
| apiVersion: v1 | |||
| metadata: | |||
| name: "${NAME}" | |||
| creationTimestamp: | |||
| labels: | |||
| app: "${NAME}" | |||
| annotations: | |||
| openshift.io/host.generated: 'true' | |||
| spec: | |||
| host: "edivorce-${ENVIRONMENT_TYPE}.pathfinder.gov.bc.ca" | |||
| to: | |||
| kind: Service | |||
| name: "${NAME}" | |||
| weight: 100 | |||
| port: | |||
| targetPort: 8080-tcp | |||
| tls: | |||
| termination: edge | |||
| insecureEdgeTerminationPolicy: Redirect | |||
| parameters: | |||
| - name: NAME | |||
| displayName: Name | |||
| description: The name assigned to all of the frontend objects defined in this template. | |||
| required: true | |||
| value: nginx-proxy | |||
| - name: APP_IMAGE_NAME | |||
| displayName: Application image name. | |||
| description: Application image name. | |||
| value: nginx-proxy | |||
| required: true | |||
| - name: APP_IMAGE_NAMESPACE | |||
| displayName: Namespace containing application images. | |||
| description: Namespace containing application images. | |||
| value: "jag-csb-edivorce-tools" | |||
| required: true | |||
| - name: ENVIRONMENT_TYPE | |||
| displayName: Type of environnment (dev,test or prod). | |||
| required: true | |||