openshift-apps/sanitarium: First go at openshift role for playing with an SSH CA in stg
Signed-off-by: Rick Elrod <relrod@redhat.com>
This commit is contained in:
parent
f6606cc106
commit
3bf33234a8
5 changed files with 214 additions and 0 deletions
59
playbooks/openshift-apps/sanitarium.yml
Normal file
59
playbooks/openshift-apps/sanitarium.yml
Normal file
|
@ -0,0 +1,59 @@
|
||||||
|
- name: make the app be real
|
||||||
|
#hosts: os_masters[0]:os_masters_stg[0]
|
||||||
|
hosts: os_masters_stg[0]
|
||||||
|
user: root
|
||||||
|
gather_facts: False
|
||||||
|
|
||||||
|
vars_files:
|
||||||
|
- /srv/web/infra/ansible/vars/global.yml
|
||||||
|
- "/srv/private/ansible/vars.yml"
|
||||||
|
- /srv/web/infra/ansible/vars/{{ ansible_distribution }}.yml
|
||||||
|
|
||||||
|
roles:
|
||||||
|
- role: openshift/project
|
||||||
|
app: sanitarium
|
||||||
|
description: sanitarium
|
||||||
|
appowners:
|
||||||
|
- codeblock
|
||||||
|
- puiterwijk
|
||||||
|
- role: openshift/secret-file
|
||||||
|
app: sanitarium
|
||||||
|
key: intermediate
|
||||||
|
secret_name: intermediate
|
||||||
|
privatefile: "sanitarium/intermediate.{{env}}.key"
|
||||||
|
- role: openshift/secret-file
|
||||||
|
app: sanitarium
|
||||||
|
key: signer
|
||||||
|
secret_name: signer
|
||||||
|
privatefile: "sanitarium/signer.{{env}}"
|
||||||
|
- role: openshift/object
|
||||||
|
app: sanitarium
|
||||||
|
objectname: secret.yml
|
||||||
|
template: secret.yml
|
||||||
|
- role: openshift/imagestream
|
||||||
|
app: sanitarium
|
||||||
|
imagename: sanitarium
|
||||||
|
- role: openshift/object
|
||||||
|
app: sanitarium
|
||||||
|
file: buildconfig.yml
|
||||||
|
objectname: buildconfig.yml
|
||||||
|
- role: openshift/start-build
|
||||||
|
app: sanitarium
|
||||||
|
buildname: sanitarium
|
||||||
|
- role: openshift/object
|
||||||
|
app: sanitarium
|
||||||
|
file: service.yml
|
||||||
|
objectname: service.yml
|
||||||
|
- role: openshift/route
|
||||||
|
app: sanitarium
|
||||||
|
routename: sanitarium
|
||||||
|
host: sanitarium-sanitarium.app.os{{env_suffix}}.fedoraproject.org
|
||||||
|
serviceport: web
|
||||||
|
servicename: sanitarium
|
||||||
|
- role: openshift/object
|
||||||
|
app: sanitarium
|
||||||
|
file: deploymentconfig.yml
|
||||||
|
objectname: deploymentconfig.yml
|
||||||
|
- role: openshift/rollout
|
||||||
|
app: sanitarium
|
||||||
|
dcname: sanitarium
|
23
roles/openshift-apps/sanitarium/files/buildconfig.yml
Normal file
23
roles/openshift-apps/sanitarium/files/buildconfig.yml
Normal file
|
@ -0,0 +1,23 @@
|
||||||
|
---
|
||||||
|
apiVersion: v1
|
||||||
|
kind: BuildConfig
|
||||||
|
metadata:
|
||||||
|
name: sanitarium
|
||||||
|
labels:
|
||||||
|
app: sanitarium
|
||||||
|
spec:
|
||||||
|
completionDeadlineSeconds: 1800
|
||||||
|
runPolicy: Serial
|
||||||
|
strategy:
|
||||||
|
dockerStrategy:
|
||||||
|
dockerfilePath: Dockerfile.server
|
||||||
|
source:
|
||||||
|
type: Git
|
||||||
|
git:
|
||||||
|
uri: https://github.com/puiterwijk/Sanitarium.git
|
||||||
|
triggers:
|
||||||
|
- type: ConfigChange
|
||||||
|
output:
|
||||||
|
to:
|
||||||
|
kind: ImageStreamTag
|
||||||
|
name: sanitarium:latest
|
106
roles/openshift-apps/sanitarium/files/deploymentconfig.yml
Normal file
106
roles/openshift-apps/sanitarium/files/deploymentconfig.yml
Normal file
|
@ -0,0 +1,106 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: DeploymentConfig
|
||||||
|
metadata:
|
||||||
|
name: sanitarium
|
||||||
|
labels:
|
||||||
|
app: sanitarium
|
||||||
|
spec:
|
||||||
|
replicas: 1
|
||||||
|
selector:
|
||||||
|
app: sanitarium
|
||||||
|
strategy:
|
||||||
|
activeDeadlineSeconds: 21600
|
||||||
|
recreateParams:
|
||||||
|
timeoutSeconds: 600
|
||||||
|
template:
|
||||||
|
metadata:
|
||||||
|
name: sanitarium
|
||||||
|
labels:
|
||||||
|
app: sanitarium
|
||||||
|
spec:
|
||||||
|
containers:
|
||||||
|
- env:
|
||||||
|
- name: SERVICE_ROOT
|
||||||
|
value: 'https://sanitarium-sanitarium.app.os.fedoraproject.org'
|
||||||
|
- name: OIDC_PROVIDER_ROOT
|
||||||
|
value: 'https://id.fedoraproject.org/openidc/'
|
||||||
|
- name: OIDC_CLIENT_ID
|
||||||
|
value: sshcerttest
|
||||||
|
- name: OIDC_CLIENT_SECRET
|
||||||
|
valueFrom:
|
||||||
|
secretKeyRef:
|
||||||
|
name: sanitarium
|
||||||
|
key: oidc-client-secret
|
||||||
|
- name: OIDC_SUPPORTS_OOB
|
||||||
|
value: 'no'
|
||||||
|
- name: OIDC_REQUIRED_SCOPES
|
||||||
|
value: 'openid,profile'
|
||||||
|
- name: REQUIRE_TPM
|
||||||
|
value: 'no'
|
||||||
|
- name: REQUIRE_MEASUREMENT
|
||||||
|
value: 'no'
|
||||||
|
- name: OIDC_TOKEN_INFO_URL
|
||||||
|
value: 'https://id.fedoraproject.org/openidc/TokenInfo'
|
||||||
|
- name: OIDC_USERNAME_CLAIM
|
||||||
|
value: sub
|
||||||
|
- name: INTERMEDIATE_CERT_VALIDITY
|
||||||
|
value: 8h
|
||||||
|
- name: SSH_CERT_VALIDITY
|
||||||
|
value: 5m
|
||||||
|
- name: SSH_CERT_SIGNING_KEY_PATH
|
||||||
|
value: /sshkey/signer.key
|
||||||
|
- name: SSH_CERT_ADD_GITHUB
|
||||||
|
value: 'yes'
|
||||||
|
- name: INTERMEDIATE_SIGNING_KEY_PATH
|
||||||
|
value: /sshkey/intermediate.key
|
||||||
|
image: >-
|
||||||
|
docker-registry.default.svc:5000/sanitarium:latest
|
||||||
|
imagePullPolicy: IfNotPresent
|
||||||
|
livenessProbe:
|
||||||
|
failureThreshold: 3
|
||||||
|
httpGet:
|
||||||
|
path: /info
|
||||||
|
port: 8080
|
||||||
|
scheme: HTTP
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
timeoutSeconds: 1
|
||||||
|
name: sanitarium
|
||||||
|
ports:
|
||||||
|
- containerPort: 8080
|
||||||
|
protocol: TCP
|
||||||
|
readinessProbe:
|
||||||
|
failureThreshold: 3
|
||||||
|
httpGet:
|
||||||
|
path: /info
|
||||||
|
port: 8080
|
||||||
|
scheme: HTTP
|
||||||
|
periodSeconds: 10
|
||||||
|
successThreshold: 1
|
||||||
|
timeoutSeconds: 1
|
||||||
|
resources:
|
||||||
|
limits:
|
||||||
|
memory: 80Mi
|
||||||
|
terminationMessagePath: /dev/termination-log
|
||||||
|
terminationMessagePolicy: File
|
||||||
|
volumeMounts:
|
||||||
|
- name: signer
|
||||||
|
mountPath: /sshkey/signer.key
|
||||||
|
readyOnly: true
|
||||||
|
- name: intermediate
|
||||||
|
mountPath: /sshkey/intermediate.key
|
||||||
|
readyOnly: true
|
||||||
|
dnsPolicy: ClusterFirst
|
||||||
|
restartPolicy: Always
|
||||||
|
schedulerName: default-scheduler
|
||||||
|
securityContext: {}
|
||||||
|
terminationGracePeriodSeconds: 30
|
||||||
|
volumes:
|
||||||
|
- name: signer
|
||||||
|
secret:
|
||||||
|
secretName: signer
|
||||||
|
- name: intermediate
|
||||||
|
secret:
|
||||||
|
secretName: intermediate
|
||||||
|
triggers:
|
||||||
|
- type: ConfigChange
|
13
roles/openshift-apps/sanitarium/files/service.yml
Normal file
13
roles/openshift-apps/sanitarium/files/service.yml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Service
|
||||||
|
metadata:
|
||||||
|
name: sanitarium
|
||||||
|
labels:
|
||||||
|
app: sanitarium
|
||||||
|
spec:
|
||||||
|
ports:
|
||||||
|
- name: web
|
||||||
|
port: 8080
|
||||||
|
targetPort: 8080
|
||||||
|
selector:
|
||||||
|
deploymentconfig: sanitarium
|
13
roles/openshift-apps/sanitarium/templates/secret.yml
Normal file
13
roles/openshift-apps/sanitarium/templates/secret.yml
Normal file
|
@ -0,0 +1,13 @@
|
||||||
|
apiVersion: v1
|
||||||
|
kind: Secret
|
||||||
|
metadata:
|
||||||
|
name: sanitarium
|
||||||
|
labels:
|
||||||
|
app: sanitarium
|
||||||
|
stringData:
|
||||||
|
{% if env == 'staging' %}
|
||||||
|
oidc-client-secret: "{{sanitarium_stg_oidc_secret}}"
|
||||||
|
{% endif %}
|
||||||
|
{% if env == 'production' %}
|
||||||
|
oidc-client-secret: "{{sanitarium_prod_oidc_secret}}"
|
||||||
|
{% endif %}
|
Loading…
Add table
Add a link
Reference in a new issue