Meet us at RSA - Early Stage Expo Booth ESE-31

AWS Helm Values

Here is an example of aws helm values for your JUDGE deployment.

Note that you'll need to update your gitlab/github client id and secret in the values.yaml file.

The default, JUDGE deploys a MySQL and a Minio pod. For optimal production readiness integrate with AWS RDS and S3, consult the official AWS documentation for comprehensive guidance on configuring a production-ready Amazon RDS cluster and S3 bucket. Customize your deployment using the values.yaml file to seamlessly integrate with your infrastructure.

global:
  registry: 709825985650.dkr.ecr.us-east-1.amazonaws.com
  repository: "testifysec"
  imagePullSecrets: []
    # - name: regcred
  storageClass: ""
  ## Compatibility adaptations for Kubernetes platforms
  ##

kratos:
  image:
    tag: v1.0.0-token-update
  enabled: true
  nameOverride: "judge-kratos"
  ingress:
    public:
      enabled: true
      className: alb
      annotations:
        alb.ingress.kubernetes.io/scheme: internet-facing
        alb.ingress.kubernetes.io/target-type: ip
        alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]'
      tls: []
      hosts:
        - host: kratos.testifysec.local
          paths:
            - path: /
              pathType: Prefix
  kratos:
    dsn: "mysql://root:root@tcp(judge-mysql.default.svc.cluster.local:3306)/kratos?sql_mode=''"
      config:
        serve:
          public:
            base_url: https://kratos.testifysec.local
            cors:
              allowed_origins:
                - https://*.dev
      cookies:
        domain: testifysec.local
        path: /
        same_site: Lax
      selfservice:
        flows:
          error:
            ui_url: https://login.testifysec.local/error
          settings:
            ui_url: http://login.testifysec.local/settings
            privileged_session_max_age: 15m
            required_aal: highest_available
          recovery:
            enabled: true
            ui_url: https://login.testifysec.local/recovery
          verification:
            enabled: true
            ui_url: https://login.testifysec.local/verification
            after:
              default_browser_return_url: https://login.testifysec.local/
          logout:
            after:
              default_browser_return_url: https://login.testifysec.local/login
          login:
            ui_url: https://login.testifysec.local/login
            lifespan: 10m
            after:
              default_browser_return_url: https://judge.testifysec.local
          registration:
            lifespan: 10m
            ui_url: https://login.testifysec.local/registration
            after:
              oidc:
                hooks:
                  - hook: session # Always enable this for oidc flows or the user experience suffers significantly!
                  - hook: web_hook
                    config:
                      url: http://judge-judge-api.default.svc.cluster.local:8080/webhook/defaulttenant
                      method: POST
                      body: base64://ZnVuY3Rpb24oY3R4KSB7CiAgICAgIGlkZW50aXR5SWQ6IGN0eC5pZGVudGl0eS5pZCwKICAgICAgdHJhaXRzOiBjdHguaWRlbnRpdHkudHJhaXRzCn0=
        default_browser_return_url: https://judge.testifysec.local
        allowed_return_urls:
          - https://login.testifysec.local
          - https://kratos.testifysec.local
          - https://judge.testifysec.local
        methods:
          oidc:
            config:
              providers:
                - id: gitlab
                  provider: gitlab
                  client_id: your-gitlab-client-id # set ENV variable
                  client_secret: your-gitlab-client-secret # set ENV variable
                  issuer_url: https://gitlab.com # Replace with your gitlab instance url
                  mapper_url: file:///etc/config/kratos/gitlab.jsonnet
                  scope:
                    - openid
                    - profile
                    - email
                    - read_user
                    - read_api
                    - read_repository

                # - id: github
                #   provider: github
                #   client_id: your-github-client-id # set ENV variable
                #   client_secret: your-github-client-secret # set ENV variable
                #   issuer_url: https://github.com # Replace with your github instance url
                #   mapper_url: file:///etc/config/kratos/github.jsonnet
                #   scope:
                #     - user
archivista:
  image:
    tag: v1.6.0
  enabled: true
  nameOverride: "judge-archivista"
  ingress:
    enabled: true
    className: alb
    annotations:
      alb.ingress.kubernetes.io/scheme: internet-facing
      alb.ingress.kubernetes.io/target-type: ip
      alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]'
    hosts:
      - host: archivista.testifysec.local
        paths:
          - path: /
            pathType: Prefix

kratos-selfservice-ui-node:
  image:
    tag: v1.6.0
  enabled: true
  nameOverride: "judge-kratos-self-service"
  kratosAdminUrl: "http://kratos-admin.default.svc.cluster.local"
  kratosPublicUrl: "http://kratos-public.default.svc.cluster.local"
  kratosBrowserUrl: "https://kratos.testifysec.local"
  ingress:
    enabled: true
    className: alb
    annotations:
      alb.ingress.kubernetes.io/scheme: internet-facing
      alb.ingress.kubernetes.io/target-type: ip
      alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]'
    tls: []
    hosts:
      - host: login.testifysec.local
        paths:
          - path: /
            pathType: Prefix

