## Problem
The helm chart does not implement a way for SequentialExecutor Airflow 2 deployments to serve logs; without using elasticsearch.

## Details
Prior implementations utilize the CLI function `serve_logs`. This function has been deprecated as of v2.

In `airflow/templates/scheduler/scheduler-deployment.yaml`:
```yaml
    181 {{- if and $local (not $elasticsearch) }}
    182         # Start the sidecar log server if we're in local mode and
    183         # we don't have elasticsearch enabled.
    184         - name: scheduler-logs
    185           image: {{ template "airflow_image" . }}
    186           imagePullPolicy: {{ .Values.images.airflow.pullPolicy }}
    187           args: ["serve_logs"]
```

This will cause the helm deployment to break; and the scheduler will perpetually fail to start the `scheduler-logs` container inside of the scheduler deployment.

Snippet from airflow [upgrade guide](https://airflow.apache.org/docs/apache-airflow/stable/upgrading-to-2.html).

```
Remove serve_logs command from CLI

The serve_logs command has been deleted. This command should be run only by internal application mechanisms and there is no need for it to be accessible from the CLI interface.
```

## Partial Solution
Not sure how the non-elastic method for serving logs going forward.

Astronomer branches yaml by:
```yaml
{{- if semverCompare ">=1.10.12" .Values.airflowVersion }}
...
{{- else }}
...
{{- end }}
```
airflow/cli/cli_parser.py
ARG_VAR_VALUE = Arg(("value",), metavar='VALUE', help="Variable value")
ARG_DEFAULT = Arg(
    ("-d", "--default"), metavar="VAL", default=None, help="Default value returned if variable does not exist"
)
ARG_JSON = Arg(("-j", "--json"), help="Deserialize JSON variable", action="store_true")
ARG_VAR_IMPORT = Arg(("file",), help="Import variables from JSON file")
ARG_VAR_EXPORT = Arg(("file",), help="Export all variables to JSON file")
ARG_PRINCIPAL = Arg(("principal",), help="kerberos principal", nargs='?')
ARG_KEYTAB = Arg(("-k", "--keytab"), help="keytab", nargs='?', default=conf.get('kerberos', 'keytab'))
ARG_INTERACTIVE = Arg(
    ('-N', '--interactive'),
    help='Do not capture standard output and error streams (useful for interactive debugging)',
    action='store_true',
)
ARG_FORCE = Arg(
    ("-f", "--force"),
    help="Ignore previous task instance state, rerun regardless if task already succeeded/failed",
    action="store_true",
)
ARG_RAW = Arg(("-r", "--raw"), argparse.SUPPRESS, "store_true")
ARG_IGNORE_ALL_DEPENDENCIES = Arg(
    ("-A", "--ignore-all-dependencies"),
    help="Ignores all non-critical dependencies, including ignore_ti_state and ignore_task_deps",
    action="store_true",
)
ARG_IGNORE_DEPENDENCIES = Arg(
    ("-i", "--ignore-dependencies"),
    help="Ignore task-specific dependencies, e.g. upstream, depends_on_past, and retry delay dependencies",
    action="store_true",
)