UNCLASSIFIED - NO CUI

Skip to content
Snippets Groups Projects
values.schema.json 58.7 KiB
Newer Older
Micah Nagel's avatar
Micah Nagel committed
{
  "$id": "http://bigbang.dev/bigbang.json",
  "type": "object",
  "default": {},
  "title": "Big Bang Root Schema",
  "required": [
    "domain",
    "offline",
    "helmRepositories",
    "registryCredentials",
    "openshift",
    "git",
    "sso",
    "flux",
    "networkPolicies",
    "imagePullPolicy",
    "istio",
    "istioOperator",
    "jaeger",
    "kiali",
    "clusterAuditor",
    "gatekeeper",
    "kyverno",
    "kyvernoPolicies",
    "kyvernoReporter",
    "elasticsearchKibana",
    "eckOperator",
    "fluentbit",
    "promtail",
    "loki",
    "neuvector",
    "tempo",
    "monitoring",
Micah Nagel's avatar
Micah Nagel committed
    "twistlock",
    "addons"
  ],
  "additionalProperties": false,
  "properties": {
    "comments": {
      "type": "string"
    },
Micah Nagel's avatar
Micah Nagel committed
    "domain": {
      "type": "string"
    },
    "offline": {
      "type": "boolean"
    },
    "registryCredentials": {
      "oneOf": [
        {
          "$ref": "#/$defs/registryCredential"
        },
        {
          "type": "array",
          "items": {
            "$ref": "#/$defs/registryCredential"
          },
          "minItems": 1
        }
      ]
    },
    "helmRepositories": {
      "$ref": "#/$defs/helmRepositories"
    },
    "openshift": {
      "type": "boolean"
    },
    "git": {
      "type": "object",
      "properties": {
        "existingSecret": {
          "type": "string"
        },
        "credentials": {
          "type": "object",
          "properties": {
            "username": {
              "type": "string"
            },
            "password": {
              "type": "string"
            },
            "caFile": {
              "type": "string"
            },
            "privateKey": {
              "type": "string"
            },
            "publicKey": {
              "type": "string"
            },
            "knownHosts": {
              "type": "string"
            }
          },
          "required": [],
          "anyOf": [
            {
              "required": [
                "username",
                "password"
              ]
            },
            {
              "required": [
                "privateKey",
                "publicKey",
                "knownHosts"
              ]
            }
          ],
          "additionalProperties": false
        }
      },
      "anyOf": [
        {
          "required": [
            "existingSecret"
          ]
        },
        {
          "required": [
            "credentials"
          ]
        }
      ],
      "additionalProperties": false
    },
    "sso": {
      "type": "object",
      "properties": {
        "name": {
          "type": "string"
        },
        "url": {
          "type": "string"
        },
        "certificateAuthority": {
          "type": "object",
          "properties": {
            "cert": {
              "type": "string"
            },
            "secretName": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "saml": {
          "type": "object",
          "properties": {
            "entityDescriptor": {
              "type": "string"
            },
            "service": {
              "type": "string"
            },
            "metadata": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "oidc": {
          "type": "object",
          "properties": {
            "authorization": {
              "type": "string"
            },
            "endSession": {
              "type": "string"
            },
            "jwksUri": {
              "type": "string"
            },
            "token": {
              "type": "string"
            },
            "userinfo": {
              "type": "string"
            },
            "jwks": {
              "type": "string"
            },
            "claims": {
              "type": "object",
              "properties": {
                "email": {
                  "type": "string"
                },
                "name": {
                  "type": "string"
                },
                "username": {
                  "type": "string"
                },
                "groups": {
                  "type": "string"
                }
              }
            }
          }
        },
        "additionalProperties": false
      }
    },
    "flux": {
      "$ref": "#/$defs/flux"
    },
    "networkPolicies": {
      "type": "object",
      "properties": {
        "enabled": {
          "type": "boolean"
        },
        "controlPlaneCidr": {
          "type": "string"
        },
        "nodeCidr": {
          "type": "string"
        },
        "vpcCidr": {
          "type": "string"
        }
      },
      "required": [
        "enabled"
      ]
    },
    "imagePullPolicy": {
      "type": "string",
      "enum": [
        "Never",
        "Always",
        "IfNotPresent"
      ]
    },
    "istio": {
      "properties": {
        "enabled": true,
Micah Nagel's avatar
Micah Nagel committed
        "sourceType": true,
        "git": true,
        "helmRepo": true,
        "flux": true,
        "values": true,
        "postRenderers": true,
        "enterprise": {
          "type": "boolean"
        },
        "ingressGateways": {
          "type": "object"
        },
        "gateways": {
          "type": "object"
        }
      },
      "allOf": [
        {
          "$ref": "#/$defs/basePackage"
        }
      ],
      "additionalProperties": false
    },
    "istioOperator": {
      "properties": {
        "enabled": true,
        "sourceType": true,
        "git": true,
        "helmRepo": true,
        "flux": true,
        "values": true,
        "postRenderers": true
      },
      "allOf": [
        {
          "$ref": "#/$defs/basePackage"
        }
      ],
      "additionalProperties": false
    },
    "jaeger": {
      "required": [
        "sso",
        "ingress"
      ],
      "properties": {
        "enabled": true,
        "sourceType": true,
        "git": true,
        "helmRepo": true,
        "flux": true,
        "values": true,
        "postRenderers": true,
        "sso": {
          "$ref": "#/$defs/sso"
        },
        "ingress": {
          "$ref": "#/$defs/ingress"
        }
      },
      "allOf": [
        {
          "$ref": "#/$defs/basePackage"
        }
      ],
      "additionalProperties": false
    },
    "kiali": {
      "required": [
        "sso",
        "ingress"
      ],
      "properties": {
        "enabled": true,
        "sourceType": true,
        "git": true,
        "helmRepo": true,
        "flux": true,
        "values": true,
        "postRenderers": true,
        "sso": {
          "$ref": "#/$defs/sso"
        },
        "ingress": {
          "$ref": "#/$defs/ingress"
        }
      },
      "allOf": [
        {
          "$ref": "#/$defs/basePackage"
        }
      ],
      "additionalProperties": false
    },
    "clusterAuditor": {
      "properties": {
        "enabled": true,
        "sourceType": true,
        "git": true,
        "helmRepo": true,
        "flux": true,
        "values": true,
        "postRenderers": true
      },
      "allOf": [
        {
          "$ref": "#/$defs/basePackage"
        }
      ],
      "additionalProperties": false
    },
    "gatekeeper": {
      "properties": {
        "enabled": true,
        "sourceType": true,
        "git": true,
        "helmRepo": true,
        "flux": true,
        "values": true,
        "postRenderers": true
      },
      "allOf": [
        {
          "$ref": "#/$defs/basePackage"
        }
      ],
      "additionalProperties": false
    },
    "kyverno": {
      "properties": {
        "enabled": true,
        "sourceType": true,
        "git": true,
        "helmRepo": true,
        "flux": true,
        "values": true,
        "postRenderers": true
      },
      "allOf": [
        {
          "$ref": "#/$defs/basePackage"
        }
      ],
      "additionalProperties": false
    },
    "kyvernoPolicies": {
      "properties": {
        "enabled": true,
        "sourceType": true,
        "git": true,
        "helmRepo": true,
        "flux": true,
        "values": true,
        "postRenderers": true
      },
      "allOf": [
        {
          "$ref": "#/$defs/basePackage"
        }
      ],
      "additionalProperties": false
    },
    "kyvernoReporter": {
      "properties": {
        "enabled": true,
        "sourceType": true,
        "git": true,
        "helmRepo": true,
        "flux": true,
        "values": true,
        "postRenderers": true
      },
      "allOf": [
        {
          "$ref": "#/$defs/basePackage"
        }
      ],
      "additionalProperties": false
    },
    "elasticsearchKibana": {
      "required": [
        "sso",
        "ingress"
      ],
      "properties": {
        "enabled": true,
        "sourceType": true,
        "git": true,
        "helmRepo": true,
        "flux": true,
        "values": true,
        "postRenderers": true,
        "sso": {
          "$ref": "#/$defs/sso"
        },
        "ingress": {
          "$ref": "#/$defs/ingress"
        },
        "license": {
          "properties": {
            "trial": {
              "type": "boolean"
            },
            "keyJSON": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "serviceAccountAnnotations": {
          "properties": {
            "elasticsearch": true,
            "kibana": true
          }
Micah Nagel's avatar
Micah Nagel committed
        }
      },
      "allOf": [
        {
          "$ref": "#/$defs/basePackage"
        }
      ],
      "additionalProperties": false
    },
    "eckOperator": {
      "properties": {
        "enabled": true,
        "sourceType": true,
        "git": true,
        "helmRepo": true,
        "flux": true,
        "values": true,
        "postRenderers": true
      },
      "allOf": [
        {
          "$ref": "#/$defs/basePackage"
        }
      ],
      "additionalProperties": false
    },
    "fluentbit": {
      "properties": {
        "enabled": true,
        "sourceType": true,
        "git": true,
        "helmRepo": true,
        "flux": true,
        "values": true,
        "postRenderers": true
      },
      "allOf": [
        {
          "$ref": "#/$defs/basePackage"
        }
      ],
      "additionalProperties": false
    },
    "promtail": {
      "properties": {
        "enabled": true,
        "sourceType": true,
        "git": true,
        "helmRepo": true,
        "flux": true,
        "values": true,
        "postRenderers": true
      },
      "allOf": [
        {
          "$ref": "#/$defs/basePackage"
        }
      ],
      "additionalProperties": false
    },
    "loki": {
      "required": [
        "strategy",
        "objectStorage"
      ],
      "allOf": [
        {
          "$ref": "#/$defs/basePackage"
        }
      ],
      "properties": {
        "enabled": true,
Micah Nagel's avatar
Micah Nagel committed
        "sourceType": true,
        "git": true,
        "helmRepo": true,
        "flux": true,
        "values": true,
        "postRenderers": true,
        "strategy": {
          "type": "string",
          "enum": [
            "monolith",
Jimmy Ungerman's avatar
Jimmy Ungerman committed
            "scalable",
            "distributed"
Micah Nagel's avatar
Micah Nagel committed
          ]
        },
        "objectStorage": {
          "type": "object",
          "required": [
            "endpoint",
            "region",
            "accessKey",
            "accessSecret",
            "bucketNames"
          ],
          "properties": {
            "endpoint": {
              "type": "string"
            },
            "region": {
              "type": "string"
            },
            "accessKey": {
              "type": "string"
            },
            "accessSecret": {
              "type": "string"
            },
            "bucketNames": {
              "type": "object"
            }
          }
        }
      },
      "additionalProperties": false
    },
    "neuvector": {
      "allOf": [
        {
          "$ref": "#/$defs/basePackage"
        }
      ],
      "properties": {
        "enabled": true,
        "sourceType": true,
        "git": true,
        "helmRepo": true,
        "flux": true,
        "values": true,
        "postRenderers": true,
        "istio": {
          "$ref": "#/$defs/istio"
        },
        "ingress": {
          "$ref": "#/$defs/ingress"
        },
Micah Nagel's avatar
Micah Nagel committed
        "sso": {
          "type": "object",
          "required": [
            "enabled",
            "client_id",
            "client_secret"
          ],
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "client_id": {
              "type": "string"
            },
            "client_secret": {
              "type": "string"
            },
            "default_role": {
              "type": "string"
            },
            "issuer": {
              "type": "string"
            },
            "group_claim": {
              "type": "string"
            },
            "group_mapped_roles": {
              "type": "array",
              "items": {
                "type": "object",
                "properties": {
                  "group": {
                    "type": "string"
                  },
                  "global_role":{
                    "type": "string"
                  }
                }
              }
Micah Nagel's avatar
Micah Nagel committed
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "tempo": {
      "allOf": [
        {
          "$ref": "#/$defs/basePackage"
        }
      ],
      "properties": {
        "enabled": true,
        "sourceType": true,
        "git": true,
        "helmRepo": true,
        "flux": true,
        "values": true,
        "postRenderers": true,
        "sso": {
          "$ref": "#/$defs/sso"
        },
        "ingress": {
          "$ref": "#/$defs/ingress"
        },
        "objectStorage": {
          "type": "object",
          "required": [
            "endpoint",
            "region",
            "accessKey",
            "accessSecret",
            "bucket",
            "insecure"
          ],
          "properties": {
            "endpoint": {
              "type": "string"
            },
            "region": {
              "type": "string"
            },
            "accessKey": {
              "type": "string"
            },
            "accessSecret": {
              "type": "string"
            },
            "bucket": {
              "type": "string"
            },
            "insecure": {
              "type": "boolean"
            }
          }
        }
      },
      "additionalProperties": false
    },
    "monitoring": {
      "allOf": [
        {
          "$ref": "#/$defs/basePackage"
        }
      ],
      "properties": {
        "enabled": true,
        "sourceType": true,
        "git": true,
        "helmRepo": true,
        "flux": true,
        "values": true,
        "postRenderers": true,
        "istio": {
          "$ref": "#/$defs/istio"
Micah Nagel's avatar
Micah Nagel committed
        },
        "ingress": {
          "$ref": "#/$defs/ingress"
        },
        "sso": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "prometheus": {
              "type": "object",
              "properties": {
                "client_id": {
                  "type": "string"
                },
                "client_secret": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            "alertmanager": {
              "type": "object",
              "properties": {
                "client_id": {
                  "type": "string"
                },
                "client_secret": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            },
            "grafana": {
              "type": "object",
              "properties": {
                "client_id": {
                  "type": "string"
                },
                "client_secret": {
                  "type": "string"
                },
                "scopes": {
                  "type": "string"
                },
                "allow_sign_up": {
Micah Nagel's avatar
Micah Nagel committed
                },
                "role_attribute_path": {
                  "type": "string"
                },
                "token_url": {
                  "type": "string"
                },
                "auth_url": {
                  "type": "string"
                },
                "api_url": {
                  "type": "string"
                },
                "tls_client_ca": {
                  "type": "string"
                },
                "tls_skip_verify_insecure": {
                  "type": "boolean"
                },
                "tls_client_cert": {
                  "type": "string"
                },
                "tls_client_key": {
                  "type": "string"
                },
                "allowed_domains": {
                  "type": "string"
Micah Nagel's avatar
Micah Nagel committed
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
    "grafana": {
      "allOf": [
        {
          "$ref": "#/$defs/basePackage"
        }
      ],
      "properties": {
        "enabled": true,
        "sourceType": true,
        "git": true,
        "helmRepo": true,
        "flux": true,
        "values": true,
        "postRenderers": true,
        "istio": {
          "$ref": "#/$defs/istio"
        },
        "ingress": {
          "$ref": "#/$defs/ingress"
        },
        "sso": {
          "type": "object",
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "grafana": {
              "type": "object",
              "properties": {
                "client_id": {
                  "type": "string"
                },
                "client_secret": {
                  "type": "string"
                },
                "scopes": {
                  "type": "string"
                },
                "allow_sign_up": {
                  "type": "boolean"
                },
                "role_attribute_path": {
                  "type": "string"
                },
                "token_url": {
                  "type": "string"
                },
                "auth_url": {
                  "type": "string"
                },
                "api_url": {
                  "type": "string"
                },
                "tls_client_ca": {
                  "type": "string"
                },
                "tls_skip_verify_insecure": {
                  "type": "boolean"
                },
                "tls_client_cert": {
                  "type": "string"
                },
                "tls_client_key": {
                  "type": "string"
                },
                "allowed_domains": {
                  "type": "string"
                }
              },
              "additionalProperties": false
            }
          },
          "additionalProperties": false
        }
      },
      "additionalProperties": false
    },
Micah Nagel's avatar
Micah Nagel committed
    "twistlock": {
      "allOf": [
        {
          "$ref": "#/$defs/basePackage"
        }
      ],
      "properties": {
        "enabled": true,
        "sourceType": true,
        "git": true,
        "helmRepo": true,
        "flux": true,
        "values": true,
        "postRenderers": true,
        "sso": {
          "type": "object",
          "required": [
            "enabled",
            "client_id",
            "provider_type"
          ],
          "properties": {
            "enabled": {
              "type": "boolean"
            },
            "client_id": {
              "type": "string"
            },
            "provider_type": {
              "type": "string"
            },
            "provider_name": {
              "type": "string"
            },
            "groups": {
              "type": "string"
            },
            "issuer_uri": {
              "type": "string"
            },
            "idp_url": {
              "type": "string"
            },
            "console_url": {
              "type": "string"
            },
            "cert": {
              "type": "string"
            }
          },
          "additionalProperties": false
        },
        "ingress": {
          "$ref": "#/$defs/ingress"
        }
      },
      "additionalProperties": false
    },
    "addons": {
      "type": "object",
      "properties": {
        "argocd": {
          "allOf": [
            {
              "$ref": "#/$defs/basePackage"
            }
          ]
        },
        "authservice": {
          "allOf": [
            {
              "$ref": "#/$defs/basePackage"
            }
          ]
        },
        "minioOperator": {
          "allOf": [
            {
              "$ref": "#/$defs/basePackage"
            }
          ]
        },
        "minio": {
          "allOf": [
            {
              "$ref": "#/$defs/basePackage"
            }
          ]
        },
        "gitlab": {
          "allOf": [
            {
              "$ref": "#/$defs/basePackage"
            }
          ]
        },
        "gitlabRunner": {
          "allOf": [
            {
              "$ref": "#/$defs/basePackage"
            }
          ]
        },
        "nexusRepositoryManager": {
          "allOf": [
            {
              "$ref": "#/$defs/basePackage"
            }
          ]
        },
        "sonarqube": {
          "allOf": [
            {
              "$ref": "#/$defs/basePackage"
            }
          ]
        },
        "fortify": {
          "allOf": [
            {
              "$ref": "#/$defs/basePackage"
            }
          ]
        },