بنقرة واحدة
fluentbit-generator
// Generate/create Fluent Bit configs — INPUT, FILTER, OUTPUT, parsers, log pipeline.
// Generate/create Fluent Bit configs — INPUT, FILTER, OUTPUT, parsers, log pipeline.
| name | fluentbit-generator |
| description | Generate/create Fluent Bit configs — INPUT, FILTER, OUTPUT, parsers, log pipeline. |
Use this skill when the user asks for any of the following:
fluent-bit.conf, parsers.conf)Do not use this skill for pure validation-only requests; use fluentbit-validator in that case.
Follow this sequence exactly. Do not skip stages.
Use one of these deterministic command patterns.
# Option A (recommended): run from this skill directory
cd /Users/akinozer/GolandProjects/cc-devops-skills/devops-skills-plugin/skills/fluentbit-generator
python3 scripts/generate_config.py --help
# Option B: run from any cwd with absolute paths
python3 /Users/akinozer/GolandProjects/cc-devops-skills/devops-skills-plugin/skills/fluentbit-generator/scripts/generate_config.py --help
Preflight checks:
python3 is available.Fallback:
python3 or script execution is unavailable, switch to manual generation flow (Stage 4) using examples/ templates.Collect these fields before generation.
Required questions:
kubernetes, application logs, syslog, http ingest, metrics, or custom?tail /var/log/containers/*.log)?Optional but important:
If any required answer is missing, ask focused follow-up questions before generating.
Use this decision table.
| Condition | Path |
|---|---|
| Request matches a built-in use case and only needs supported flags | Script path (Stage 5) |
| Request needs uncommon plugin options not represented by script flags | Manual path (Stage 4) |
| Complex multi-filter chain, custom parser/lua logic, or specialized plugin tuning | Manual path (Stage 4) |
| Script cannot run in environment (missing Python/permissions) | Manual path (Stage 4) |
| User explicitly requests hand-crafted config | Manual path (Stage 4) |
Supported script use cases:
kubernetes-elasticsearchkubernetes-lokikubernetes-cloudwatchkubernetes-opentelemetryapplication-multilinesyslog-forwardfile-tail-s3http-kafkamulti-destinationprometheus-metricslua-filteringstream-processorcustomAlways state the decision explicitly, including why the other path was not used.
examples/ first.examples/parsers.conf before defining new parsers.[SERVICE][INPUT][FILTER][OUTPUT]Required local template selection:
examples/kubernetes-elasticsearch.confexamples/kubernetes-loki.confexamples/cloudwatch.confexamples/kubernetes-opentelemetry.confexamples/application-multiline.confexamples/syslog-forward.confexamples/file-tail-s3.confexamples/http-input-kafka.confexamples/multi-destination.confexamples/prometheus-metrics.confexamples/lua-filtering.confexamples/stream-processor.confexamples/parsers.confFallback:
scripts/generate_config.py --use-case custom output shape and extend manually.Run from skill directory unless output path is absolute.
cd /Users/akinozer/GolandProjects/cc-devops-skills/devops-skills-plugin/skills/fluentbit-generator
# Kubernetes -> Elasticsearch
python3 scripts/generate_config.py \
--use-case kubernetes-elasticsearch \
--cluster-name prod-cluster \
--environment production \
--es-host elasticsearch.logging.svc \
--es-port 9200 \
--output output/fluent-bit.conf
# Kubernetes -> OpenTelemetry
python3 scripts/generate_config.py \
--use-case kubernetes-opentelemetry \
--cluster-name prod-cluster \
--environment production \
--otlp-endpoint otel-collector.observability.svc:4318 \
--output output/fluent-bit-otlp.conf
# File tail -> S3
python3 scripts/generate_config.py \
--use-case file-tail-s3 \
--log-path /var/log/app/*.log \
--s3-bucket my-logs-bucket \
--s3-region us-east-1 \
--output output/fluent-bit-s3.conf
Fallback:
Use this strict order when plugin behavior or parameters are uncertain.
https://docs.fluentbit.io/manual and plugin-specific pages.When to stop escalating:
examples/ and clearly mark assumptions.Primary validation path:
fluentbit-validator after generation.If validator is unavailable, run local fallback checks:
# Syntax/format smoke check when fluent-bit is installed
fluent-bit -c <generated-config> --dry-run
# Optional execution test
fluent-bit -c <generated-config>
If fluent-bit binary is missing:
[SERVICE], [INPUT], [FILTER], [OUTPUT])Always return:
script or manual) and reason.This skill execution is complete only when all are true:
scripts/generate_config.pyexamples/*.confexamples/parsers.confoutput/Use these resources first before introducing new structure.
Generate, create, or scaffold Ansible playbooks, roles, tasks, handlers, inventory, vars.
Validate, lint, audit, or debug Ansible playbooks, roles, inventories, FQCN, tasks.
Generate/create/scaffold azure-pipelines.yml, stages, jobs, steps, or reusable templates.
Validate, lint, audit, or review azure-pipelines.yml — syntax, security, best practices.
Validate, lint, audit, or check Fluent Bit configs (INPUT, FILTER, OUTPUT, tag routing).
Create, generate, or scaffold .gitlab-ci.yml pipelines, stages, and jobs.