Rex Roof
    • Create new note
    • Create a note from template
      • Sharing URL Link copied
      • /edit
      • View mode
        • Edit mode
        • View mode
        • Book mode
        • Slide mode
        Edit mode View mode Book mode Slide mode
      • Customize slides
      • Note Permission
      • Read
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Write
        • Only me
        • Signed-in users
        • Everyone
        Only me Signed-in users Everyone
      • Engagement control Commenting, Suggest edit, Emoji Reply
    • Invite by email
      Invitee

      This note has no invitees

    • Publish Note

      Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

      Your note will be visible on your profile and discoverable by anyone.
      Your note is now live.
      This note is visible on your profile and discoverable online.
      Everyone on the web can find and read all notes of this public team.
      See published notes
      Unpublish note
      Please check the box to agree to the Community Guidelines.
      View profile
    • Commenting
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
      • Everyone
    • Suggest edit
      Permission
      Disabled Forbidden Owners Signed-in users Everyone
    • Enable
    • Permission
      • Forbidden
      • Owners
      • Signed-in users
    • Emoji Reply
    • Enable
    • Versions and GitHub Sync
    • Note settings
    • Note Insights New
    • Engagement control
    • Make a copy
    • Transfer ownership
    • Delete this note
    • Save as template
    • Insert from template
    • Import from
      • Dropbox
      • Google Drive
      • Gist
      • Clipboard
    • Export to
      • Dropbox
      • Google Drive
      • Gist
    • Download
      • Markdown
      • HTML
      • Raw HTML
Menu Note settings Note Insights Versions and GitHub Sync Sharing URL Create Help
Create Create new note Create a note from template
Menu
Options
Engagement control Make a copy Transfer ownership Delete this note
Import from
Dropbox Google Drive Gist Clipboard
Export to
Dropbox Google Drive Gist
Download
Markdown HTML Raw HTML
Back
Sharing URL Link copied
/edit
View mode
  • Edit mode
  • View mode
  • Book mode
  • Slide mode
Edit mode View mode Book mode Slide mode
Customize slides
Note Permission
Read
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Write
Only me
  • Only me
  • Signed-in users
  • Everyone
