kaxil commented on a change in pull request #7130: [AIRFLOW-6533] Add cli
commands to manage config
URL: https://github.com/apache/airflow/pull/7130#discussion_r365491410
##########
File path: airflow/cli/commands/config_command.py
##########
@@ -17,11 +17,54 @@
"""Config sub-commands"""
import io
-from airflow.configuration import conf
+from configupdater import ConfigUpdater, NoSectionError
+
+from airflow.configuration import AIRFLOW_CONFIG, AirflowConfigException, conf
def show_config(args):
"""Show current application configuration"""
with io.StringIO() as output:
- conf.write(output)
+ if args.section:
+ section = args.section
+ if conf.has_section(section):
+ conf._write_section( # pylint: disable=protected-access
+ fp=output,
+ section_name=section,
+ section_items=conf.getsection(section).items(),
+ delimiter=" = "
+ )
+ else:
+ raise AirflowConfigException(f"No section '{section}'")
+ else:
+ conf.write(output)
print(output.getvalue())
+
+
+def set_config_option(args):
+ """Set option in config"""
Review comment:
For example, check this popular Ansible role to install Airflow:
https://github.com/idealista/airflow-role/blob/master/tasks/config.yml#L23-L35
It uses **0640** permissions just for **airflow** user and **airflow** group
and is run via systemd.
So no other user can edit/view this file.
----------------------------------------------------------------
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.
For queries about this service, please contact Infrastructure at:
[email protected]
With regards,
Apache Git Services