judge-api:
  image:
    tag: v1.6.0
  enabled: true
  deployment:
    env:
      - name: "__TESTIFY_SKIP_LICENSE_CHECK__"
        value: "false"
      - name: KRATOS_PUBLIC_URL
        value: "kratos-public.default.svc.cluster.local"
      - name: KRATOS_ADMIN_URL
        value: "kratos-admin.default.svc.cluster.local"
      - name: GITLAB_URL
        value: "https://gitlab.com" # Replace with your gitlab instance url

  ingress:
    enabled: true
    className: alb
    annotations:
      alb.ingress.kubernetes.io/scheme: internet-facing
      alb.ingress.kubernetes.io/target-type: ip
      alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]'
    hosts:
      - host: judge-api.testifysec.local
        paths:
          - path: /
            pathType: Prefix

judge-web:
  image:
    tag: v1.6.0
  enabled: true
  nameOverride: "judge-web"
  nginxReverseProxy:
    enabled: true
    archivistaUrl: http://judge-judge-archivista.default.svc.cluster.local:8082
    judgeApiUrl: http://judge-judge-api.default.svc.cluster.local:8080
    kratosPublicUrl: http://kratos-public.default.svc.cluster.local
    kratosSelfServiceUiUrl: http://kratos-selfservice-ui-node.default.svc.cluster.local
  ingress:
    enabled: true
    className: alb
    annotations:
      alb.ingress.kubernetes.io/scheme: internet-facing
      alb.ingress.kubernetes.io/target-type: ip
      alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]'
    tls: []
    hosts:
      - host: judge.testifysec.local
        paths:
          - path: /
            pathType: Prefix
            backend:
              service:
                name: judge-judge-web
                port:
                  number: 8077
  redirectIngress:
    enabled: false

dex:
  image:
    tag: v2.39.1
  enabled: true
  nameOverride: "judge-dex"
  ingress:
    enabled: true
    className: alb
    annotations:
      alb.ingress.kubernetes.io/scheme: internet-facing
      alb.ingress.kubernetes.io/target-type: ip
      alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]'
    hosts:
      - host: dex.testifysec.local
        paths:
          - path: /
            pathType: Prefix
  config:
    issuer: https://dex.testifysec.local
    storage:
      type: memory
    logger:
      level: debug
      format: json
    oauth2:
      responseTypes: [ "code" ]
      skipApprovalScreen: true
      alwaysShowLoginScreen: true
    staticClients:
      - id: testifysec
        public: true
        name: 'testifysec'
    connectors:
      - type: gitlab
        id: gitlab-fulcio-test
        name: Gitlab
        config:
          clientID: your-gitlab-client-id # set ENV variable
          clientSecret: your-gitlab-client-secret # set ENV variable
          redirectURI: https://dex.testifysec.local/callback

fulcio:
  image:
    tag: v1.4.5
  enabled: true
  nameOverride: "judge-fulcio"
  server:
    volumes: []
    volumeMounts: []
    args:
      disable_ct_log: true
    ingress:
      http:
        enabled: true
        className: alb
        annotations:
          alb.ingress.kubernetes.io/scheme: internet-facing
          alb.ingress.kubernetes.io/target-type: ip
          alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]'
        hosts:
          - path: /
            host: "fulcio.testifysec.local"
      grpc:
        enabled: true
        className: alb
        annotations:
          alb.ingress.kubernetes.io/scheme: internet-facing
          alb.ingress.kubernetes.io/target-type: ip
          alb.ingress.kubernetes.io/backend-protocol-version: GRPC
          alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]'
        tls: []
        hosts:
          - host: fulcio.testifysec.local
            pathType: Prefix
            path: /dev.sigstore.fulcio.v2.CA
  config:
    contents: {"OIDCIssuers": { "https://dex.testifysec.local": { "IssuerURL": "https://dex.testifysec.local", "ClientID": "testifysec", "Type": "email" } }}

tsa:
  image:
    tag: v1.6.0
    version: v1.6.0
  enabled: true
  nameOverride: "judge-timestamp-server"
  server:
    args:
      signer: memory
    ingress:
      http:
        className: alb
        annotations:
          alb.ingress.kubernetes.io/scheme: internet-facing
          alb.ingress.kubernetes.io/target-type: ip
          alb.ingress.kubernetes.io/listen-ports: '[{"HTTPS":443}]'
        hosts:
          - path: /
            pathType: Prefix
            host: tsa.testifysec.local

mysql:
  image:
    tag: v1.6.0
  enabled: true
  nameOverride: "judge-mysql"

minio:
  image:
    tag: RELEASE.2024-04-18T19-09-19Z
  enabled: true
  nameOverride: "judge-minio"
  mc:
    nameOverride: "judge-mc"

TestifySec is an evidence-driven security and compliance platform that turns every software build into cryptographic proof, letting teams ship secure, audit-ready software at the speed of development.
+205-549-1368
Follow Us On
© 2025 TestifySec Inc.