simonmittag/jabba

View on GitHub
integration/j8a1.yml

Summary

Maintainability
Test Coverage
---
timeZone: Australia/Sydney
logLevel: warn
connection:
  downstream:
    readTimeoutSeconds: 3
    roundTripTimeoutSeconds: 20
    idleTimeoutSeconds: 30
    http:
      port: 8080
    maxBodyBytes: 65535
  upstream:
    socketTimeoutSeconds: 3
    readTimeoutSeconds: 3
    idleTimeoutSeconds: 10
    maxAttempts: 4
    poolSize: 8
    tlsInsecureSkipVerify: yes
policies:
  ab:
    - label: green
      weight: 0.8
    - label: blue
      weight: 0.2
jwt:
  x509es256:
    alg: ES256
    key: |
      -----BEGIN CERTIFICATE-----
      MIIDkzCCAXsCAhAEMA0GCSqGSIb3DQEBCwUAMHYxCzAJBgNVBAYTAkFVMQwwCgYD
      VQQIDANOU1cxDTALBgNVBAoMBG15Y2ExGjAYBgNVBAsMEW15Y2EgaW50ZXJtZWRp
      YXRlMS4wLAYDVQQDDCVteSBjZXJ0aWZpY2F0ZSBhdXRob3JpdHkgaW50ZXJtZWRp
      YXRlMCAXDTIwMTEyMTIyNDUzNVoYDzMwNDcwODEwMjI0NTM1WjBxMQswCQYDVQQG
      EwJBVTEMMAoGA1UECAwDTlNXMQ8wDQYDVQQHDAZTeWRuZXkxDDAKBgNVBAoMA2o4
      YTELMAkGA1UECwwCb3UxDDAKBgNVBAMMA2o4YTEaMBgGCSqGSIb3DQEJARYLbWFp
      bEBqOGEuaW8wWTATBgcqhkjOPQIBBggqhkjOPQMBBwNCAARBDCsRRZCV7vmbP9P7
      C3h9egCff0yCYJ1ndljd9ciSpAM46rYknfHpFrLLUZOnueU3zwmrFfxQLvUt2Zsj
      IqLqMA0GCSqGSIb3DQEBCwUAA4ICAQASQ+VgKa2tUpDCL8hXCEjQT+LAVO3jxsDQ
      Ej14R/W1hfxJ5UrpA39leCjWIa3ZE5rLJjbxg+/K5PvjbZhIXRVp49XoFdkcxD8Y
      MyBnBPSYuXht/jgzvVVHEvyQJ9xW3Yx2jo53UwMs85+fgZA/lUdcoCZ/j7iaDHkl
      GhE8OhPeHjzye98VZrs5IcTaZ3aBpE3atvvgzzb5xj+CwEdd07aRFdJ8Jez4u57x
      XH36omDUE8zHn2Lfr44e9AsszAprhqLdyRw3y1q7KMysxxLBmLibe7Km4rfYE0wN
      LCnSjaiXdZovOQNjNV+yPKhykWNw5mlWo9XcPcWx7hrl3ik380yK1cD6edrTev9R
      GGmbVgYfVXunvFC4w+xEgQzLA9Dc/hus/9GO+trwbVjRSoWEi4HUE2rF0eYpLk0m
      zvlvL0+JjVXDuWC3FBgAJwBLbEdrtD4dQeU8N88MZ9WWTBR6TwOvFvO7dVwJCDk0
      ThlD/f2RD14vsjHstAU87OL+NTHBefIBXT6J1Ev+HIhpKjyt7zhkHcfxTVzxP2cJ
      k4n8HSUsx52ggLafcK5V+zkGa2uKLNWru5w/pVqrjWV4goWe6k6ZPahzp5riNIlP
      nhD2IZz+y8r7ognXs6+EjYqEJknm/4cMbWudBFz87w36w6gNwiHvW1Q8bkVJ65We
      AWKuTQnosA==
      -----END CERTIFICATE-----
  x509rs256:
    alg: RS256
    key: |
      -----BEGIN CERTIFICATE-----
      MIIEajCCAlICAhAFMA0GCSqGSIb3DQEBCwUAMHYxCzAJBgNVBAYTAkFVMQwwCgYD
      VQQIDANOU1cxDTALBgNVBAoMBG15Y2ExGjAYBgNVBAsMEW15Y2EgaW50ZXJtZWRp
      YXRlMS4wLAYDVQQDDCVteSBjZXJ0aWZpY2F0ZSBhdXRob3JpdHkgaW50ZXJtZWRp
      YXRlMCAXDTIwMTEyMTIzMDgyOVoYDzMwNDcwODEwMjMwODI5WjB9MQswCQYDVQQG
      EwJBVTEMMAoGA1UECAwDTlNXMQ8wDQYDVQQHDAZTeWRuZXkxEDAOBgNVBAoMB3Jz
      YXRlc3QxCzAJBgNVBAsMAm91MRAwDgYDVQQDDAdyc2F0ZXN0MR4wHAYJKoZIhvcN
      AQkBFg9tYWlsQHJzYXRlc3QuaW8wggEiMA0GCSqGSIb3DQEBAQUAA4IBDwAwggEK
      AoIBAQC4WvALvGp6TeUDtOREwGvuShqZMITkMXRTFU93QVuaWgZOSQstdbdHp87G
      5uLw7Y9eT+035N8lmI5izBQT/6eBHuARct5uiwu1V2ZsatpMbC2gaalJ7cVGv1mZ
      C7vilmwDPCplUyrPoIg1zu6/FMgON33w5FSue7GqAcT1jP+6jaq+do6BYhcqGQOQ
      yoDw7QWT+RoJ955lAw3vQ6cLAhL4s8UTy5gYh1toQiSNl8zGb+I1EQ05Xzj2/A6I
      65au4LKn5gypNW1xbj1DWZxl/IZPsHkYdZ7sy3GpA2F/WbY2+jWb8u9otqn8Qzfr
      zjE5rpF7EHVd0Hyh6CkxHKA/HuivAgMBAAEwDQYJKoZIhvcNAQELBQADggIBAI2f
      s0I2it+M5AHPmqs2HJcW8uL7utGf+X+uDyX14BIkJNeNCxmoWDlahvoS+cviyA6Q
      Aihg1ECgPAjNweKIVhOKV5462INMbcmqwQqaL4gHd6IVAAfXOLO6Eg2GlhP/NQj3
      8KH6rAUXLOe2pAboR6+j6Jfz53mYUJu2sYnmcduwrjXva8BPqHwH70aFQ81koRIz
      yqvYfxfg2QLO1IyEIAC93D6Pi4fYHGJCM9HMMeIVbbcnUjWTeSL4jfaIyWhbyry6
      LpKXSCAS+VPqE8qI88J6NxkjQ9Q7B5QOL4K+gserqzOryUjH0Bl6l2K2g3xQcB63
      B8/vFbqQTXkzNcLJch/KIPvw5N+WFi3DBxkM07K+Hettn7vdR0tHmty1VG5k5zl+
      L1rp9vBAXjhlpiOao7qZBHfReO7FIJjeQ+TqXx9jJIUFyKqoEFVjse/2gMtZG4Z9
      bp1y31IZUHPyBfeZDQvzEgQeuAjMPQpikPqr1KupA5cDQ5K5icWVDwFLfHj143Yn
      swZG+5zzuhsLs+9unyfJhkhzbxZg6rznnssUILcWRpgEzsgnMx0Hzk2ydJZLTz9z
      UF0YH+65vYC/x84tb1TiZhN9gkP9rbNwr12AIWmMRvxhVjIGm1S6MbKWVotNvUOq
      uBNo8nqxAmGBsH/sytKm9cT0v/FBF2edE6LThwVg
      -----END CERTIFICATE-----
  auth0pub:
    alg: RS256
    key: |
      -----BEGIN PUBLIC KEY-----
      MIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEA2gYzaXHqNtIPjtxwZBN9
      MOBI44M0MnHOUoVh9rIsarVFjhxjib/yPqfYsXuQadtgT+j++X3pOirdEagPWzNR
      tC4cuCxi0xxhdv2b3twcJtcBtQvF5kVZISGbsXRhhI0IZ3NU9NJbh74UfCFYwMOj
      SLZqF0Yp1muIZbjLts97jbyat1K1grI2ympf/2ICXisKqG/f2a5ux8oKuV01NFuY
      mEeBwSE54brziGpkFL5Z+ONUxlhSM4LQIIJY+cNxvyC1NXu+geayfxVfiff8Y/dp
      absp6ml5OWH3RSiVHUetJ90NeuotfZBI21OXLAC+xXYPXAuZaYz1JyhEDLj2LrDG
      MwIDAQAB
      -----END PUBLIC KEY-----
  jwtrs256:
    acceptableSkewSeconds: 121
    alg: RS256
    key: |
      -----BEGIN PUBLIC KEY-----
      MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtXhyIjACJ9I/1RLe6ewu
      BIzZ1275BUssbeUdE87qSNpkJHsn6lNKPUQVix/Hk8MDME6Et1zmyK7a2XoTovME
      LgaHFSpH3i+Eqdl1jG9c0/vkHlwC6Ba+MLxvSCn6HVrcSMMGpOdVHUU4cuqDRpVO
      4owby8e1ZSS1hdhaqs5t464BID7e907oe7hE8deqD9MXmGEimcXXEJTF84wH2xcB
      qUO35dcc5SBJfPAibZ6U2AaNIEZJouUYMJOqwVttTBvKYwhuEwcxsPrYfkufbmGb
      9dnTfKMJamujAwFf+YUwifYfpY763cQ4Ex7eHWVp4LlBB9zYYBBGp2ueLuhJSMWh
      k0yP4KBk8ZDcIgLZKsTzYDdnvbecii7qAxRYMaSEkdjSj2JTmV/GtDBLmkejVNqo
      9s/BvgEIDiPipTWesPKsaNigyhs6p6POJvOHkAAc3+88cfShLuDpobWmNEO6eOAG
      GvACbWs+EOepMrvWuL53QWgJzJaKsxgGejQ1jVCIRZeaVsWiPrJFSUk87lWwxGpR
      cSdvOATlGgjz28jL/CqtuAySGTb4S0LsBFgdpykrGChjbajxeMMjnV3khI4c/KXl
      SmOsxHfJ5vzfbicw1Inn/4RoVxw72p4t1NN3va1W6jZt/FZ5R8xgV5T5zgeAEkSm
      HJa/PXCQoBYwK7cuMJhjRaMCAwEAAQ==
      -----END PUBLIC KEY-----
    claims:
      - .sub | select(.=="subscriber")
      - .sub | select(.=="admin")
      - nonce
  jwtrs256n:
    acceptableSkewSeconds: 121
    alg: RS256
    key: |
      -----BEGIN PUBLIC KEY-----
      MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtXhyIjACJ9I/1RLe6ewu
      BIzZ1275BUssbeUdE87qSNpkJHsn6lNKPUQVix/Hk8MDME6Et1zmyK7a2XoTovME
      LgaHFSpH3i+Eqdl1jG9c0/vkHlwC6Ba+MLxvSCn6HVrcSMMGpOdVHUU4cuqDRpVO
      4owby8e1ZSS1hdhaqs5t464BID7e907oe7hE8deqD9MXmGEimcXXEJTF84wH2xcB
      qUO35dcc5SBJfPAibZ6U2AaNIEZJouUYMJOqwVttTBvKYwhuEwcxsPrYfkufbmGb
      9dnTfKMJamujAwFf+YUwifYfpY763cQ4Ex7eHWVp4LlBB9zYYBBGp2ueLuhJSMWh
      k0yP4KBk8ZDcIgLZKsTzYDdnvbecii7qAxRYMaSEkdjSj2JTmV/GtDBLmkejVNqo
      9s/BvgEIDiPipTWesPKsaNigyhs6p6POJvOHkAAc3+88cfShLuDpobWmNEO6eOAG
      GvACbWs+EOepMrvWuL53QWgJzJaKsxgGejQ1jVCIRZeaVsWiPrJFSUk87lWwxGpR
      cSdvOATlGgjz28jL/CqtuAySGTb4S0LsBFgdpykrGChjbajxeMMjnV3khI4c/KXl
      SmOsxHfJ5vzfbicw1Inn/4RoVxw72p4t1NN3va1W6jZt/FZ5R8xgV5T5zgeAEkSm
      HJa/PXCQoBYwK7cuMJhjRaMCAwEAAQ==
      -----END PUBLIC KEY-----
    claims:
  jwtps256:
    acceptableSkewSeconds: 121
    alg: PS256
    key: |
      -----BEGIN PUBLIC KEY-----
      MIICIjANBgkqhkiG9w0BAQEFAAOCAg8AMIICCgKCAgEAtXhyIjACJ9I/1RLe6ewu
      BIzZ1275BUssbeUdE87qSNpkJHsn6lNKPUQVix/Hk8MDME6Et1zmyK7a2XoTovME
      LgaHFSpH3i+Eqdl1jG9c0/vkHlwC6Ba+MLxvSCn6HVrcSMMGpOdVHUU4cuqDRpVO
      4owby8e1ZSS1hdhaqs5t464BID7e907oe7hE8deqD9MXmGEimcXXEJTF84wH2xcB
      qUO35dcc5SBJfPAibZ6U2AaNIEZJouUYMJOqwVttTBvKYwhuEwcxsPrYfkufbmGb
      9dnTfKMJamujAwFf+YUwifYfpY763cQ4Ex7eHWVp4LlBB9zYYBBGp2ueLuhJSMWh
      k0yP4KBk8ZDcIgLZKsTzYDdnvbecii7qAxRYMaSEkdjSj2JTmV/GtDBLmkejVNqo
      9s/BvgEIDiPipTWesPKsaNigyhs6p6POJvOHkAAc3+88cfShLuDpobWmNEO6eOAG
      GvACbWs+EOepMrvWuL53QWgJzJaKsxgGejQ1jVCIRZeaVsWiPrJFSUk87lWwxGpR
      cSdvOATlGgjz28jL/CqtuAySGTb4S0LsBFgdpykrGChjbajxeMMjnV3khI4c/KXl
      SmOsxHfJ5vzfbicw1Inn/4RoVxw72p4t1NN3va1W6jZt/FZ5R8xgV5T5zgeAEkSm
      HJa/PXCQoBYwK7cuMJhjRaMCAwEAAQ==
      -----END PUBLIC KEY-----
  jwths256:
    alg: HS256
    key: your-real-secret
  jwtes256:
    alg: ES256
    key: |
      -----BEGIN PUBLIC KEY-----
      MFkwEwYHKoZIzj0CAQYIKoZIzj0DAQcDQgAEQQwrEUWQle75mz/T+wt4fXoAn39M
      gmCdZ3ZY3fXIkqQDOOq2JJ3x6Rayy1GTp7nlN88JqxX8UC71LdmbIyKi6g==
      -----END PUBLIC KEY-----
  jwtnone:
    alg: none
  jwtjwks:
    alg: RS256
    jwksUrl: http://localhost:60083/mse6/jwks
  jwtjwksbadrotate:
    alg: RS256
    jwksUrl: http://localhost:60083/mse6/jwksbadrotate
  jwtjwksbadrotate2:
    alg: RS256
    jwksUrl: http://localhost:60084/mse6/jwksbadrotate

