원클릭으로
fluentbit-generator
// Generate/create Fluent Bit configs — INPUT, FILTER, OUTPUT, parsers, log pipeline.
// Generate/create Fluent Bit configs — INPUT, FILTER, OUTPUT, parsers, log pipeline.
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.
| 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.