@luminati-io/kubernetes-models-fluent-operator
Version:
Models for https://github.com/fluent/fluent-operator
411 lines (410 loc) • 15.1 kB
JavaScript
import { addSchema } from "@kubernetes-models/apimachinery/_schemas/IoK8sApimachineryPkgApisMetaV1ObjectMeta";
import { Model, setSchema, createTypeMetaGuard } from "@kubernetes-models/base";
import { register } from "@kubernetes-models/validate";
const schemaId = "fluentbit.fluent.io.v1alpha2.ClusterInput";
const schema = {
"type": "object",
"properties": {
"apiVersion": {
"type": "string",
"enum": [
"fluentbit.fluent.io/v1alpha2"
]
},
"kind": {
"type": "string",
"enum": [
"ClusterInput"
]
},
"metadata": {
"oneOf": [
{
"$ref": "io.k8s.apimachinery.pkg.apis.meta.v1.ObjectMeta#"
},
{
"type": "null"
}
]
},
"spec": {
"properties": {
"alias": {
"type": "string",
"nullable": true
},
"customPlugin": {
"properties": {
"config": {
"type": "string",
"nullable": true
}
},
"type": "object",
"nullable": true
},
"dummy": {
"properties": {
"dummy": {
"type": "string",
"nullable": true
},
"rate": {
"format": "int32",
"type": "integer",
"nullable": true
},
"samples": {
"format": "int32",
"type": "integer",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
}
},
"type": "object",
"nullable": true
},
"fluentBitMetrics": {
"properties": {
"scrapeInterval": {
"type": "string",
"nullable": true
},
"scrapeOnStart": {
"type": "boolean",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
}
},
"type": "object",
"nullable": true
},
"logLevel": {
"enum": [
"off",
"error",
"warning",
"info",
"debug",
"trace"
],
"type": "string",
"nullable": true
},
"nodeExporterMetrics": {
"properties": {
"path": {
"properties": {
"procfs": {
"type": "string",
"nullable": true
},
"sysfs": {
"type": "string",
"nullable": true
}
},
"type": "object",
"nullable": true
},
"scrapeInterval": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
}
},
"type": "object",
"nullable": true
},
"prometheusScrapeMetrics": {
"properties": {
"host": {
"type": "string",
"nullable": true
},
"metricsPath": {
"type": "string",
"nullable": true
},
"port": {
"format": "int32",
"type": "integer",
"minimum": 1,
"maximum": 65535,
"nullable": true
},
"scrapeInterval": {
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
}
},
"type": "object",
"nullable": true
},
"systemd": {
"properties": {
"db": {
"type": "string",
"nullable": true
},
"dbSync": {
"enum": [
"Extra",
"Full",
"Normal",
"Off"
],
"type": "string",
"nullable": true
},
"maxEntries": {
"type": "integer",
"nullable": true
},
"maxFields": {
"type": "integer",
"nullable": true
},
"path": {
"type": "string",
"nullable": true
},
"pauseOnChunksOverlimit": {
"enum": [
"on",
"off"
],
"type": "string",
"nullable": true
},
"readFromTail": {
"enum": [
"on",
"off"
],
"type": "string",
"nullable": true
},
"storageType": {
"enum": [
"filesystem",
"memory"
],
"type": "string",
"nullable": true
},
"stripUnderscores": {
"enum": [
"on",
"off"
],
"type": "string",
"nullable": true
},
"systemdFilter": {
"items": {
"type": "string"
},
"type": "array",
"nullable": true
},
"systemdFilterType": {
"enum": [
"And",
"Or"
],
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
}
},
"type": "object",
"nullable": true
},
"tail": {
"properties": {
"bufferChunkSize": {
"type": "string",
"pattern": "^\\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$",
"nullable": true
},
"bufferMaxSize": {
"type": "string",
"pattern": "^\\d+(k|K|KB|kb|m|M|MB|mb|g|G|GB|gb)?$",
"nullable": true
},
"db": {
"type": "string",
"nullable": true
},
"dbSync": {
"enum": [
"Extra",
"Full",
"Normal",
"Off"
],
"type": "string",
"nullable": true
},
"disableInotifyWatcher": {
"type": "boolean",
"nullable": true
},
"dockerMode": {
"type": "boolean",
"nullable": true
},
"dockerModeFlushSeconds": {
"format": "int64",
"type": "integer",
"nullable": true
},
"dockerModeParser": {
"type": "string",
"nullable": true
},
"excludePath": {
"type": "string",
"nullable": true
},
"ignoredOlder": {
"type": "string",
"pattern": "^\\d+(m|h|d)?$",
"nullable": true
},
"key": {
"type": "string",
"nullable": true
},
"memBufLimit": {
"type": "string",
"nullable": true
},
"multiline": {
"type": "boolean",
"nullable": true
},
"multilineFlushSeconds": {
"format": "int64",
"type": "integer",
"nullable": true
},
"multilineParser": {
"type": "string",
"nullable": true
},
"parser": {
"type": "string",
"nullable": true
},
"parserFirstline": {
"type": "string",
"nullable": true
},
"parserN": {
"items": {
"type": "string"
},
"type": "array",
"nullable": true
},
"path": {
"type": "string",
"nullable": true
},
"pathKey": {
"type": "string",
"nullable": true
},
"pauseOnChunksOverlimit": {
"enum": [
"on",
"off"
],
"type": "string",
"nullable": true
},
"readFromHead": {
"type": "boolean",
"nullable": true
},
"refreshIntervalSeconds": {
"format": "int64",
"type": "integer",
"nullable": true
},
"rotateWaitSeconds": {
"format": "int64",
"type": "integer",
"nullable": true
},
"skipLongLines": {
"type": "boolean",
"nullable": true
},
"storageType": {
"enum": [
"filesystem",
"memory"
],
"type": "string",
"nullable": true
},
"tag": {
"type": "string",
"nullable": true
},
"tagRegex": {
"type": "string",
"nullable": true
}
},
"type": "object",
"nullable": true
}
},
"type": "object",
"nullable": true
}
},
"required": [
"apiVersion",
"kind"
]
};
/**
* ClusterInput is the Schema for the inputs API
*/
export class ClusterInput extends Model {
constructor(data) {
super({
apiVersion: ClusterInput.apiVersion,
kind: ClusterInput.kind,
...data
});
}
}
ClusterInput.apiVersion = "fluentbit.fluent.io/v1alpha2";
ClusterInput.kind = "ClusterInput";
ClusterInput.is = createTypeMetaGuard(ClusterInput);
setSchema(ClusterInput, schemaId, () => {
addSchema();
register(schemaId, schema);
});