routes:
  - path: "/mse6/some"
    pathType: prefix
    resource: mse61
  - path: /mse6jwtjwksbadrotate
    pathType: prefix
    transform: /mse6
    resource: mse6
    jwt: jwtjwksbadrotate
  - path: /mse6jwtjwksbadrotate2
    transform: /mse6
    resource: mse6
    jwt: jwtjwksbadrotate2
  - path: /mse6jwt
    transform: /mse6
    resource: mse6
    jwt: jwtjwks
  - path: /x509rs256
    transform: /mse6
    resource: mse6
    jwt: x509rs256
  - path: /x509es256
    transform: /mse6
    resource: mse6
    jwt: x509es256
  - path: /auth0pub
    transform: /mse6
    resource: mse6
    jwt: auth0pub
  - path: /jwths256
    transform: /mse6
    resource: mse6
    jwt: jwths256
  - path: /jwtes256
    transform: /mse6
    resource: mse6
    jwt: jwtes256
  - path: /jwtps256
    transform: /mse6
    resource: mse6
    jwt: jwtps256
  - path: /jwtrs256
    transform: /mse6
    resource: mse6
    jwt: jwtrs256
  - path: /jwtrs256n
    transform: /mse6
    resource: mse6
    jwt: jwtrs256n
  - path: /jwtnone
    transform: /mse6
    resource: mse6
    jwt: jwtnone
  - path: /mse7
    transform: /mse6
    resource: mse6
  - path: "/mse6/"
    resource: mse6
    policy: ab
  - path: "/s01"
    resource: s01
  - path: "/s02"
    resource: s02
  - path: "/s03"
    resource: s03
  - path: "/s04"
    resource: s04
  - path: "/s05"
    resource: s05
  - path: "/s06"
    resource: s06
  - path: "/s07"
    resource: s07
  - path: "/s08"
    resource: s08
  - path: "/s09"
    resource: s09
  - path: "/s10"
    resource: s10
  - path: "/s11"
    resource: s11
  - path: "/s12"
    resource: s12
  - path: "/s13"
    resource: s13
  - path: "/s14"
    resource: s14
  - path: "/s15"
    resource: s15
  - path: "/s16"
    resource: s16
  - path: "/badip"
    resource: badip
  - path: "/baddns"
    resource: baddns
  - path: "/badremote"
    resource: badremote
  - path: "/badlocal"
    resource: badlocal
  - path: /badssl
    resource: badssl
  - path: "/websocket"
    transform: "/mse6/websocket"
    resource: websocket
  - path: "/websocketdown"
    resource: websocketdown
  - path: /websocketsecure
    transform: /badssl
    resource: websocketsecure
  - path: /anotherpath
    pathType: exact
    resource: websocketsecure
  - path: /mse6
    host: aaa😊😊😊.com
    pathType: prefix
    resource: mse62
  - path: /mse66
    transform: /mse6
    host: xn--aaa-yi33baa.com
    pathType: prefix
    resource: mse61
  - path: /mse6
    host: '*.xn--bbb-yi33baa.com'
    pathType: prefix
    resource: mse62
resources:
  badssl:
    - url:
        scheme: https
        host: localhost
        port: 60101
  badip:
    - url:
        scheme: http
        host: 10.247.13.14
        port: 29471
  baddns:
    - url:
        scheme: http
        host: kajsdkfj23848392sdfjsj332jkjkjdkshhhhimnotahost.com
        port: 29471
  badremote:
    - url:
        scheme: http
        host: google.com
        port: 29471
  badlocal:
    - url:
        scheme: http
        host: localhost
        port: 29471
  mse61:
    - url:
        scheme: 'http:'
        host: localhost
        port: 60083
  mse62:
    - url:
        scheme: 'http:'
        host: localhost
        port: '60084'
  mse6:
    - labels:
        - green
      url:
        scheme: http://
        host: localhost
        port: 60083
    - labels:
        - blue
      url:
        host: localhost
        port: 60084
  s01:
    - url:
        scheme: http
        host: localhost
        port: 60085
  s02:
    - url:
        scheme: http
        host: localhost
        port: 60086
  s03:
    - url:
        scheme: http
        host: localhost
        port: 60087
  s04:
    - url:
        scheme: http
        host: localhost
        port: 60088
  s05:
    - url:
        scheme: http
        host: localhost
        port: 60089
  s06:
    - url:
        scheme: http
        host: localhost
        port: 60090
  s07:
    - url:
        scheme: http
        host: localhost
        port: 60091
  s08:
    - url:
        scheme: http
        host: localhost
        port: 60092
  s09:
    - url:
        scheme: http
        host: localhost
        port: 60093
  s10:
    - url:
        scheme: http
        host: localhost
        port: 60094
  s11:
    - url:
        scheme: http
        host: localhost
        port: 60095
  s12:
    - url:
        scheme: http
        host: localhost
        port: 60096
  s13:
    - url:
        scheme: http
        host: localhost
        port: 60097
  s14:
    - url:
        scheme: http
        host: localhost
        port: 60098
  s15:
    - url:
        scheme: http
        host: localhost
        port: 60099
  s16:
    - url:
        scheme: http
        host: localhost
        port: 60100
  websocket:
    - url:
        scheme: ws
        host: localhost
        port: 60083
  websocketdown:
    - url:
        scheme: ws
        host: 10.247.13.14
        port: 29471
  websocketsecure:
    - url:
        scheme: wss
        host: localhost
        port: 60101