Only me Signed-in users Everyone
Engagement control Commenting, Suggest edit, Emoji Reply
  • Invite by email
    Invitee

    This note has no invitees

  • Publish Note

    Share your work with the world Congratulations! 🎉 Your note is out in the world Publish Note

    Your note will be visible on your profile and discoverable by anyone.
    Your note is now live.
    This note is visible on your profile and discoverable online.
    Everyone on the web can find and read all notes of this public team.
    See published notes
    Unpublish note
    Please check the box to agree to the Community Guidelines.
    View profile
    Engagement control
    Commenting
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    • Everyone
    Suggest edit
    Permission
    Disabled Forbidden Owners Signed-in users Everyone
    Enable
    Permission
    • Forbidden
    • Owners
    • Signed-in users
    Emoji Reply
    Enable
    Import from Dropbox Google Drive Gist Clipboard
       Owned this note    Owned this note      
    Published Linked with GitHub
    • Any changes
      Be notified of any changes
    • Mention me
      Be notified of mention me
    • Unsubscribe
    # Wed Dec 18 Deploy ``` --- # Source: insight/templates/secrets.yaml apiVersion: v1 kind: Secret metadata: name: bnsinsight annotations: # this ignores this object during helm upgrade. delete object manually to # replace/update "helm.sh/hook": "pre-install" "helm.sh/hook-delete-policy": "before-hook-creation" type: Opaque data: BNS_AUTH_SECRET_KEY: "b1FSWHFuOVd2ekUwb2IwazBYREcwZTd5RjlPc2RQbkhzUDlKU2FZUFVyY1ZvVmNpeFRGSVpURXZKUVBFV0s2RnhZa2k3ZmVEbVBpSkJDV0ZxQ3J1TDUzRXp4RWZVWWdlRGZlN3pMUjBuQVJiSzNOZEFyMjdNOTdLaGNkNWZkbW0=" DB_PASS: "Q2Ntd0VmNnBTN2dCWmlSM2ZUdTMy" FV_PASS: "M25YWHdRVmQ=" FV_USER: "eWFyZC5pbnNpZ2h0QGZyZWlnaHR2ZXJpZnktYXBpLmNvbQ==" ADFS_M2M_CLIENT_SECRET: "MlZRc201T2JIRF9yUm1LQVV6MkdFVmh0cGZucG5UdVpuWDU3eTJfbA==" YMS_BOOTSTRAP_CLIENT_SECRET: "bE9HejFKNmlSV1M0RFU5LUNpMEl5cVYwc01adC1oTm9QR2xzV2NwaFVPNmctb2k3d21rZHUxbUFCRWpFRjF5bQ==" BNS_M2M_AUTH_TOKEN: "ZXlKMGVYQWlPaUpLVjFRaUxDSmhiR2NpT2lKSVV6STFOaUo5LmV5SnBjM01pT2lKamIyMHVZbXgxWlMxdVpYZDBMbmx0Y3lJc0luQmxjbTFwYzNOcGIyNXpJanBiSW0xdlpHbG1lVjkwYlhOZllYQnBJaXdpYlc5a2FXWjVYM2RsWW1odmIydHpYMkZ3YVNJc0ltMXZaR2xtZVY5bGNuQmZjM1ZpYldsemMybHZibk5mWVhCcElsMTkuOGVjLWJOVEVMRjlSN1BlM1JvNDRSc1ZUS2ExWmw2Y2lyTjVJeTJNaWFCSQ==" --- # Source: insight/templates/auth.yaml apiVersion: v1 kind: ConfigMap metadata: name: auth-signing-cert data: insight.pem: | -----BEGIN CERTIFICATE----- MIIG3DCCBcSgAwIBAgIMbOvsEbV63HhDEIHaMA0GCSqGSIb3DQEBCwUAMGYxCzAJ BgNVBAYTAkJFMRkwFwYDVQQKExBHbG9iYWxTaWduIG52LXNhMTwwOgYDVQQDEzNH bG9iYWxTaWduIE9yZ2FuaXphdGlvbiBWYWxpZGF0aW9uIENBIC0gU0hBMjU2IC0g RzIwHhcNMTkwMzExMTQzNDQ1WhcNMjEwMzExMTQzNDQ1WjB7MQswCQYDVQQGEwJV UzERMA8GA1UECBMITWljaGlnYW4xETAPBgNVBAcTCERlYXJib3JuMRswGQYDVQQK ExJGb3JkIE1vdG9yIENvbXBhbnkxKTAnBgNVBAMTIHRva2Vuc2lnbmluZy5jb3Jw cWEuc3RzLmZvcmQuY29tMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA 1zZeLQlEAnVQJ0b9mNfVIZJsOmucbjSYVtYk0JdfqGVCdxqyDuB3eceUtvClWKUE UDbDeiLRWX1W8Pd2EjS3Y89kcbZFS5xTnnLuWpwuAHPhGAgjTjwVxegE9xnmNxDX DFBeepwJ7vBCJJmu8BQoWD0Iyre9jT4EIFX7zBVnuXxv60FOAAg7c9Ix0eE74hjr LPqd+Ip5sSt1yZ3o8QpKcZXTXnmy88fChZbUKaF9T1oxP3irA1+b6zG319EghBxF F0VwKLeHTDme25gyjKn4pC/1d2WMZo+dTFAhZVRI2UykQZT7dPCCpGnLfc4B4DP8 EiO+9HJODTcnAueUTMwmswIDAQABo4IDczCCA28wDgYDVR0PAQH/BAQDAgWgMIGg BggrBgEFBQcBAQSBkzCBkDBNBggrBgEFBQcwAoZBaHR0cDovL3NlY3VyZS5nbG9i YWxzaWduLmNvbS9jYWNlcnQvZ3Nvcmdhbml6YXRpb252YWxzaGEyZzJyMS5jcnQw PwYIKwYBBQUHMAGGM2h0dHA6Ly9vY3NwMi5nbG9iYWxzaWduLmNvbS9nc29yZ2Fu aXphdGlvbnZhbHNoYTJnMjBWBgNVHSAETzBNMEEGCSsGAQQBoDIBFDA0MDIGCCsG AQUFBwIBFiZodHRwczovL3d3dy5nbG9iYWxzaWduLmNvbS9yZXBvc2l0b3J5LzAI BgZngQwBAgIwCQYDVR0TBAIwADBJBgNVHR8EQjBAMD6gPKA6hjhodHRwOi8vY3Js Lmdsb2JhbHNpZ24uY29tL2dzL2dzb3JnYW5pemF0aW9udmFsc2hhMmcyLmNybDAr BgNVHREEJDAigiB0b2tlbnNpZ25pbmcuY29ycHFhLnN0cy5mb3JkLmNvbTAdBgNV HSUEFjAUBggrBgEFBQcDAQYIKwYBBQUHAwIwHQYDVR0OBBYEFFclN7nEFkNtEqkd OZYi7kqwLt5JMB8GA1UdIwQYMBaAFJbeYfG9HBYpUxzAzH07gwBA5hp8MIIBfgYK KwYBBAHWeQIEAgSCAW4EggFqAWgAdgBVgdTCFpA2AUrqC5tXPFPwwOQ4eHAlCBcv o6odBxPTDAAAAWltLWmIAAAEAwBHMEUCIFiUJjhtBhh7qlNb1RFMWnOcO2u6m2ES KO69zUN5ky6EAiEA7cVQH5uL4Zw6s9+m+9kynzuHd+Mhlw4dbqktZzN7mJ8AdwC7 2d+8H4pxtZOUI5eqkntHOFeVCqtS6BqQlmQ2jh7RhQAAAWltLWzzAAAEAwBIMEYC IQCImlK3saJWLS8sowheUYWYgz6gEeHLf3XdbYDcQYOQzgIhANOLxBXcXocOfNcj 0vud89nU3u8nH3EEdfExD1/S+XElAHUAb1N2rDHwMRnYmQCkURX/dxUcEdkCwQAp Bo2yCJo32RMAAAFpbS1ppAAABAMARjBEAiBb6dzG6Y8vwamVRDAi8M2FfTinZh5F OYX8atJb8rZ59gIgF50eEQ67FdWcxjUachu3e1MdLPgS0HzbuyYhqpH/wc8wDQYJ KoZIhvcNAQELBQADggEBACtHwzZecgLeY0ZTeHt48ltqc4IHSAFRXIq2VEwv21RE qpGb4yfNGsbStbPDqkv0itNBEez//YWGqBOg3VLQ5tpwcacH+cxgPxXwtKanteLE XCuFk7+vIBxUP6uzrKnpgFfuuFsZ+hD3sj+gfqPYW7LSxnRkbC6pYflS9P52XCnJ M81wo4+euTs9COpJYR7+mOuGiZvxpe51lgA7Px3bnuhmJYBlzlIqw8/I7IO/V2a7 sKyGoXkRY4p0lnVtMCacM+znCd3vvaCQuCgLaRdahWT/+xz5nyLurcwU5yYA5s5I 40RO8lhfgrzWbeGuU6RFvdlnkM2EpmDrBywmnGVuxoI= -----END CERTIFICATE----- --- apiVersion: apps/v1 kind: Deployment metadata: name: auth spec: replicas: 1 selector: matchLabels: app: auth template: metadata: labels: app: auth spec: securityContext: runAsNonRoot: true volumes: - name: signing-cert configMap: name: auth-signing-cert automountServiceAccountToken: false containers: - name: auth volumeMounts: - name: signing-cert mountPath: /app/certificates image: registry.ford.com/yms2/yms-auth:master-v0.11.0 resources: limits: memory: 200M cpu: 30m requests: memory: 40M cpu: 10m ports: - containerPort: 8000 name: svc-port env: - name: DB_PASS valueFrom: secretKeyRef: name: bnsinsight key: DB_PASS - name: BNS_AUTH_SECRET_KEY valueFrom: secretKeyRef: name: bnsinsight key: BNS_AUTH_SECRET_KEY - name: BNS_AUTH_REVERSE_DOMAIN_IDENTIFIER value: com.blue-newt.yms - name: DB_USER value: newt - name: DB_HOST value: localpg - name: DB_NAME value: yms - name: DB_SCHEMA value: yms - name: AUTH_PROVIDER value: ADFS - name: CLIENT_AUTH_URL value: https://bns-yms.auth0.com/oauth/token imagePullSecrets: - name: yms2-yms2robo-pull-secret --- apiVersion: v1 kind: Service metadata: name: auth spec: selector: app: auth ports: - name: insight-auth protocol: TCP port: 80 targetPort: svc-port --- # Source: insight/templates/metrics/configmap-prometheus.yaml apiVersion: v1 kind: ConfigMap metadata: name: metricsconf data: prometheus.yml: | global: scrape_interval: 3s external_labels: monitor: insight-app rule_files: null scrape_configs: - job_name: prometheus static_configs: - targets: - localhost:9090 - job_name: apiserver dns_sd_configs: - names: - api port: 80 type: A refresh_interval: 5s - job_name: auth dns_sd_configs: - names: - auth port: 80 type: A refresh_interval: 5s --- # Source: insight/templates/redis.yaml apiVersion: v1 kind: ConfigMap metadata: name: redis-config data: redis.conf: | save "" protected-mode no bind 0.0.0.0 --- apiVersion: apps/v1 kind: Deployment metadata: name: redis spec: replicas: 1 selector: matchLabels: app: redis template: metadata: labels: app: redis spec: volumes: - name: redisconf configMap: name: redis-config containers: - name: redis image: registry.ford.com/yms2/redis:redis-5-rhel7 volumeMounts: - name: redisconf mountPath: /usr/local/etc/redis resources: limits: memory: 128M cpu: 100m requests: memory: 16M cpu: 20m ports: - containerPort: 6379 name: redis-port command: - env - PATH=/opt/rh/rh-redis5/root/usr/bin:/opt/rh/rh-redis5/root/usr/sbin:/opt/app-root/src/bin:/opt/app-root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - LD_LIBRARY_PATH=/opt/rh/rh-redis5/root/usr/lib64 - redis-server - /usr/local/etc/redis/redis.conf imagePullSecrets: - name: yms2-yms2robo-pull-secret --- apiVersion: v1 kind: Service metadata: name: redis spec: selector: app: redis ports: - port: 6379 protocol: TCP name: svc-redis targetPort: redis-port --- # Source: insight/templates/pg.yaml --- kind: PersistentVolumeClaim apiVersion: v1 metadata: name: pg-data spec: accessModes: - ReadWriteOnce volumeMode: Filesystem resources: requests: storage: 50Gi storageClassName: edc1h1-file-performance --- apiVersion: apps/v1 kind: Deployment metadata: name: pg spec: strategy: type: Recreate replicas: 1 selector: matchLabels: app: pg template: metadata: labels: app: pg spec: volumes: - name: pgdata persistentVolumeClaim: claimName: pg-data automountServiceAccountToken: false containers: - name: pg image: registry.ford.com/yms2/postgres:pg-10-rhel7 volumeMounts: - mountPath: "/var/lib/pgsql/data" name: pgdata resources: limits: memory: 1024M cpu: 2 requests: memory: 200M cpu: 100m livenessProbe: exec: command: - env - LD_LIBRARY_PATH=/opt/rh/rh-postgresql10/root/usr/lib64 - PATH=/opt/rh/rh-postgresql10/root/usr/bin:/opt/app-root/src/bin:/opt/app-root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - sh - -c - exec pg_isready --host $POD_IP readinessProbe: exec: command: - env - LD_LIBRARY_PATH=/opt/rh/rh-postgresql10/root/usr/lib64 - PATH=/opt/rh/rh-postgresql10/root/usr/bin:/opt/app-root/src/bin:/opt/app-root/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin - sh - -c - exec pg_isready --host $POD_IP ports: - containerPort: 5432 name: svc-port env: - name: POSTGRES_PASSWORD valueFrom: secretKeyRef: name: bnsinsight key: DB_PASS - name: POSTGRESQL_PASSWORD valueFrom: secretKeyRef: name: bnsinsight key: DB_PASS - name: POSTGRES_USER value: newt - name: POSTGRESQL_USER value: newt - name: POSTGRES_DB value: yms - name: POSTGRESQL_DATABASE value: yms - name: PGDATA value: "/var/lib/pgsql/data/pgdata" - name: POD_IP valueFrom: { fieldRef: { fieldPath: status.podIP } } imagePullSecrets: - name: yms2-yms2robo-pull-secret --- apiVersion: v1 kind: Service metadata: name: localpg spec: selector: app: pg ports: - name: insight-pg protocol: TCP port: 5432 targetPort: svc-port --- # Source: insight/templates/api.yaml apiVersion: apps/v1 kind: Deployment metadata: name: api spec: replicas: 1 selector: matchLabels: app: api template: metadata: labels: app: api spec: initContainers: - name: dbmigrate resources: limits: memory: 1500M cpu: 1500m requests: memory: 200M cpu: 500m image: registry.ford.com/yms2/yms-service:master-v0.13.0 command: - python - -c - "import initdb ; initdb.dbmigrate()" env: - name: PYTHONPATH value: "/app/yms_server" - name: DB_HOST value: localpg - name: DB_NAME value: yms - name: DB_PASS valueFrom: secretKeyRef: name: bnsinsight key: DB_PASS - name: DB_SCHEMA value: yms - name: DB_USER value: newt - name: YMS_DATA_THEME value: ford - name: REDIS_URL value: redis://redis:6379 securityContext: runAsNonRoot: true automountServiceAccountToken: false containers: - name: api image: registry.ford.com/yms2/yms-service:master-v0.13.0 lifecycle: postStart: exec: command: - env - PYTHONPATH=/app/yms_server - python - -c - import initdb ; initdb.dataload() - '>>/proc/1/fd/1' - 2>>/proc/1/fd/2 resources: limits: memory: 1500M cpu: 1500m requests: memory: 200M cpu: 500m securityContext: allowPrivilegeEscalation: false ports: - containerPort: 8000 name: svc-port livenessProbe: httpGet: path: /healthz port: svc-port readinessProbe: httpGet: path: /healthz port: svc-port env: - name: API_HOST value: "localhost" - name: API_PORT value: "8000" - name: AUTH_API_HOST value: auth - name: AUTH_API_PORT value: "80" - name: BNS_AUTH_REVERSE_DOMAIN_IDENTIFIER value: com.blue-newt.yms - name: BNS_AUTH_SECRET_KEY valueFrom: secretKeyRef: name: bnsinsight key: BNS_AUTH_SECRET_KEY - name: DB_HOST value: localpg - name: DB_NAME value: yms - name: DB_PASS valueFrom: secretKeyRef: name: bnsinsight key: DB_PASS - name: DB_SCHEMA value: yms - name: DB_USER value: newt - name: EMAIL_REPLY_TO value: noreply@example.com - name: EMAIL_SENDER value: YMS - name: SMTP_SERVER value: localhost - name: YMS_DATA_THEME value: ford - name: SCHEDULING_ENABLED value: "false" - name: TMS_CELERY_TASK value: tms_update imagePullSecrets: - name: yms2-yms2robo-pull-secret --- apiVersion: v1 kind: Service metadata: name: api spec: selector: app: api ports: - name: insight-api protocol: TCP port: 80 targetPort: svc-port --- # Source: insight/templates/celery.yaml apiVersion: apps/v1 kind: Deployment metadata: name: celery spec: replicas: 1 selector: matchLabels: app: celery template: metadata: labels: app: celery spec: securityContext: runAsNonRoot: true automountServiceAccountToken: false containers: - name: celery image: registry.ford.com/yms2/yms-service:master-v0.13.0 resources: limits: memory: 400M cpu: 500m requests: memory: 150M cpu: 70m command: - /bin/sh - -c - /start_celery.sh env: - name: API_HOST value: api - name: API_PORT value: "80" - name: AUTH_API_HOST value: auth - name: AUTH_API_PORT value: "80" - name: BNS_AUTH_SECRET_KEY valueFrom: secretKeyRef: name: bnsinsight key: BNS_AUTH_SECRET_KEY - name: BNS_AUTH_REVERSE_DOMAIN_IDENTIFIER value: com.blue-newt.yms - name: DB_PASS valueFrom: secretKeyRef: name: bnsinsight key: DB_PASS - name: DB_USER value: newt - name: DB_HOST value: localpg - name: DB_NAME value: yms - name: DB_SCHEMA value: yms - name: BNS_M2M_AUTH_TOKEN valueFrom: secretKeyRef: name: bnsinsight key: BNS_M2M_AUTH_TOKEN optional: true - name: FV_TMS_ENABLED value: "false" - name: FV_PROXY value: internet.ford.com:83 - name: SCHEDULING_ENABLED value: "false" - name: TMS_BUFFER_PERIOD value: "24" - name: TMS_UPDATE_PERIOD value: "600" - name: TMS_CELERY_TASK value: tms_update - name: TMS_CLIENT_ID value: 2xbUA145aY1bMkhV0CK7h5mLHFaUQn7p - name: TMS_CLIENT_SECRET valueFrom: secretKeyRef: name: bnsinsight key: YMS_BOOTSTRAP_CLIENT_SECRET imagePullSecrets: - name: yms2-yms2robo-pull-secret --- # Source: insight/templates/docs.yaml apiVersion: apps/v1 kind: Deployment metadata: name: docs spec: replicas: 1 selector: matchLabels: app: docs template: metadata: labels: app: docs spec: automountServiceAccountToken: false containers: - name: docs image: registry.ford.com/yms2/yms-docs:master-v0.9.0 # setting this to Always to fix confusion with older yms-docs images imagePullPolicy: Always env: - name: NO_BUILD value: "true" resources: limits: memory: 60M cpu: 100m requests: memory: 10M cpu: 5m ports: - containerPort: 4400 name: svc-port livenessProbe: initialDelaySeconds: 30 httpGet: path: /healthz port: svc-port readinessProbe: initialDelaySeconds: 30 httpGet: path: /healthz port: svc-port imagePullSecrets: - name: yms2-yms2robo-pull-secret --- apiVersion: v1 kind: Service metadata: name: docs spec: selector: app: docs ports: - name: insight-docs protocol: TCP port: 80 targetPort: svc-port --- # Source: insight/templates/ehubi/consumer.yaml apiVersion: apps/v1 kind: Deployment metadata: name: ehubi-consumer spec: replicas: 2 selector: matchLabels: app: ehubi-consumer template: metadata: labels: app: ehubi-consumer group: ehub spec: automountServiceAccountToken: false containers: - name: ehubi-consumer image: registry.ford.com/yms2/yms-ehubi:master-bb7c2332 command: - /app/start_huey_consumer.sh resources: limits: memory: 64M cpu: 100m requests: memory: 32M cpu: 50m livenessProbe: initialDelaySeconds: 10 periodSeconds: 60 exec: command: - pgrep - huey_consumer readinessProbe: initialDelaySeconds: 10 periodSeconds: 60 exec: command: - pgrep - huey_consumer env: - name: REDIS_URL value: redis://redis:6379 imagePullSecrets: - name: yms2-yms2robo-pull-secret --- # Source: insight/templates/ehubi/ehubi.yaml apiVersion: apps/v1 kind: Deployment metadata: name: ehubi spec: replicas: 1 selector: matchLabels: app: ehubi template: metadata: labels: app: ehubi group: ehub spec: automountServiceAccountToken: false containers: - name: ehubi image: registry.ford.com/yms2/yms-ehubi:master-bb7c2332 resources: limits: memory: 64M cpu: 100m requests: memory: 32M cpu: 50m ports: - containerPort: 8000 name: svc-port livenessProbe: initialDelaySeconds: 10 periodSeconds: 30 httpGet: path: /healthz port: svc-port readinessProbe: initialDelaySeconds: 10 periodSeconds: 30 httpGet: path: /healthz port: svc-port env: - name: YMS_API_HOST value: api - name: YMS_API_PORT value: "80" - name: EHUB_URL value: https://wwwqa.bts13.ford.com/ymsshipper.ohio.showshipment.v1.svc - name: ADFS_M2M_CLIENT_ID value: 9faef281-ecb3-f822-0c59-a91f286d0bdf - name: ADFS_M2M_AUTH_URL value: https://corpqa.sts.ford.com/adfs/oauth2/token - name: ADFS_M2M_RESOURCE_ID value: urn:qa.bts.ford.com - name: BNS_M2M_AUTH_TOKEN valueFrom: secretKeyRef: name: bnsinsight key: BNS_M2M_AUTH_TOKEN optional: true - name: ADFS_M2M_CLIENT_SECRET valueFrom: secretKeyRef: name: bnsinsight key: ADFS_M2M_CLIENT_SECRET - name: REDIS_URL value: redis://redis:6379 - name: EHUBI_PORT value: "80" - name: EHUBI_HOST value: "ehubi" imagePullSecrets: - name: yms2-yms2robo-pull-secret --- apiVersion: v1 kind: Service metadata: name: ehubi spec: selector: app: ehubi ports: - protocol: TCP port: 80 targetPort: svc-port name: ehubi-port --- # Source: insight/templates/metrics/grafana.yaml apiVersion: extensions/v1beta1 kind: Deployment metadata: name: grafana spec: replicas: 1 strategy: rollingUpdate: maxSurge: 1 maxUnavailable: 0 type: RollingUpdate template: metadata: labels: app: grafana spec: securityContext: runAsNonRoot: true automountServiceAccountToken: false containers: - name: grafana image: registry.ford.com/yms2/yms-grafana-metrics:master-v0.0.1 resources: limits: memory: 100M cpu: 50m requests: memory: 25M cpu: 10m ports: - containerPort: 3000 name: svc-port livenessProbe: failureThreshold: 10 httpGet: path: /api/health port: svc-port scheme: HTTP initialDelaySeconds: 60 periodSeconds: 10 successThreshold: 1 timeoutSeconds: 30 readinessProbe: failureThreshold: 3 httpGet: path: /api/health port: svc-port scheme: HTTP periodSeconds: 10 successThreshold: 1 timeoutSeconds: 1 imagePullSecrets: - name: yms2-yms2robo-pull-secret --- apiVersion: v1 kind: Service metadata: name: grafana spec: selector: app: grafana ports: - protocol: TCP targetPort: svc-port port: 80 name: insight-grafana --- # Source: insight/templates/metrics/prometheus.yaml --- apiVersion: apps/v1 kind: Deployment metadata: name: prometheus spec: strategy: type: Recreate replicas: 1 selector: matchLabels: app: prometheus template: metadata: labels: app: prometheus spec: automountServiceAccountToken: false initContainers: - name: "init-chown-data" image: busybox:1 imagePullPolicy: Always command: ["chown", "-R", "65534:65534", "/prometheus"] volumeMounts: - name: prom-pvc-vol mountPath: /prometheus subPath: "" containers: - name: prometheus args: - --config.file=/etc/prometheus/prometheus.yml - --storage.tsdb.path=/prometheus - --storage.tsdb.no-lockfile - --storage.tsdb.retention=7d - --web.console.libraries=/usr/share/prometheus/console_libraries - --web.console.templates=/usr/share/prometheus/consoles securityContext: runAsNonRoot: true resources: limits: memory: 500M cpu: 500m requests: memory: 128M cpu: 15m image: registry.ford.com/yms2/prometheus:v2.14.0 volumeMounts: - name: config-volume mountPath: /etc/prometheus/prometheus.yml subPath: prometheus.yml - name: prom-pvc-vol mountPath: /prometheus ports: - containerPort: 9090 name: svc-port protocol: TCP livenessProbe: failureThreshold: 6 httpGet: path: /-/healthy port: svc-port scheme: HTTP periodSeconds: 5 successThreshold: 1 timeoutSeconds: 3 name: prometheus readinessProbe: failureThreshold: 120 httpGet: path: /-/ready port: svc-port scheme: HTTP periodSeconds: 5 successThreshold: 1 timeoutSeconds: 3 volumes: - name: config-volume configMap: name: metricsconf - name: prom-pvc-vol persistentVolumeClaim: claimName: prom-pvc imagePullSecrets: - name: yms2-yms2robo-pull-secret --- apiVersion: v1 kind: Service metadata: name: prometheus spec: selector: app: prometheus ports: - protocol: TCP targetPort: svc-port port: 9090 name: insight-prometheus --- # Source: insight/templates/pgweb.yaml apiVersion: apps/v1 kind: Deployment metadata: name: pgweb spec: selector: matchLabels: app: pgweb template: metadata: labels: app: pgweb spec: automountServiceAccountToken: false containers: - name: pgweb image: registry.ford.com/yms2/yms-pgweb:master-v0.1.0 resources: limits: memory: 100M cpu: 200m requests: memory: 10M cpu: 5m ports: - containerPort: 8383 name: svc-port env: - name: DB_PASS valueFrom: secretKeyRef: name: bnsinsight key: DB_PASS - name: DATABASE_URL value: "postgres://newt@localpg:5432/yms?sslmode=disable&search_path=yms" - name: URL_PREFIX value: "pgweb" - name: PGWEB_USER value: newt - name: PGWEB_PASS value: blue-newt imagePullSecrets: - name: yms2-yms2robo-pull-secret --- apiVersion: v1 kind: Service metadata: name: pgweb spec: ports: - name: insight-pgweb port: 80 protocol: TCP targetPort: svc-port selector: app: pgweb --- # Source: insight/templates/ui.yaml apiVersion: apps/v1 kind: Deployment metadata: name: ui spec: replicas: 1 selector: matchLabels: app: ui template: metadata: labels: app: ui spec: securityContext: runAsNonRoot: true automountServiceAccountToken: false containers: - name: ui image: registry.ford.com/yms2/yms-ui:master-v0.14.0 resources: limits: memory: 30M cpu: 50m requests: memory: 5M cpu: 5m ports: - containerPort: 3000 name: svc-port livenessProbe: httpGet: path: /healthz port: svc-port readinessProbe: httpGet: path: /healthz port: svc-port env: - name: AUTH_PROVIDER value: ADFS - name: AUTH_DOMAIN value: https://corpqa.sts.ford.com/adfs/oauth2/authorize - name: AUTH_CLIENT_ID value: urn:yms2_mwe_caas_edc1:clientid:web_yms2mwe:qa - name: AUTH_RESOURCE_ID value: urn:yms2_mwe_caas_edc1:resource:web_yms2mwe:qa - name: YMS_THEME value: ford - name: AUTH_TOKEN valueFrom: secretKeyRef: name: bnsinsight key: AUTH_TOKEN optional: true imagePullSecrets: - name: yms2-yms2robo-pull-secret --- apiVersion: v1 kind: Service metadata: name: ui spec: selector: app: ui ports: - protocol: TCP port: 80 targetPort: svc-port name: insight-ui --- # Source: insight/templates/webhooks.yaml apiVersion: apps/v1 kind: Deployment metadata: name: webhooks spec: replicas: 2 selector: matchLabels: app: webhooks template: metadata: labels: app: webhooks spec: automountServiceAccountToken: false containers: - name: webhooks image: registry.ford.com/yms2/yms-service:master-v0.13.0 command: - sh - -c - /start_huey_consumer.sh resources: limits: memory: 64M cpu: 100m requests: memory: 32M cpu: 50m livenessProbe: initialDelaySeconds: 10 periodSeconds: 60 exec: command: - grep - -qa - huey_consumer - /proc/1/cmdline readinessProbe: initialDelaySeconds: 10 periodSeconds: 60 exec: command: - grep - -qa - huey_consumer - /proc/1/cmdline env: - name: REDIS_URL value: redis://redis:6379 imagePullSecrets: - name: yms2-yms2robo-pull-secret --- # Source: insight/templates/openshift-routes.yaml --- apiVersion: v1 kind: Route metadata: name: route-path-api spec: host: wwwqa-yms2.app.caas.ford.com path: "/api" tls: termination: edge insecureEdgeTerminationPolicy: Redirect to: kind: Service name: api --- apiVersion: v1 kind: Route metadata: name: route-path-pgweb spec: host: wwwqa-yms2.app.caas.ford.com path: "/pgweb" tls: termination: edge insecureEdgeTerminationPolicy: Redirect to: kind: Service name: pgweb --- apiVersion: v1 kind: Route metadata: name: route-path-ehubi spec: host: wwwqa-yms2.app.caas.ford.com path: "/ehub" tls: termination: edge insecureEdgeTerminationPolicy: Redirect to: kind: Service name: ehubi --- apiVersion: v1 kind: Route metadata: name: route-path-auth spec: host: wwwqa-yms2.app.caas.ford.com path: "/auth" tls: termination: edge insecureEdgeTerminationPolicy: Redirect to: kind: Service name: auth --- apiVersion: v1 kind: Route metadata: name: route-path-metrics spec: host: yms2-qa-metrics.app.caas.ford.com path: "/" tls: termination: edge insecureEdgeTerminationPolicy: Redirect to: kind: Service name: grafana --- apiVersion: v1 kind: Route metadata: name: route-path-docs spec: host: wwwqa-yms2.app.caas.ford.com path: "/docs" tls: termination: edge insecureEdgeTerminationPolicy: Redirect to: kind: Service name: docs --- apiVersion: v1 kind: Route metadata: name: route-path-tms spec: host: wwwqa-yms2.app.caas.ford.com path: "/tms" tls: termination: edge insecureEdgeTerminationPolicy: Redirect to: kind: Service name: api --- apiVersion: v1 kind: Route metadata: name: route-path-wms spec: host: wwwqa-yms2.app.caas.ford.com path: "/wms" tls: termination: edge insecureEdgeTerminationPolicy: Redirect to: kind: Service name: api --- apiVersion: v1 kind: Route metadata: name: route-path-ui spec: host: wwwqa-yms2.app.caas.ford.com path: "/" tls: termination: edge insecureEdgeTerminationPolicy: Redirect to: kind: Service name: ui --- # Source: insight/templates/alb-ingress.yaml --- # Source: insight/templates/exporter.yaml --- # Source: insight/templates/image-pull-secret.yaml --- # Source: insight/templates/nginx-ingress.yaml ```

    Import from clipboard

    Paste your markdown or webpage here...

    Advanced permission required

    Your current role can only read. Ask the system administrator to acquire write and comment permission.

    This team is disabled

    Sorry, this team is disabled. You can't edit this note.

    This note is locked

    Sorry, only owner can edit this note.

    Reach the limit

    Sorry, you've reached the max length this note can be.
    Please reduce the content or divide it to more notes, thank you!

    Import from Gist

    Import from Snippet

    or

    Export to Snippet

    Are you sure?

    Do you really want to delete this note?
    All users will lose their connection.

    Create a note from template

    Create a note from template

    Oops...
    This template has been removed or transferred.
    Upgrade
    All
    • All
    • Team
    No template.

    Create a template

    Upgrade

    Delete template

    Do you really want to delete this template?
    Turn this template into a regular note and keep its content, versions, and comments.

    This page need refresh

    You have an incompatible client version.
    Refresh to update.
    New version available!
    See releases notes here
    Refresh to enjoy new features.
    Your user state has changed.
    Refresh to load new user state.

    Sign in

    Forgot password

    or

    By clicking below, you agree to our terms of service.

    Sign in via Facebook Sign in via Twitter Sign in via GitHub Sign in via Dropbox Sign in with Wallet
    Wallet ( )
    Connect another wallet

    New to HackMD? Sign up

    Help

    • English
    • 中文
    • Français
    • Deutsch
    • 日本語
    • Español
    • Català
    • Ελληνικά
    • Português
    • italiano
    • Türkçe
    • Русский
    • Nederlands
    • hrvatski jezik
    • język polski
    • Українська
    • हिन्दी
    • svenska
    • Esperanto
    • dansk

    Documents

    Help & Tutorial

    How to use Book mode

    Slide Example

    API Docs

    Edit in VSCode

    Install browser extension

    Contacts

    Feedback

    Discord

    Send us email

    Resources

    Releases

    Pricing

    Blog

    Policy

    Terms

    Privacy

    Cheatsheet

    Syntax Example Reference
    # Header Header 基本排版
    - Unordered List
    • Unordered List
    1. Ordered List
    1. Ordered List
    - [ ] Todo List
    • Todo List
    > Blockquote
    Blockquote
    **Bold font** Bold font
    *Italics font* Italics font
    ~~Strikethrough~~ Strikethrough
    19^th^ 19th
    H~2~O H2O
    ++Inserted text++ Inserted text
    ==Marked text== Marked text
    [link text](https:// "title") Link
    ![image alt](https:// "title") Image
    `Code` Code 在筆記中貼入程式碼
    ```javascript
    var i = 0;
    ```
    var i = 0;
    :smile: :smile: Emoji list
    {%youtube youtube_id %} Externals
    $L^aT_eX$ LaTeX
    :::info
    This is a alert area.
    :::

    This is a alert area.

    Versions and GitHub Sync
    Get Full History Access

    • Edit version name
    • Delete

    revision author avatar     named on  

    More Less

    Note content is identical to the latest version.
    Compare
      Choose a version
      No search result
      Version not found
    Sign in to link this note to GitHub
    Learn more
    This note is not linked with GitHub
     

    Feedback

    Submission failed, please try again

    Thanks for your support.

    On a scale of 0-10, how likely is it that you would recommend HackMD to your friends, family or business associates?

    Please give us some advice and help us improve HackMD.

     

    Thanks for your feedback

    Remove version name

    Do you want to remove this version name and description?

    Transfer ownership

    Transfer to
      Warning: is a public team. If you transfer note to this team, everyone on the web can find and read this note.

        Link with GitHub

        Please authorize HackMD on GitHub
        • Please sign in to GitHub and install the HackMD app on your GitHub repo.
        • HackMD links with GitHub through a GitHub App. You can choose which repo to install our App.
        Learn more  Sign in to GitHub

        Push the note to GitHub Push to GitHub Pull a file from GitHub

          Authorize again
         

        Choose which file to push to

        Select repo
        Refresh Authorize more repos
        Select branch
        Select file
        Select branch
        Choose version(s) to push
        • Save a new version and push
        • Choose from existing versions
        Include title and tags
        Available push count

        Pull from GitHub

         
        File from GitHub
        File from HackMD

        GitHub Link Settings

        File linked

        Linked by
        File path
        Last synced branch
        Available push count

        Danger Zone

        Unlink
        You will no longer receive notification when GitHub file changes after unlink.

        Syncing

        Push failed

        Push successfully