Skip to content

Instantly share code, notes, and snippets.

@phantomjinx
Created October 4, 2019 22:49
Show Gist options
  • Save phantomjinx/0741e348b12510c562f3bf16d6e818ce to your computer and use it in GitHub Desktop.
Save phantomjinx/0741e348b12510c562f3bf16d6e818ce to your computer and use it in GitHub Desktop.
apiVersion: template.openshift.io/v1
kind: Template
message: Syndesis is deployed to ${ROUTE_HOSTNAME}.
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/type: infrastructure
name: fuse-ignite-1.8
objects:
- apiVersion: route.openshift.io/v1
kind: Route
metadata:
annotations:
console.alpha.openshift.io/overview-app-route: "true"
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/type: infrastructure
name: syndesis
spec:
host: ${ROUTE_HOSTNAME}
port:
targetPort: 8443
tls:
insecureEdgeTerminationPolicy: Redirect
termination: reencrypt
to:
kind: Service
name: syndesis-oauthproxy
- apiVersion: image.openshift.io/v1
kind: ImageStream
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: s2i-java
syndesis.io/type: infrastructure
name: syndesis-s2i
spec:
tags:
- from:
kind: DockerImage
name: docker.io/syndesis/syndesis-s2i:latest
name: latest
- apiVersion: v1
kind: Secret
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/type: infrastructure
name: syndesis-server-secret
stringData:
clientStateAuthenticationKey: ${CLIENT_STATE_AUTHENTICATION_KEY}
clientStateEncryptionKey: ${CLIENT_STATE_ENCRYPTION_KEY}
- apiVersion: v1
kind: Secret
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/type: infrastructure
name: syndesis-global-config
stringData:
CLIENT_STATE_AUTHENTICATION_KEY: ${CLIENT_STATE_AUTHENTICATION_KEY}
CLIENT_STATE_ENCRYPTION_KEY: ${CLIENT_STATE_ENCRYPTION_KEY}
OAUTH_COOKIE_SECRET: ${OAUTH_COOKIE_SECRET}
OPENSHIFT_OAUTH_CLIENT_SECRET: ${OPENSHIFT_OAUTH_CLIENT_SECRET}
POSTGRESQL_PASSWORD: ${POSTGRESQL_PASSWORD}
POSTGRESQL_SAMPLEDB_PASSWORD: ${POSTGRESQL_SAMPLEDB_PASSWORD}
SYNDESIS_ENCRYPT_KEY: ${SYNDESIS_ENCRYPT_KEY}
params: |-
OPENSHIFT_OAUTH_CLIENT_SECRET=${OPENSHIFT_OAUTH_CLIENT_SECRET}
POSTGRESQL_PASSWORD=${POSTGRESQL_PASSWORD}
POSTGRESQL_SAMPLEDB_PASSWORD=${POSTGRESQL_SAMPLEDB_PASSWORD}
OAUTH_COOKIE_SECRET=${OAUTH_COOKIE_SECRET}
SYNDESIS_ENCRYPT_KEY=${SYNDESIS_ENCRYPT_KEY}
CLIENT_STATE_AUTHENTICATION_KEY=${CLIENT_STATE_AUTHENTICATION_KEY}
CLIENT_STATE_ENCRYPTION_KEY=${CLIENT_STATE_ENCRYPTION_KEY}
- apiVersion: v1
kind: ServiceAccount
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-infrastructure
syndesis.io/type: infrastructure
name: syndesis-default
- apiVersion: v1
kind: ServiceAccount
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-server
syndesis.io/type: infrastructure
name: syndesis-server
- apiVersion: v1
kind: ServiceAccount
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-server
syndesis.io/type: infrastructure
name: syndesis-integration
- apiVersion: v1
kind: ServiceAccount
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-prometheus
syndesis.io/type: infrastructure
name: syndesis-prometheus
- apiVersion: v1
data:
application.yml: |
cache:
cluster:
name: SyndesisCluster
max:
entries: 100
controllers:
integrationStateCheckInterval: ${INTEGRATION_STATE_CHECK_INTERVAL}
maxDeploymentsPerUser: ${MAX_INTEGRATIONS_PER_USER}
maxIntegrationsPerUser: ${MAX_INTEGRATIONS_PER_USER}
cors:
allowedOrigins: https://${ROUTE_HOSTNAME}
dao:
kind: jsondb
deployment:
load-demo-data: ${DEMO_DATA_ENABLED}
encrypt:
key: ${SYNDESIS_ENCRYPT_KEY}
endpoints:
health:
sensitive: false
jsondb:
enabled: true
features:
knative:
enabled: false
monitoring:
enabled: true
public-api:
enabled: true
management:
port: 8181
security:
enabled: true
maven:
repositories:
central: https://repo.maven.apache.org/maven2/
repo-02-redhat-ga: https://maven.repository.redhat.com/ga/
repo-03-jboss-ea: https://repository.jboss.org/nexus/content/groups/ea/
monitoring:
kind: default
openshift:
apiBaseUrl: ${OPENSHIFT_MASTER}/oapi/v1
builderImageStreamTag: syndesis-s2i:latest
deploymentMemoryLimitMi: 512
deploymentMemoryRequestMi: 200
imageStreamNamespace: ${IMAGE_STREAM_NAMESPACE}
mavenOptions: -XX:+UseG1GC -XX:+UseStringDeduplication -Xmx310m
namespace: ${OPENSHIFT_PROJECT}
security:
basic:
enabled: false
spring:
datasource:
driver-class-name: org.postgresql.Driver
password: ${POSTGRESQL_PASSWORD}
url: jdbc:postgresql://syndesis-db:5432/syndesis?sslmode=disable
username: ${POSTGRESQL_USER}
zipkin:
enabled: false
kind: ConfigMap
metadata:
annotations:
io.syndesis/upgrade-mode: keep
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-server
syndesis.io/type: infrastructure
name: syndesis-server-config
- apiVersion: v1
kind: Service
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-ui
syndesis.io/type: infrastructure
name: syndesis-ui
spec:
ports:
- port: 80
protocol: TCP
targetPort: 8080
selector:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-ui
- apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-ui
syndesis.io/type: infrastructure
name: syndesis-ui
spec:
replicas: 1
selector:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-ui
strategy:
resources:
limits:
memory: 256Mi
requests:
memory: 20Mi
rollingParams:
intervalSeconds: 1
maxSurge: 25%
maxUnavailable: 25%
timeoutSeconds: 600
updatePeriodSeconds: 1
type: Rolling
template:
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-ui
syndesis.io/type: infrastructure
spec:
containers:
- env:
- name: DEV_SUPPORT
value: "false"
image: docker.io/syndesis/syndesis-ui:latest
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
path: /
port: 8080
initialDelaySeconds: 30
name: syndesis-ui
ports:
- containerPort: 8080
readinessProbe:
httpGet:
path: /
port: 8080
initialDelaySeconds: 1
resources:
limits:
memory: 255Mi
requests:
memory: 50Mi
volumeMounts:
- mountPath: /opt/app-root/src/config
name: config-volume
serviceAccountName: syndesis-default
volumes:
- configMap:
name: syndesis-ui-config
name: config-volume
triggers:
- type: ConfigChange
- apiVersion: v1
data:
config.json: '{"apiBase":"https://${ROUTE_HOSTNAME}","apiEndpoint":"/api/v1","branding":{"appName":"Syndesis","favicon16":"/favicon-16x16.png","favicon32":"/favicon-32x32.png","productBuild":false,"touchIcon":"/apple-touch-icon.png"},"consoleUrl":"${OPENSHIFT_CONSOLE_URL}","datamapper":{"baseJSONInspectionServiceUrl":"https://${ROUTE_HOSTNAME}/api/v1/atlas/json/","baseJavaInspectionServiceUrl":"https://${ROUTE_HOSTNAME}/api/v1/atlas/java/","baseMappingServiceUrl":"https://${ROUTE_HOSTNAME}/api/v1/atlas/","baseXMLInspectionServiceUrl":"https://${ROUTE_HOSTNAME}/api/v1/atlas/xml/","disableMappingPreviewMode":false},"datavirt":{"dvUrl":"/vdb-builder/v1/","enabled":"${DATAVIRT_ENABLED}"},"features":{"logging":false},"project":"${OPENSHIFT_PROJECT}","title":"Syndesis"}'
kind: ConfigMap
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-ui
syndesis.io/type: infrastructure
name: syndesis-ui-config
- apiVersion: v1
data:
queries.yaml: |
pg_database:
query: " SELECT pg_database.datname, pg_database_size(pg_database.datname) as size FROM pg_database"
metrics:
- datname:
usage: "LABEL"
description: "Name of the database"
- size:
usage: "GAUGE"
description: "Disk space used by the database"
kind: ConfigMap
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-db-metrics
syndesis.io/type: infrastructure
name: syndesis-db-metrics-config
- apiVersion: v1
data:
add-sample-db.sh: |
#!/bin/bash
until bash -c "psql -h 127.0.0.1 -U $POSTGRESQL_USER -q -d $POSTGRESQL_DATABASE -c 'SELECT 1'"; do
echo "Waiting for Postgres server..."
sleep 1
done
echo "***** creating sampledb"
psql <<EOF
CREATE DATABASE sampledb;
CREATE USER sampledb WITH PASSWORD '$POSTGRESQL_SAMPLEDB_PASSWORD';
GRANT ALL PRIVILEGES ON DATABASE sampledb to sampledb;
EOF
psql -d sampledb -U sampledb <<'EOF'
CREATE SCHEMA AUTHORIZATION sampledb;
CREATE TABLE IF NOT EXISTS contact (first_name VARCHAR, last_name VARCHAR, company VARCHAR, lead_source VARCHAR, create_date DATE);
INSERT INTO contact VALUES ('Joe','Jackson','Red Hat','db',current_timestamp);
CREATE TABLE IF NOT EXISTS todo (id SERIAL PRIMARY KEY, task VARCHAR, completed INTEGER);
CREATE TABLE IF NOT EXISTS winelist (id SERIAL PRIMARY KEY, wine VARCHAR, price INTEGER, year INTEGER, gws INTEGER, ci VARCHAR, nbj INTEGER, productcode VARCHAR, pricebookentryid VARCHAR);
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (42,'Abreu Vineyard, Las Posadas, Howell Mountain',275,2013,9802,'B',3) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (91,'Araujo Estate, Eisele Vineyard Cabernet Sauvignon, Napa Valley',499,2015,9728,'C+',3) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (99,'Aubert Wines, Ritchie Vineyard Chardonnay, White, Sonoma Coast',225,2015,9717,'A+',3) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (88,'Bond Estates, Pluribus Red, Napa Valley', 410,2015,9729,'A+',3) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (33,'Cayuse Vineyards, Bionic Frog Syrah, Walla Walla Valley',280,2010,9817,'A+',3) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (69,'Chappellet, Pritchard Hill Cabernet Sauvignon, Napa Valley',239,2014,9748,'A+',3) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (20,'Colgin Cellars, Tychson Hill Vineyard Cabernet Sauvignon, Napa Valley',355,2002,9848,'A+',4) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (72,'Dalla Valle Vineyards, Maya, Napa Valley',489,2013,974,'A',4) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (5, 'Dana Estates, Lotus Vineyard Cabernet Sauvignon, Napa Valley',299,2010,9887,'A',3) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (17,'Dominus Estate, Christian Moueix, Napa Valley',108,2013,9854,'A',6) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (11,'Dunn Vineyards, Trailer Vineyard Cabernet Sauvignon, Howell Mountain',375,2013,986,'A',3) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (35,'Futo Estate, 5500 Sld - Cabernet Sauvignon, Stags Leap District',325,2015,9813,'A+',3) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES ( 9,'Harlan Estate, Napa Valley',365,2001,9873,'A+',6) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (48,'Joseph Phelps Vineyards, Insignia, Napa Valley',264,1991,9794,'A',3) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (27,'Kapcsandy Family Winery, State Lane Vineyard Grand-Vin Cabernet Sauvignon, Napa Valley',129,2015,9841,'A+',3) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (10,'Kongsgaard, The Judge Chardonnay, White, Napa Valley',246,2005,9865,'A',3) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (65,'Larkmead Vineyards, The Lark Cabernet Sauvignon, Napa Valley',118,2013,9755,'A',3) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (59,'Lokoya Winery, Mount Veeder Cabernet Sauvignon, Napa Valley',313,2015,977,'A',3) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (77,'Paul Hobbs, Beckstoffer To Kalon Vineyard Cabernet Sauvignon, Oakville',359,2013,9738,'A',4) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (86,'Peter Michael Winery, Point Rouge Chardonnay, White, Sonoma County',185,2008,9732,'A',3) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (73,'Promontory, Napa Valley',595,2013,974,'A',3) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (81,'Quilceda Creek, Cabernet Sauvignon, Columbia Valley',169,2009,9736,'A+',5) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (36,'Ridge Vineyards, Monte Bello, Santa Cruz Mountains',150,2015,9809,'A',3) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (46,'Scarecrow, Cabernet Sauvignon, Rutherford',440,2014,9796,'A+',4) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (47,'Schrader Cellars, Beckstoffer Las Piedras Vineyard Colesworthy Cabernet Sauvignon, Napa Valley', 69,2013,9794,'A',4) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (04,'Screaming Eagle, Cabernet Sauvignon, Napa Valley', 2660,2010,9905,'A',6) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (71,'Sloan, Proprietary Red, Rutherford',230,2013,9741,'A+',3) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (93,'Spottswoode, Family Estate Grown Cabernet Sauvignon, St Helena',149,2013,9726,'A',9) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (66,'Verite, Le Desir, Sonoma County',269,2007,9753,'A',3) ON CONFLICT (id) DO NOTHING;
INSERT INTO winelist (id, wine, price,year, gws, ci, nbj) VALUES (100,'Continuum, Proprietary Red, Oakville',185,2007,9716,'A+',3) ON CONFLICT (id) DO NOTHING;
CREATE OR REPLACE FUNCTION add_lead(
first_and_last_name varchar,
company varchar,
phone varchar,
email varchar,
lead_source varchar,
lead_status varchar,
rating varchar)
RETURNS void
LANGUAGE 'plpgsql'
AS $BODY$
DECLARE
task varchar;
BEGIN
task := concat(lead_status || ' ', 'Lead: Please contact ', first_and_last_name, ' from ' || company, ' via phone: ' || phone, ' via email: ' || email, '. ', 'Lead is from ' || lead_source, '. Rating: ' || rating, '.');
insert into todo(task,completed) VALUES (task,0);
END;
$BODY$;
CREATE OR REPLACE FUNCTION create_lead(
OUT first_name text,
OUT last_name text,
OUT company text,
OUT lead_source text)
RETURNS SETOF record
AS
$$
SELECT first_name, last_name, company, lead_source
FROM contact;
$$
LANGUAGE 'sql' VOLATILE;
EOF
echo "***** sampledb created"
postStart.sh: |
#!/bin/bash
/var/lib/pgsql/sampledb/add-sample-db.sh &> /proc/1/fd/1
kind: ConfigMap
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-db
syndesis.io/type: infrastructure
name: syndesis-sampledb-config
- apiVersion: v1
data:
syndesis-postgresql.conf: |
log_autovacuum_min_duration = 0
log_line_prefix = '%t %a %i %e %c '
logging_collector = off
autovacuum_max_workers = 6
autovacuum_naptime = 15s
autovacuum_vacuum_threshold = 25
autovacuum_vacuum_scale_factor = 0.1
autovacuum_analyze_threshold = 10
autovacuum_analyze_scale_factor = 0.05
autovacuum_vacuum_cost_delay = 10ms
autovacuum_vacuum_cost_limit = 2000
kind: ConfigMap
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-db
syndesis.io/type: infrastructure
name: syndesis-db-conf
- apiVersion: v1
kind: Service
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-db
syndesis.io/type: infrastructure
name: syndesis-db
spec:
ports:
- name: postgresql
port: 5432
protocol: TCP
targetPort: 5432
selector:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-db
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}
- apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-db
syndesis.io/type: infrastructure
name: syndesis-db
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: ${POSTGRESQL_VOLUME_CAPACITY}
- apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-db
syndesis.io/type: infrastructure
name: syndesis-db
spec:
replicas: 1
selector:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-db
strategy:
resources:
limits:
memory: 256Mi
requests:
memory: 20Mi
type: Recreate
template:
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-db
spec:
containers:
- env:
- name: POSTGRESQL_USER
value: ${POSTGRESQL_USER}
- name: POSTGRESQL_PASSWORD
value: ${POSTGRESQL_PASSWORD}
- name: POSTGRESQL_DATABASE
value: ${POSTGRESQL_DATABASE}
- name: POSTGRESQL_SAMPLEDB_PASSWORD
value: ${POSTGRESQL_SAMPLEDB_PASSWORD}
image: ' '
imagePullPolicy: IfNotPresent
lifecycle:
postStart:
exec:
command:
- /bin/sh
- -c
- /var/lib/pgsql/sampledb/postStart.sh
livenessProbe:
initialDelaySeconds: 60
tcpSocket:
port: 5432
name: postgresql
ports:
- containerPort: 5432
protocol: TCP
readinessProbe:
exec:
command:
- /bin/sh
- -i
- -c
- psql -h 127.0.0.1 -U $POSTGRESQL_USER -q -d $POSTGRESQL_DATABASE -c
'SELECT 1'
initialDelaySeconds: 5
resources:
limits:
memory: 255Mi
requests:
memory: 255Mi
volumeMounts:
- mountPath: /var/lib/pgsql/data
name: syndesis-db-data
- mountPath: /var/lib/pgsql/sampledb
name: syndesis-sampledb-config
- mountPath: /opt/app-root/src/postgresql-cfg/
name: syndesis-db-conf
- env:
- name: DATA_SOURCE_NAME
value: postgresql://${POSTGRESQL_USER}:${POSTGRESQL_PASSWORD}@localhost:5432/syndesis?sslmode=disable
- name: PG_EXPORTER_EXTEND_QUERY_PATH
value: /etc/postgres/exporter/queries.yaml
image: docker.io/wrouesnel/postgres_exporter:v0.4.7
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 5
initialDelaySeconds: 60
tcpSocket:
port: 9187
name: syndesis-db-metrics
ports:
- containerPort: 9187
name: metrics
readinessProbe:
failureThreshold: 5
initialDelaySeconds: 30
tcpSocket:
port: 9187
resources:
limits:
memory: 256Mi
requests:
memory: 20Mi
volumeMounts:
- mountPath: /etc/postgres/exporter
name: syndesis-db-metrics-config
serviceAccountName: syndesis-default
volumes:
- configMap:
name: syndesis-db-metrics-config
name: syndesis-db-metrics-config
- name: syndesis-db-data
persistentVolumeClaim:
claimName: syndesis-db
- configMap:
defaultMode: 511
name: syndesis-sampledb-config
name: syndesis-sampledb-config
- configMap:
name: syndesis-db-conf
name: syndesis-db-conf
triggers:
- type: ConfigChange
- imageChangeParams:
automatic: true
containerNames:
- postgresql
from:
kind: ImageStreamTag
name: postgresql:9.5
namespace: ${POSTGRESQL_IMAGE_STREAM_NAMESPACE}
type: ImageChange
- apiVersion: v1
kind: Service
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-meta
syndesis.io/type: infrastructure
name: syndesis-meta
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 8080
selector:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-meta
- apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-meta
syndesis.io/type: infrastructure
name: syndesis-meta
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: ${META_VOLUME_CAPACITY}
- apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-meta
syndesis.io/type: infrastructure
name: syndesis-meta
spec:
replicas: 1
selector:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-meta
strategy:
resources:
limits:
memory: 256Mi
requests:
memory: 20Mi
type: Recreate
template:
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-meta
syndesis.io/type: infrastructure
spec:
containers:
- env:
- name: JAVA_APP_DIR
value: /deployments
- name: LOADER_HOME
value: /deployments/ext
- name: JAVA_OPTIONS
value: -Djava.net.preferIPv4Stack=true -Duser.home=/tmp
- name: NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
image: docker.io/syndesis/syndesis-meta:latest
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 5
httpGet:
path: /health
port: 8181
scheme: HTTP
initialDelaySeconds: 300
periodSeconds: 20
name: syndesis-meta
ports:
- containerPort: 8080
name: http
protocol: TCP
- containerPort: 8181
name: metrics
- containerPort: 9779
name: prometheus
protocol: TCP
- containerPort: 8778
name: jolokia
protocol: TCP
readinessProbe:
httpGet:
path: /health
port: 8181
scheme: HTTP
initialDelaySeconds: 10
resources:
limits:
memory: 512Mi
requests:
memory: 280Mi
volumeMounts:
- mountPath: /deployments/config
name: config-volume
- mountPath: /deployments/ext
name: ext-volume
workingDir: /deployments
serviceAccountName: syndesis-server
volumes:
- name: ext-volume
persistentVolumeClaim:
claimName: syndesis-meta
- configMap:
name: syndesis-meta-config
name: config-volume
triggers:
- type: ConfigChange
- apiVersion: v1
data:
application.yml: |
endpoints:
health:
sensitive: false
management:
port: 8181
security:
enabled: true
server:
port: 8080
kind: ConfigMap
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-meta
syndesis.io/type: infrastructure
name: syndesis-meta-config
- apiVersion: v1
kind: Service
metadata:
annotations:
service.alpha.openshift.io/serving-cert-secret-name: syndesis-oauthproxy-tls
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-oauthproxy
syndesis.io/type: infrastructure
name: syndesis-oauthproxy
spec:
ports:
- port: 8443
protocol: TCP
targetPort: 8443
selector:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-oauthproxy
- apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-oauthproxy
syndesis.io/type: infrastructure
name: syndesis-oauthproxy
spec:
replicas: 1
selector:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-oauthproxy
strategy:
resources:
limits:
memory: 256Mi
requests:
memory: 20Mi
type: Recreate
template:
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-oauthproxy
syndesis.io/type: infrastructure
spec:
containers:
- args:
- --provider=openshift
- --client-id=system:serviceaccount:${OPENSHIFT_PROJECT}:syndesis-oauth-client
- --client-secret=$(OPENSHIFT_OAUTH_CLIENT_SECRET)
- --upstream=http://syndesis-server/api/
- --upstream=http://syndesis-server/mapper/
- --upstream=http://syndesis-ui/
- --upstream=http://syndesis-dv/vdb-builder/
- --tls-cert=/etc/tls/private/tls.crt
- --tls-key=/etc/tls/private/tls.key
- --cookie-secret=$(OAUTH_COOKIE_SECRET)
- --pass-access-token
- --skip-provider-button
- --skip-auth-regex=/logout
- --skip-auth-regex=/[^/]+\.(png|jpg|eot|svg|ttf|woff|woff2)
- --skip-auth-regex=/api/v1/swagger.*
- --skip-auth-regex=/api/v1/index.html
- --skip-auth-regex=/api/v1/credentials/callback
- --skip-auth-regex=/api/v1/version
- --skip-auth-regex=/config.json
- --skip-auth-preflight
- --openshift-ca=/etc/pki/tls/certs/ca-bundle.crt
- --openshift-ca=/var/run/secrets/kubernetes.io/serviceaccount/ca.crt
- --openshift-sar={"namespace":"${SAR_PROJECT}","resource":"pods","verb":"get"}
env:
- name: OAUTH_COOKIE_SECRET
valueFrom:
secretKeyRef:
key: OAUTH_COOKIE_SECRET
name: syndesis-global-config
- name: OPENSHIFT_OAUTH_CLIENT_SECRET
valueFrom:
secretKeyRef:
key: OPENSHIFT_OAUTH_CLIENT_SECRET
name: syndesis-global-config
image: quay.io/openshift/origin-oauth-proxy:v4.0.0
livenessProbe:
httpGet:
path: /oauth/healthz
port: 8443
scheme: HTTPS
initialDelaySeconds: 15
timeoutSeconds: 10
name: oauthproxy
ports:
- containerPort: 8443
name: public
protocol: TCP
readinessProbe:
httpGet:
path: /oauth/healthz
port: 8443
scheme: HTTPS
initialDelaySeconds: 15
timeoutSeconds: 10
resources:
limits:
memory: 200Mi
requests:
memory: 20Mi
volumeMounts:
- mountPath: /etc/tls/private
name: syndesis-oauthproxy-tls
serviceAccountName: syndesis-oauth-client
volumes:
- name: syndesis-oauthproxy-tls
secret:
secretName: syndesis-oauthproxy-tls
triggers:
- type: ConfigChange
- apiVersion: v1
kind: Service
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-server
syndesis.io/type: infrastructure
name: syndesis-server
spec:
ports:
- name: http
port: 80
protocol: TCP
targetPort: 8080
selector:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-server
- apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-server
syndesis.io/type: infrastructure
name: syndesis-server
spec:
replicas: 1
selector:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-server
strategy:
resources:
limits:
memory: 256Mi
requests:
memory: 20Mi
type: Recreate
template:
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-server
syndesis.io/type: infrastructure
spec:
containers:
- env:
- name: JAVA_APP_DIR
value: /deployments
- name: JAVA_OPTIONS
value: -Djava.net.preferIPv4Stack=true -Duser.home=/tmp
- name: NAMESPACE
valueFrom:
fieldRef:
fieldPath: metadata.namespace
- name: ENDPOINTS_TEST_SUPPORT_ENABLED
value: ${ENDPOINTS_TEST_SUPPORT_ENABLED}
- name: CONTROLLERS_INTEGRATION_ENABLED
value: ${CONTROLLERS_INTEGRATION_ENABLED}
- name: POSTGRESQL_SAMPLEDB_PASSWORD
value: ${POSTGRESQL_SAMPLEDB_PASSWORD}
- name: CLIENT_STATE_AUTHENTICATION_ALGORITHM
value: HmacSHA1
- name: CLIENT_STATE_AUTHENTICATION_KEY
valueFrom:
secretKeyRef:
key: clientStateAuthenticationKey
name: syndesis-server-secret
- name: CLIENT_STATE_ENCRYPTION_ALGORITHM
value: AES/CBC/PKCS5Padding
- name: CLIENT_STATE_ENCRYPTION_KEY
valueFrom:
secretKeyRef:
key: clientStateEncryptionKey
name: syndesis-server-secret
- name: CLIENT_STATE_TID
value: "1"
- name: INTEGRATION_STATE_CHECK_INTERVAL
value: ${INTEGRATION_STATE_CHECK_INTERVAL}
- name: OPENSHIFT_MANAGEMENT_URL_FOR3SCALE
value: ${OPENSHIFT_MANAGEMENT_URL_FOR3SCALE}
image: docker.io/syndesis/syndesis-server:latest
imagePullPolicy: IfNotPresent
livenessProbe:
failureThreshold: 5
httpGet:
httpHeaders:
- name: Accept
value: text/plain
path: /api/v1/version
port: 8080
initialDelaySeconds: 300
periodSeconds: 20
name: syndesis-server
ports:
- containerPort: 8080
name: http
- containerPort: 8181
name: metrics
- containerPort: 9779
name: prometheus
- containerPort: 8778
name: jolokia
readinessProbe:
httpGet:
path: /health
port: 8181
initialDelaySeconds: 10
resources:
limits:
cpu: 750m
memory: 800Mi
requests:
cpu: 450m
memory: 256Mi
volumeMounts:
- mountPath: /deployments/config
name: config-volume
workingDir: /deployments
serviceAccountName: syndesis-server
volumes:
- configMap:
name: syndesis-server-config
name: config-volume
triggers:
- type: ConfigChange
- apiVersion: v1
data:
prometheus-config.yml: |
{}
kind: ConfigMap
metadata:
annotations:
io.syndesis/upgrade-mode: keep
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-server
syndesis.io/type: infrastructure
name: syndesis-prometheus-agent-config
- apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-server
syndesis.io/type: infrastructure
name: syndesis-editor
rules:
- apiGroups:
- ""
resources:
- pods
- services
- endpoints
- persistentvolumeclaims
- configmaps
- secrets
- serviceaccounts
verbs:
- get
- list
- create
- update
- delete
- deletecollection
- watch
- apiGroups:
- ""
resources:
- replicationcontrollers
- replicationcontrollers/scale
verbs:
- get
- list
- create
- update
- delete
- deletecollection
- watch
- patch
- apiGroups:
- apps
resources:
- daemonsets
- deployments
- deployments/scale
- replicasets
- replicasets/scale
- statefulsets
- statefulsets/scale
verbs:
- get
- list
- create
- update
- delete
- deletecollection
- watch
- patch
- apiGroups:
- extensions
resources:
- daemonsets
- deployments
- deployments/scale
- ingresses
- networkpolicies
- replicasets
- replicasets/scale
- replicationcontrollers/scale
verbs:
- get
- list
- create
- update
- delete
- deletecollection
- watch
- patch
- apiGroups:
- ""
resources:
- bindings
- events
- limitranges
- namespaces/status
- pods/log
- pods/status
- replicationcontrollers/status
- resourcequotas
- resourcequotas/status
verbs:
- get
- list
- watch
- apiGroups:
- ""
- build.openshift.io
resources:
- buildconfigs
- buildconfigs/webhooks
- builds
verbs:
- get
- list
- create
- update
- delete
- deletecollection
- watch
- patch
- apiGroups:
- ""
- build.openshift.io
resources:
- buildconfigs/instantiate
- buildconfigs/instantiatebinary
- builds/clone
verbs:
- create
- apiGroups:
- ""
- build.openshift.io
resources:
- builds/details
verbs:
- update
- apiGroups:
- ""
- build.openshift.io
resources:
- builds/log
verbs:
- get
- list
- watch
- apiGroups:
- ""
- apps.openshift.io
resources:
- deploymentconfigs
- deploymentconfigs/scale
- deploymentconfigs/finalizers
verbs:
- get
- list
- create
- update
- delete
- deletecollection
- watch
- patch
- apiGroups:
- ""
- apps.openshift.io
resources:
- deploymentconfigrollbacks
- deploymentconfigs/instantiate
- deploymentconfigs/rollback
verbs:
- create
- apiGroups:
- ""
- apps.openshift.io
resources:
- deploymentconfigs/log
- deploymentconfigs/status
verbs:
- get
- list
- watch
- apiGroups:
- ""
- image.openshift.io
resources:
- imagestreams
- imagestreamimages
- imagestreammappings
- imagestreams/secrets
- imagestreamtags
verbs:
- get
- list
- create
- update
- delete
- deletecollection
- watch
- patch
- apiGroups:
- ""
- image.openshift.io
resources:
- imagestreamimports
verbs:
- create
- apiGroups:
- ""
- image.openshift.io
resources:
- imagestreams/status
verbs:
- get
- list
- watch
- apiGroups:
- route.openshift.io
resources:
- routes
verbs:
- get
- list
- create
- update
- delete
- deletecollection
- watch
- patch
- apiGroups:
- ""
- template.openshift.io
resources:
- processedtemplates
- templateconfigs
- templateinstances
- templates
verbs:
- get
- list
- create
- update
- delete
- deletecollection
- watch
- patch
- apiGroups:
- ""
- build.openshift.io
resources:
- buildlogs
verbs:
- get
- list
- create
- update
- delete
- deletecollection
- watch
- patch
- apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-server
syndesis.io/type: infrastructure
name: syndesis-server-editor
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: syndesis-editor
subjects:
- kind: ServiceAccount
name: syndesis-server
- apiVersion: rbac.authorization.k8s.io/v1
kind: Role
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/type: infrastructure
name: syndesis-viewer
rules:
- apiGroups:
- ""
resources:
- configmaps
- endpoints
- persistentvolumeclaims
- pods
- replicationcontrollers
- replicationcontrollers/scale
- serviceaccounts
- services
verbs:
- get
- list
- watch
- apiGroups:
- ""
resources:
- bindings
- events
- limitranges
- namespaces/status
- pods/log
- pods/status
- replicationcontrollers/status
- resourcequotas
- resourcequotas/status
verbs:
- get
- list
- watch
- apiGroups:
- apps
resources:
- daemonsets
- deployments
- deployments/scale
- replicasets
- replicasets/scale
- statefulsets
- statefulsets/scale
verbs:
- get
- list
- watch
- apiGroups:
- extensions
resources:
- daemonsets
- deployments
- deployments/scale
- ingresses
- networkpolicies
- replicasets
- replicasets/scale
- replicationcontrollers/scale
verbs:
- get
- list
- watch
- apiGroups:
- ""
- build.openshift.io
resources:
- buildconfigs
- buildconfigs/webhooks
- builds
verbs:
- get
- list
- watch
- apiGroups:
- ""
- build.openshift.io
resources:
- builds/log
verbs:
- get
- list
- watch
- apiGroups:
- ""
- apps.openshift.io
resources:
- deploymentconfigs
- deploymentconfigs/scale
verbs:
- get
- list
- watch
- apiGroups:
- ""
- apps.openshift.io
resources:
- deploymentconfigs/log
- deploymentconfigs/status
verbs:
- get
- list
- watch
- apiGroups:
- ""
- image.openshift.io
resources:
- imagestreamimages
- imagestreammappings
- imagestreams
- imagestreamtags
verbs:
- get
- list
- watch
- apiGroups:
- ""
- image.openshift.io
resources:
- imagestreams/status
verbs:
- get
- list
- watch
- apiGroups:
- route.openshift.io
resources:
- routes
verbs:
- get
- list
- watch
- apiGroups:
- ""
- template.openshift.io
resources:
- processedtemplates
- templateconfigs
- templateinstances
- templates
verbs:
- get
- list
- watch
- apiGroups:
- ""
- build.openshift.io
resources:
- buildlogs
verbs:
- get
- list
- watch
- apiVersion: rbac.authorization.k8s.io/v1
kind: RoleBinding
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-prometheus
syndesis.io/type: infrastructure
name: syndesis-prometheus-viewer
roleRef:
apiGroup: rbac.authorization.k8s.io
kind: Role
name: syndesis-viewer
subjects:
- kind: ServiceAccount
name: syndesis-prometheus
- apiVersion: v1
data:
prometheus.yml: |
global:
evaluation_interval: 5s
scrape_interval: 5s
scrape_configs:
- job_name: prometheus
metric_relabel_configs:
- action: drop
regex: go_(.+)
source_labels:
- __name__
- action: drop
regex: http_(.+)
source_labels:
- __name__
- action: drop
regex: net_(.+)
source_labels:
- __name__
- action: drop
regex: process_(.+)
source_labels:
- __name__
- action: drop
regex: prometheus_(.+)
source_labels:
- __name__
- action: drop
regex: tsdb_(.+)
source_labels:
- __name__
static_configs:
- targets:
- localhost:9090
- job_name: integration-pods
kubernetes_sd_configs:
- namespaces:
names:
- ${OPENSHIFT_PROJECT}
role: pod
metric_relabel_configs:
- action: drop
regex: jmx_(.+)
source_labels:
- __name__
- action: drop
regex: jvm_(.+)
source_labels:
- __name__
- action: drop
regex: process_(.+)
source_labels:
- __name__
- action: keep
regex: context:(org_apache_camel_ExchangesTotal|org_apache_camel_ExchangesFailed|io_syndesis_camel_StartTimestamp|io_syndesis_camel_LastExchangeCompletedTimestamp|io_syndesis_camel_LastExchangeFailureTimestamp)
separator: ':'
source_labels:
- type
- __name__
relabel_configs:
- action: keep
regex: true
source_labels:
- __meta_kubernetes_pod_annotation_prometheus_io_scrape
- action: keep
regex: integration
source_labels:
- __meta_kubernetes_pod_label_syndesis_io_type
- action: replace
regex: (.+)
source_labels:
- __meta_kubernetes_pod_annotation_prometheus_io_path
target_label: __metrics_path__
- action: replace
regex: ([^:]+)(?::\d+)?;(\d+)
replacement: $1:$2
source_labels:
- __address__
- __meta_kubernetes_pod_annotation_prometheus_io_port
target_label: __address__
- action: labelmap
regex: __meta_kubernetes_pod_label_(.+)
- action: labelmap
regex: __meta_kubernetes_pod_annotation_(syndesis.+)
- action: replace
source_labels:
- __meta_kubernetes_namespace
target_label: kubernetes_namespace
- action: replace
source_labels:
- __meta_kubernetes_pod_name
target_label: kubernetes_pod_name
kind: ConfigMap
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-prometheus
syndesis.io/type: infrastructure
name: syndesis-prometheus-config
- apiVersion: v1
kind: Service
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-prometheus
syndesis.io/type: infrastructure
name: syndesis-prometheus
spec:
ports:
- name: prometheus
port: 80
protocol: TCP
targetPort: 9090
selector:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-prometheus
status:
loadBalancer: {}
- apiVersion: v1
kind: PersistentVolumeClaim
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-prometheus
syndesis.io/type: infrastructure
name: syndesis-prometheus
spec:
accessModes:
- ReadWriteOnce
resources:
requests:
storage: ${PROMETHEUS_VOLUME_CAPACITY}
- apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-prometheus
syndesis.io/type: infrastructure
name: syndesis-prometheus
spec:
replicas: 1
selector:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-prometheus
strategy:
resources:
limits:
memory: 256Mi
requests:
memory: 20Mi
type: Recreate
template:
metadata:
labels:
app: syndesis
syndesis.io/app: syndesis
syndesis.io/component: syndesis-prometheus
syndesis.io/type: infrastructure
spec:
containers:
- args:
- --config.file=/etc/prometheus/prometheus.yml
- --storage.tsdb.retention=30d
image: docker.io/prom/prometheus:v2.1.0
imagePullPolicy: IfNotPresent
livenessProbe:
httpGet:
port: 9090
initialDelaySeconds: 60
name: prometheus
ports:
- containerPort: 9090
readinessProbe:
httpGet:
port: 9090
initialDelaySeconds: 30
resources:
limits:
memory: 512Mi
requests:
memory: 512Mi
volumeMounts:
- mountPath: /prometheus
name: syndesis-prometheus-data
- mountPath: /etc/prometheus
name: syndesis-prometheus-config
serviceAccountName: syndesis-prometheus
volumes:
- name: syndesis-prometheus-data
persistentVolumeClaim:
claimName: syndesis-prometheus
- configMap:
name: syndesis-prometheus-config
name: syndesis-prometheus-config
triggers:
- type: ConfigChange
- apiVersion: v1
kind: Service
metadata:
labels:
app: syndesis
syndesis.io/app: todo
syndesis.io/component: todo
name: todo
spec:
ports:
- port: 8080
protocol: TCP
targetPort: 8080
selector:
app: syndesis
syndesis.io/app: todo
syndesis.io/component: todo
- apiVersion: route.openshift.io/v1
kind: Route
metadata:
labels:
app: syndesis
syndesis.io/app: todo
syndesis.io/component: todo
name: todo
spec:
host: todo-${ROUTE_HOSTNAME}
path: /
port:
targetPort: 8080
tls:
insecureEdgeTerminationPolicy: Allow
termination: edge
to:
kind: Service
name: todo
weight: 100
- apiVersion: image.openshift.io/v1
kind: ImageStream
metadata:
labels:
app: syndesis
syndesis.io/app: todo
name: todo
spec:
lookupPolicy:
local: false
status:
tags:
- items: null
tag: latest
- apiVersion: build.openshift.io/v1
kind: BuildConfig
metadata:
labels:
app: syndesis
syndesis.io/app: todo
name: todo
spec:
output:
to:
kind: ImageStreamTag
name: todo:latest
postCommit: {}
resources: {}
runPolicy: Serial
source:
git:
uri: https://github.com/syndesisio/todo-example.git
type: Git
strategy:
sourceStrategy:
from:
kind: ImageStreamTag
name: php:7.0
namespace: openshift
type: Source
triggers:
- type: ConfigChange
- imageChange: null
type: ImageChange
- apiVersion: apps.openshift.io/v1
kind: DeploymentConfig
metadata:
labels:
app: syndesis
syndesis.io/app: todo
name: todo
spec:
replicas: 1
selector:
app: syndesis
syndesis.io/app: todo
syndesis.io/component: todo
strategy:
resources:
limits:
memory: 256Mi
requests:
memory: 20Mi
type: Recreate
template:
metadata:
annotations:
openshift.io/container.todo.image.entrypoint: '["container-entrypoint","/bin/sh","-c","$STI_SCRIPTS_PATH/usage"]'
creationTimestamp: null
labels:
app: syndesis
syndesis.io/app: todo
syndesis.io/component: todo
spec:
containers:
- env:
- name: TODO_DB_SERVER
value: syndesis-db
- name: TODO_DB_NAME
value: sampledb
- name: TODO_DB_USER
value: sampledb
- name: TODO_DB_PASS
value: ${POSTGRESQL_SAMPLEDB_PASSWORD}
- name: TODO_DB_SCHEMA
value: sampledb
image: ' '
imagePullPolicy: Always
name: todo
ports:
- containerPort: 8080
name: http
resources:
limits:
memory: 256Mi
requests:
memory: 256Mi
terminationMessagePath: /dev/termination-log
terminationMessagePolicy: File
dnsPolicy: ClusterFirst
restartPolicy: Always
schedulerName: default-scheduler
securityContext: {}
terminationGracePeriodSeconds: 30
test: false
triggers:
- type: ConfigChange
- imageChangeParams:
automatic: true
containerNames:
- todo
from:
kind: ImageStreamTag
name: todo:latest
type: ImageChange
parameters:
- description: Username for PostgreSQL user that will be used for accessing the database
displayName: Postgresql User
name: POSTGRESQL_USER
value: syndesis
- description: Should deployment of integrations be enabled?
displayName: Controllers Integration Enabled
name: CONTROLLERS_INTEGRATION_ENABLED
value: "true"
- description: Set to 0 to disable data virtualization, set to 1 to enable data virtualization
displayName: Datavirt Enabled
name: DATAVIRT_ENABLED
required: true
value: "0"
- description: The name of the OpenShift project Syndesis is being deployed into
displayName: Openshift Project
name: OPENSHIFT_PROJECT
required: true
- description: The OpenShift Namespace where the PostgreSQL ImageStream resides
displayName: Postgresql Image Stream Namespace
name: POSTGRESQL_IMAGE_STREAM_NAMESPACE
value: openshift
- description: Public OpenShift master address
displayName: Openshift Master
name: OPENSHIFT_MASTER
required: true
value: https://localhost:8443
- description: Volume space available for PostgreSQL data, e.g. 512Mi, 2Gi
displayName: Postgresql Volume Capacity
name: POSTGRESQL_VOLUME_CAPACITY
required: true
value: 1Gi
- description: Enables starting up with demo data
displayName: Demo Data Enabled
name: DEMO_DATA_ENABLED
required: true
value: "false"
- description: Maximum number of integrations single user can create
displayName: Max Integrations Per User
name: MAX_INTEGRATIONS_PER_USER
required: true
value: "1"
- description: Volume space available for the upgrade process (backup data), e.g.
512Mi, 2Gi
displayName: Upgrade Volume Capacity
name: UPGRADE_VOLUME_CAPACITY
required: true
value: 1Gi
- description: Password for the PostgreSQL sampledb user
displayName: Postgresql Sampledb Password
from: '[a-zA-Z0-9]{16}'
generate: expression
name: POSTGRESQL_SAMPLEDB_PASSWORD
required: true
- description: Enables test-support endpoint on backend API
displayName: Test Support Enabled
name: TEST_SUPPORT_ENABLED
required: true
value: "false"
- description: Namespace containing image streams
displayName: Image Stream Namespace
name: IMAGE_STREAM_NAMESPACE
value: ""
- description: The user needs to have permissions to at least get a list of pods in
the given project in order to be granted access to the Syndesis installation
displayName: Sar Project
name: SAR_PROJECT
required: true
- description: The encryption key used to encrypt/decrypt stored secrets
displayName: Syndesis Encrypt Key
from: '[a-zA-Z0-9]{64}'
generate: expression
name: SYNDESIS_ENCRYPT_KEY
required: true
- description: Volume space available for Meta data, e.g. 512Mi, 2Gi
displayName: Meta Volume Capacity
name: META_VOLUME_CAPACITY
required: true
value: 1Gi
- description: Name of the PostgreSQL database accessed
displayName: Postgresql Database
name: POSTGRESQL_DATABASE
required: true
value: syndesis
- description: Password for the PostgreSQL connection user
displayName: Postgresql Password
from: '[a-zA-Z0-9]{16}'
generate: expression
name: POSTGRESQL_PASSWORD
required: true
- description: Key used to perform encryption of client side stored state
displayName: Client State Encryption Key
from: '[a-zA-Z0-9]{32}'
generate: expression
name: CLIENT_STATE_ENCRYPTION_KEY
required: true
- description: Interval for checking the state of the integrations
displayName: Integration State Check Interval
name: INTEGRATION_STATE_CHECK_INTERVAL
required: true
value: "60"
- description: Url to 3scale for exposing services
displayName: Openshift Management Url For3scale
name: OPENSHIFT_MANAGEMENT_URL_FOR3SCALE
- description: Key used to perform authentication of client side stored state
displayName: Client State Authentication Key
from: '[a-zA-Z0-9]{32}'
generate: expression
name: CLIENT_STATE_AUTHENTICATION_KEY
required: true
- description: Volume space available for Prometheus data, e.g. 512Mi, 2Gi
displayName: Prometheus Volume Capacity
name: PROMETHEUS_VOLUME_CAPACITY
required: true
value: 1Gi
- description: OpenShift OAuth client secret
displayName: Openshift Oauth Client Secret
from: '[a-zA-Z0-9]{64}'
generate: expression
name: OPENSHIFT_OAUTH_CLIENT_SECRET
required: true
- description: The URL to the OpenShift console
displayName: Openshift Console Url
name: OPENSHIFT_CONSOLE_URL
value: https://localhost:8443
- description: The external hostname to access Syndesis
displayName: Route Hostname
name: ROUTE_HOSTNAME
- displayName: Endpoints Test Support Enabled
name: ENDPOINTS_TEST_SUPPORT_ENABLED
- description: Registry from where to fetch Syndesis images
displayName: Syndesis Registry
name: SYNDESIS_REGISTRY
value: docker.io
- description: Secret to use to encrypt oauth cookies
displayName: Oauth Cookie Secret
from: '[a-zA-Z0-9]{32}'
generate: expression
name: OAUTH_COOKIE_SECRET
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment