kind: Template apiVersion: template.openshift.io/v1 metadata: name: fabric8-launcher annotations: openshift.io/display-name: "Red Hat Application Launcher" description: This application consists of the combination of backend and frontend services for the Red Hat Application Launcher tags: instant-app,fabric8-launcher iconClass: icon-shadowman template.openshift.io/long-description: This application consists of the combination of backend and frontend services for the Red Hat Application Launcher template.openshift.io/provider-display-name: Red Hat, Inc. template.openshift.io/documentation-url: https://github.com/fabric8-launcher template.openshift.io/support-url: https://access.redhat.com message: "The following service(s) have been created in your project: launcher-backend, launcher-frontend.\n\nFor more information about using this template, including OpenShift considerations, see https://github.com/fabric8-launcher" labels: template: launcher-header app: fabric8-launcher parameters: - name: LAUNCHER_MISSIONCONTROL_GITHUB_TOKEN displayName: Your GitHub personal access token (set at https://github.com/settings/tokens) description: Your GitHub personal access token (set at https://github.com/settings/tokens; leave empty when using Keycloak) - name: LAUNCHER_MISSIONCONTROL_OPENSHIFT_API_URL displayName: Target OpenShift API URL description: The base URL of the OpenShift API where the launched boosters should be created (ie. https://hostname[:port] or https://ipaddress[:port]). Leave the default value when targetting the same OpenShift/Minishift you are running this on value: https://openshift.default.svc.cluster.local - name: LAUNCHER_MISSIONCONTROL_OPENSHIFT_CONSOLE_URL displayName: Target OpenShift Console URL description: The base URL of the OpenShift Console where the launched boosters should be created (ie. https://hostname[:port] or https://ipaddress[:port]). When targetting the same OpenShift/Minishift instance you are running this on you can most likely look at this page's address bar of your browser and copy the URL Example value (https://$HOSTNAMEORIP:8443) value: - name: LAUNCHER_MISSIONCONTROL_OPENSHIFT_USERNAME displayName: OpenShift user name description: OpenShift user (leave empty when using Keycloak with OpenShift as an Identity Provider or token) value: developer - name: LAUNCHER_MISSIONCONTROL_OPENSHIFT_PASSWORD displayName: OpenShift password description: OpenShift password (leave empty when using Keycloak with OpenShift as an Identity Provider or token) value: developer - name: LAUNCHER_MISSIONCONTROL_OPENSHIFT_IMPERSONATE_USER displayName: Impersonate OpenShift users description: Impersonate OpenShift users (requires a ServiceAccount with impersonator role) value: - name: LAUNCHER_KEYCLOAK_URL displayName: KeyCloak URL description: The URL (with the /auth part) of a Keycloak installation to perform SSO authentication (leave empty if you've explicitly specified GItHub/OpenShift authentication above) value: https://sso.openshift.io/auth - name: LAUNCHER_KEYCLOAK_REALM displayName: KeyCloak Realm description: The keycloak realm to be used (leave empty if you've explicitly specified GitHub/OpenShift authentication above) value: rh-developers-launch - name: LAUNCHER_KEYCLOAK_CLIENT_ID displayName: KeyCloak Client ID description: The keycloak client id to be used in the frontend (leave empty if you've explicitly specified GitHub/OpenShift authentication above) value: - name: LAUNCHER_OAUTH_OPENSHIFT_URL displayName: OpenShift OAuth Url description: The OpenShift Oauth Url to use for cluster authentication - name: LAUNCHER_TRACKER_SEGMENT_TOKEN displayName: Segment Token description: The token to use for Segment tracking. Leaving this empty will disable tracking. This must be set to the proper tokens for staging and production! - name: LAUNCHER_BOOSTER_CATALOG_REPOSITORY displayName: Catalog Git Repository description: The GitHub repository containing the booster catalog value: https://github.com/fabric8-launcher/launcher-booster-catalog.git required: true - name: LAUNCHER_BOOSTER_CATALOG_REF displayName: Catalog Git Reference description: The Git reference to use for the above repository value: latest required: true - name: LAUNCHER_BOOSTER_CATALOG_FILTER displayName: Catalog Filter description: Optional expression to filter a subset of boosters for the above repository (eg. booster.mission.id == 'rest-http') value: - name: LAUNCHER_BACKEND_CATALOG_REINDEX_TOKEN displayName: Catalog Reindex Token description: A token that must be passed to the catalog reindex service to trigger the catalog reindexing. value: - name: LAUNCHER_BACKEND_ENVIRONMENT displayName: Booster Environment description: The environment where this backend is running. This is used in the environment section in the booster catalog entries. Leaving this empty will set the value to 'development' if the 'Catalog Git Reference' is set to 'master', in any other case the value will default to 'production'. value: - name: LAUNCHER_BACKEND_ARTEMIS_URL displayName: ActiveMQ Artemis JMS URL description: ActiveMQ Artemis URL to store your status messages (needed when using multiple backend replicas). Leave it blank if you are not planning on using more than one replica for the backend. value: - name: LAUNCHER_BACKEND_ARTEMIS_USERNAME displayName: ActiveMQ Artemis JMS Username description: ActiveMQ Artemis Username for the ActiveMQ Artemis URL. Leave it blank if ActiveMQ Artemis URL is unset. value: - name: LAUNCHER_BACKEND_ARTEMIS_PASSWORD displayName: ActiveMQ Artemis JMS Password description: ActiveMQ Artemis Password for the ActiveMQ Artemis URL. Leave it blank if ActiveMQ Artemis URL is unset. value: - name: LAUNCHER_BACKEND_GIT_REPOSITORY_DESCRIPTION displayName: Git Repository Description description: The Git repository description to be used by Launcher (defaults to Generated by the Red Hat Developer Launch (https://developers.redhat.com/launch)) value: - name: LAUNCHER_GIT_PROVIDER displayName: Git Provider description: The Git provider to be used by Launcher (defaults to GitHub) value: GITHUB - name: LAUNCHER_FILTER_RUNTIME displayName: Filter runtimes description: A regular expression that will be used to match against the id field of each runtime. You can prepend `!` in the expression to negate. value: - name: LAUNCHER_FILTER_VERSION displayName: Filter versions description: A regular expression that will be used to match against the id field of each version. You can prepend `!` in the expression to negate. value: - name: BACKEND_IMAGE value: fabric8/launcher-backend required: true - name: BACKEND_IMAGE_TAG value: latest required: true - description: CPU request displayName: CPU request required: true name: BACKEND_CPU_REQUEST value: 10m - description: CPU limit displayName: CPU limit required: true name: BACKEND_CPU_LIMIT value: 1000m - description: Memory request displayName: Memory request required: true name: BACKEND_MEMORY_REQUEST value: 768Mi - description: Memory limit displayName: Memory limit required: true name: BACKEND_MEMORY_LIMIT value: 2G - description: Number of deployment replicas displayName: Number of deployment replicas required: true name: BACKEND_REPLICAS value: '1' - name: WELCOME_IMAGE_NAME description: The Welcome App's image name displayName: Image Name required: true value: fabric8/launcher-creator-welcome-app - name: WELCOME_IMAGE_TAG description: The Welcome App's image tag displayName: Image Tag required: true value: latest - name: CREATOR_BACKEND_IMAGE value: fabric8/launcher-creator-backend required: true - name: CREATOR_BACKEND_IMAGE_TAG value: latest required: true - description: CPU request displayName: CPU request required: true name: CREATOR_BACKEND_CPU_REQUEST value: "10m" - description: CPU limit displayName: CPU limit required: true name: CREATOR_BACKEND_CPU_LIMIT value: "1000m" - description: Memory request displayName: Memory request required: true name: CREATOR_BACKEND_MEMORY_REQUEST value: "8Mi" - description: Memory limit displayName: Memory limit required: true name: CREATOR_BACKEND_MEMORY_LIMIT value: "128Mi" - description: Number of deployment replicas displayName: Number of deployment replicas required: true name: CREATOR_BACKEND_REPLICAS value: "1" - name: FRONTEND_IMAGE value: fabric8/launcher-frontend required: true - name: FRONTEND_IMAGE_TAG value: latest required: true - description: CPU request displayName: CPU request required: true name: FRONTEND_CPU_REQUEST value: 10m - description: CPU limit displayName: CPU limit required: true name: FRONTEND_CPU_LIMIT value: 50m - description: Memory request displayName: Memory request required: true name: FRONTEND_MEMORY_REQUEST value: 8M - description: Memory limit displayName: Memory limit required: true name: FRONTEND_MEMORY_LIMIT value: 64M - description: Number of deployment replicas displayName: Number of deployment replicas required: true name: FRONTEND_REPLICAS value: '1' - name: CONTROLLER_IMAGE value: fabric8/configmapcontroller required: true - name: CONTROLLER_IMAGE_TAG value: 2.3.7 required: true - name: LAUNCHER_MISSIONCONTROL_OPENSHIFT_TOKEN displayName: OpenShift token description: OpenShift token (leave empty when using Keycloak with OpenShift as an Identity Provider or user/password above) value: - name: LAUNCHER_OAUTH_OPENSHIFT_CLIENT_ID displayName: OpenShift Client ID description: The OpenShift Oauth Client ID to use for cluster authentication value: launcher - name: LAUNCHER_OAUTH_GITHUB_CLIENT_ID displayName: GitHub Oauth Client ID description: The GitHub Oauth Client ID to use for GitHub authentication value: - name: LAUNCHER_OAUTH_GITHUB_SECRET displayName: GitHub Oauth Secret description: The GitHub Oauth Secret to use for GitHub authentication value: objects: - kind: ConfigMap apiVersion: v1 metadata: name: launcher data: launcher.missioncontrol.github.token: ${LAUNCHER_MISSIONCONTROL_GITHUB_TOKEN} launcher.missioncontrol.openshift.username: ${LAUNCHER_MISSIONCONTROL_OPENSHIFT_USERNAME} launcher.missioncontrol.openshift.password: ${LAUNCHER_MISSIONCONTROL_OPENSHIFT_PASSWORD} launcher.missioncontrol.openshift.impersonate.user: ${LAUNCHER_MISSIONCONTROL_OPENSHIFT_IMPERSONATE_USER} launcher.missioncontrol.openshift.api.url: ${LAUNCHER_MISSIONCONTROL_OPENSHIFT_API_URL} launcher.missioncontrol.openshift.console.url: ${LAUNCHER_MISSIONCONTROL_OPENSHIFT_CONSOLE_URL} launcher.backend.artemis.url: ${LAUNCHER_BACKEND_ARTEMIS_URL} launcher.backend.artemis.username: ${LAUNCHER_BACKEND_ARTEMIS_USERNAME} launcher.backend.artemis.password: ${LAUNCHER_BACKEND_ARTEMIS_PASSWORD} launcher.backend.catalog.filter: ${LAUNCHER_BOOSTER_CATALOG_FILTER} launcher.backend.catalog.git.repository: ${LAUNCHER_BOOSTER_CATALOG_REPOSITORY} launcher.backend.catalog.git.ref: ${LAUNCHER_BOOSTER_CATALOG_REF} launcher.backend.catalog.reindex.token: ${LAUNCHER_BACKEND_CATALOG_REINDEX_TOKEN} launcher.backend.documentation.reload.token: ${LAUNCHER_BACKEND_CATALOG_REINDEX_TOKEN} launcher.backend.environment: ${LAUNCHER_BACKEND_ENVIRONMENT} launcher.backend.git.repository.description: ${LAUNCHER_BACKEND_GIT_REPOSITORY_DESCRIPTION} launcher.git.provider: ${LAUNCHER_GIT_PROVIDER} launcher.keycloak.url: ${LAUNCHER_KEYCLOAK_URL} launcher.keycloak.realm: ${LAUNCHER_KEYCLOAK_REALM} launcher.keycloak.client.id: ${LAUNCHER_KEYCLOAK_CLIENT_ID} launcher.oauth.openshift.url: ${LAUNCHER_OAUTH_OPENSHIFT_URL} launcher.tracker.segment.token: ${LAUNCHER_TRACKER_SEGMENT_TOKEN} launcher.backend.url: /launch/api launcher.filter.runtime: ${LAUNCHER_FILTER_RUNTIME} launcher.filter.version: ${LAUNCHER_FILTER_VERSION} launcher.frontend.sentry.dsn: launcher.frontend.targetenvironment.skip: launcher.backend.sentry.dsn: launcher.creator.enabled: launcher.creator.sentry.dsn: launcher.creator.url: /launch/creator - kind: ConfigMap apiVersion: v1 metadata: name: launcher-clusters data: openshift-clusters.yaml: |- - id: starter-us-east-1 name: "Starter: US East (Virginia)" apiUrl: https://api.starter-us-east-1.openshift.com consoleUrl: https://console.starter-us-east-1.openshift.com type: starter - id: starter-us-west-1 name: "Starter: US West (California)" apiUrl: https://api.starter-us-west-1.openshift.com consoleUrl: https://console.starter-us-west-1.openshift.com type: starter - id: starter-us-west-2 name: "Starter: US West (Oregon)" apiUrl: https://api.starter-us-west-2.openshift.com consoleUrl: https://console.starter-us-west-2.openshift.com type: starter - id: starter-ca-central-1 name: "Starter: Canada (Central)" apiUrl: https://api.starter-ca-central-1.openshift.com consoleUrl: https://console.starter-ca-central-1.openshift.com type: starter - id: pro-us-east-1 name: "Pro: US East (N. Virginia)" apiUrl: https://api.pro-us-east-1.openshift.com consoleUrl: https://console.pro-us-east-1.openshift.com type: pro - id: pro-eu-west-1 name: "Pro: EU West (Ireland)" apiUrl: https://api.pro-eu-west-1.openshift.com consoleUrl: https://console.pro-eu-west-1.openshift.com type: pro - id: pro-ap-southeast-2 name: "Pro: Asia Pacific (Sydney)" apiUrl: https://api.pro-ap-southeast-2.openshift.com consoleUrl: https://console.pro-ap-southeast-2.openshift.com type: pro git-providers.yaml: |- - id: GitHub name: "GitHub" apiUrl: https://api.github.com repositoryUrl: https://github.com type: GITHUB - kind: DeploymentConfig apiVersion: v1 metadata: name: launcher-backend annotations: configmap.fabric8.io/update-on-change: launcher,launcher-clusters spec: replicas: ${{BACKEND_REPLICAS}} selector: service: launcher-backend strategy: resources: {} rollingParams: intervalSeconds: 1 maxSurge: 25% maxUnavailable: 25% timeoutSeconds: 600 updatePeriodSeconds: 1 type: Rolling template: metadata: labels: service: launcher-backend spec: containers: - env: - name: ARTEMIS_URL valueFrom: configMapKeyRef: name: launcher key: launcher.backend.artemis.url optional: true - name: ARTEMIS_USERNAME valueFrom: configMapKeyRef: name: launcher key: launcher.backend.artemis.username optional: true - name: ARTEMIS_PASSWORD valueFrom: configMapKeyRef: name: launcher key: launcher.backend.artemis.password optional: true - name: LAUNCHER_BOOSTER_CATALOG_REPOSITORY valueFrom: configMapKeyRef: name: launcher key: launcher.backend.catalog.git.repository - name: LAUNCHER_BOOSTER_CATALOG_REF valueFrom: configMapKeyRef: name: launcher key: launcher.backend.catalog.git.ref - name: LAUNCHER_BOOSTER_CATALOG_FILTER valueFrom: configMapKeyRef: name: launcher key: launcher.backend.catalog.filter optional: true - name: LAUNCHER_BACKEND_CATALOG_REINDEX_TOKEN valueFrom: configMapKeyRef: name: launcher key: launcher.backend.catalog.reindex.token optional: true - name: LAUNCHER_BACKEND_DOCUMENTATION_RELOAD_TOKEN valueFrom: configMapKeyRef: name: launcher key: launcher.backend.documentation.reload.token optional: true - name: LAUNCHER_GIT_PROVIDER valueFrom: configMapKeyRef: name: launcher key: launcher.git.provider optional: true - name: LAUNCHER_BACKEND_GIT_REPOSITORY_DESCRIPTION valueFrom: configMapKeyRef: name: launcher key: launcher.backend.git.repository.description optional: true - name: LAUNCHER_MISSIONCONTROL_OPENSHIFT_API_URL valueFrom: configMapKeyRef: name: launcher key: launcher.missioncontrol.openshift.api.url optional: true - name: LAUNCHER_MISSIONCONTROL_OPENSHIFT_CONSOLE_URL valueFrom: configMapKeyRef: name: launcher key: launcher.missioncontrol.openshift.console.url optional: true - name: LAUNCHER_MISSIONCONTROL_OPENSHIFT_USERNAME valueFrom: configMapKeyRef: name: launcher key: launcher.missioncontrol.openshift.username optional: true - name: LAUNCHER_MISSIONCONTROL_OPENSHIFT_PASSWORD valueFrom: configMapKeyRef: name: launcher key: launcher.missioncontrol.openshift.password optional: true - name: LAUNCHER_MISSIONCONTROL_OPENSHIFT_TOKEN valueFrom: secretKeyRef: name: launcher key: launcher.missioncontrol.openshift.token optional: true - name: LAUNCHER_MISSIONCONTROL_OPENSHIFT_IMPERSONATE_USER valueFrom: configMapKeyRef: name: launcher key: launcher.missioncontrol.openshift.impersonate.user optional: true - name: LAUNCHER_MISSIONCONTROL_GITHUB_TOKEN valueFrom: configMapKeyRef: name: launcher key: launcher.missioncontrol.github.token optional: true - name: SENTRY_DSN valueFrom: configMapKeyRef: name: launcher key: launcher.backend.sentry.dsn optional: true - name: LAUNCHER_KEYCLOAK_URL valueFrom: configMapKeyRef: name: launcher key: launcher.keycloak.url - name: LAUNCHER_KEYCLOAK_REALM valueFrom: configMapKeyRef: name: launcher key: launcher.keycloak.realm - name: LAUNCHER_TRACKER_SEGMENT_TOKEN valueFrom: configMapKeyRef: name: launcher key: launcher.tracker.segment.token - name: LAUNCHER_BACKEND_ENVIRONMENT valueFrom: configMapKeyRef: name: launcher key: launcher.backend.environment - name: LAUNCHER_MISSIONCONTROL_OPENSHIFT_CLUSTERS_FILE value: /etc/fabric8-launcher/openshift-clusters.yaml - name: LAUNCHER_GIT_PROVIDERS_FILE value: /etc/fabric8-launcher/git-providers.yaml - name: LAUNCHER_MISSIONCONTROL_OPENSHIFT_CLUSTERS_SUBSCRIPTION_TOKEN valueFrom: secretKeyRef: name: launcher key: launcher.missioncontrol.openshift.clusters.subscription.token optional: true - name: LAUNCHER_FILTER_RUNTIME valueFrom: configMapKeyRef: name: launcher key: launcher.filter.runtime optional: true - name: LAUNCHER_FILTER_VERSION valueFrom: configMapKeyRef: name: launcher key: launcher.filter.version optional: true image: ${BACKEND_IMAGE}:${BACKEND_IMAGE_TAG} imagePullPolicy: Always name: launcher-backend ports: - containerPort: 8080 protocol: TCP terminationMessagePath: /dev/termination-log volumeMounts: - mountPath: /etc/fabric8-launcher/ name: configmap-volume readinessProbe: httpGet: path: /health port: 8080 scheme: HTTP initialDelaySeconds: 15 periodSeconds: 20 timeoutSeconds: 10 livenessProbe: httpGet: path: /health port: 8080 scheme: HTTP initialDelaySeconds: 30 periodSeconds: 20 timeoutSeconds: 10 resources: requests: cpu: ${BACKEND_CPU_REQUEST} memory: ${BACKEND_MEMORY_REQUEST} limits: cpu: ${BACKEND_CPU_LIMIT} memory: ${BACKEND_MEMORY_LIMIT} dnsPolicy: ClusterFirst restartPolicy: Always securityContext: {} terminationGracePeriodSeconds: 30 volumes: - name: configmap-volume configMap: name: launcher-clusters test: false triggers: - type: ConfigChange - kind: Service apiVersion: v1 metadata: labels: service: launcher-backend name: launcher-backend spec: ports: - name: '8080' port: 8080 protocol: TCP targetPort: 8080 selector: service: launcher-backend sessionAffinity: None type: ClusterIP - kind: DeploymentConfig apiVersion: v1 metadata: name: launcher-creator-backend annotations: configmap.fabric8.io/update-on-change: "launcher" spec: replicas: "${{CREATOR_BACKEND_REPLICAS}}" selector: service: launcher-creator-backend strategy: resources: {} rollingParams: intervalSeconds: 1 maxSurge: 25% maxUnavailable: 25% timeoutSeconds: 600 updatePeriodSeconds: 1 type: Rolling template: metadata: labels: service: launcher-creator-backend spec: containers: - image: ${CREATOR_BACKEND_IMAGE}:${CREATOR_BACKEND_IMAGE_TAG} imagePullPolicy: Always name: launcher-creator-backend ports: - containerPort: 8080 protocol: TCP env: - name: LAUNCHER_BACKEND_URL value: http://launcher-backend:8080/api - name: WELCOME_IMAGE_NAME value: ${WELCOME_IMAGE_NAME} - name: WELCOME_IMAGE_TAG value: ${WELCOME_IMAGE_TAG} - name: LAUNCHER_FILTER_RUNTIME valueFrom: configMapKeyRef: name: launcher key: launcher.filter.runtime optional: true - name: LAUNCHER_FILTER_VERSION valueFrom: configMapKeyRef: name: launcher key: launcher.filter.version optional: true - name: SENTRY_DSN valueFrom: configMapKeyRef: name: launcher key: launcher.creator.sentry.dsn optional: true terminationMessagePath: /dev/termination-log readinessProbe: httpGet: path: /health port: 8080 initialDelaySeconds: 15 timeoutSeconds: 10 periodSeconds: 20 livenessProbe: httpGet: path: /health port: 8080 initialDelaySeconds: 30 timeoutSeconds: 10 periodSeconds: 20 resources: requests: cpu: ${CREATOR_BACKEND_CPU_REQUEST} memory: ${CREATOR_BACKEND_MEMORY_REQUEST} limits: cpu: ${CREATOR_BACKEND_CPU_LIMIT} memory: ${CREATOR_BACKEND_MEMORY_LIMIT} restartPolicy: Always dnsPolicy: ClusterFirst securityContext: {} terminationGracePeriodSeconds: 30 test: false triggers: - type: ConfigChange - kind: Service apiVersion: v1 metadata: labels: service: launcher-creator-backend name: launcher-creator-backend spec: ports: - name: "8080" port: 8080 protocol: TCP targetPort: 8080 selector: service: launcher-creator-backend sessionAffinity: None type: ClusterIP - kind: DeploymentConfig apiVersion: v1 metadata: name: launcher-frontend annotations: configmap.fabric8.io/update-on-change: launcher spec: replicas: ${{FRONTEND_REPLICAS}} selector: service: launcher-frontend strategy: resources: {} rollingParams: intervalSeconds: 1 maxSurge: 25% maxUnavailable: 25% timeoutSeconds: 600 updatePeriodSeconds: 1 type: Rolling template: metadata: labels: service: launcher-frontend spec: containers: - image: ${FRONTEND_IMAGE}:${FRONTEND_IMAGE_TAG} imagePullPolicy: Always name: launcher-frontend ports: - containerPort: 8080 protocol: TCP env: - name: LAUNCHER_BACKEND_URL valueFrom: configMapKeyRef: name: launcher key: launcher.backend.url optional: true - name: LAUNCHER_CREATOR_URL valueFrom: configMapKeyRef: name: launcher key: launcher.creator.url optional: true - name: LAUNCHER_KEYCLOAK_URL valueFrom: configMapKeyRef: name: launcher key: launcher.keycloak.url - name: LAUNCHER_KEYCLOAK_REALM valueFrom: configMapKeyRef: name: launcher key: launcher.keycloak.realm - name: LAUNCHER_KEYCLOAK_CLIENT_ID valueFrom: configMapKeyRef: name: launcher key: launcher.keycloak.client.id optional: true - name: LAUNCHER_OAUTH_OPENSHIFT_URL valueFrom: configMapKeyRef: name: launcher key: launcher.oauth.openshift.url optional: true - name: LAUNCHER_OAUTH_OPENSHIFT_CLIENT_ID valueFrom: secretKeyRef: name: launcher-oauth-openshift key: clientId optional: true - name: LAUNCHER_OAUTH_GITHUB_CLIENT_ID valueFrom: secretKeyRef: name: launcher-oauth-github key: clientId optional: true - name: LAUNCHER_OAUTH_GITHUB_SECRET valueFrom: secretKeyRef: name: launcher-oauth-github key: secret optional: true - name: LAUNCHER_TRACKER_SEGMENT_TOKEN valueFrom: configMapKeyRef: name: launcher key: launcher.tracker.segment.token optional: true - name: LAUNCHER_FRONTEND_SENTRY_DSN valueFrom: configMapKeyRef: name: launcher key: launcher.frontend.sentry.dsn optional: true - name: LAUNCHER_TARGETENVIRONMENT_SKIP valueFrom: configMapKeyRef: name: launcher key: launcher.frontend.targetenvironment.skip optional: true terminationMessagePath: /dev/termination-log readinessProbe: httpGet: path: /launch port: 8080 initialDelaySeconds: 15 timeoutSeconds: 10 periodSeconds: 20 livenessProbe: httpGet: path: /launch port: 8080 initialDelaySeconds: 30 timeoutSeconds: 10 periodSeconds: 20 resources: requests: cpu: ${FRONTEND_CPU_REQUEST} memory: ${FRONTEND_MEMORY_REQUEST} limits: cpu: ${FRONTEND_CPU_LIMIT} memory: ${FRONTEND_MEMORY_LIMIT} restartPolicy: Always dnsPolicy: ClusterFirst securityContext: {} terminationGracePeriodSeconds: 30 test: false triggers: - type: ConfigChange - kind: Service apiVersion: v1 metadata: labels: service: launcher-frontend name: launcher-frontend spec: ports: - name: '8080' port: 8080 protocol: TCP targetPort: 8080 selector: service: launcher-frontend sessionAffinity: None type: ClusterIP - apiVersion: v1 kind: ServiceAccount metadata: labels: service: configmapcontroller name: configmapcontroller - apiVersion: v1 kind: RoleBinding metadata: labels: service: configmapcontroller name: configmapcontroller roleRef: name: edit subjects: - kind: ServiceAccount name: configmapcontroller - apiVersion: v1 kind: DeploymentConfig metadata: labels: service: configmapcontroller name: configmapcontroller spec: replicas: 1 revisionHistoryLimit: 2 selector: service: configmapcontroller strategy: rollingParams: timeoutSeconds: 7200 type: Rolling template: metadata: labels: service: configmapcontroller spec: containers: - env: - name: KUBERNETES_NAMESPACE valueFrom: fieldRef: fieldPath: metadata.namespace image: ${CONTROLLER_IMAGE}:${CONTROLLER_IMAGE_TAG} name: configmapcontroller serviceAccountName: configmapcontroller triggers: - type: ConfigChange - apiVersion: v1 kind: Route metadata: name: launcher spec: to: kind: Service name: launcher-frontend weight: 100 wildcardPolicy: None status: {} - apiVersion: v1 kind: Secret metadata: name: launcher stringData: launcher.missioncontrol.openshift.clusters.subscription.token: launcher.missioncontrol.openshift.token: ${LAUNCHER_MISSIONCONTROL_OPENSHIFT_TOKEN} - apiVersion: v1 kind: Secret metadata: name: launcher-oauth-openshift stringData: clientId: ${LAUNCHER_OAUTH_OPENSHIFT_CLIENT_ID} - apiVersion: v1 kind: Secret metadata: name: launcher-oauth-github stringData: clientId: ${LAUNCHER_OAUTH_GITHUB_CLIENT_ID} secret: ${LAUNCHER_OAUTH_GITHUB_SECRET}