def _register_sensor_container_opts(ignore_errors=False):
    logging_opts = [
        cfg.StrOpt('logging',
                   default='conf/logging.sensorcontainer.conf',
                   help='location of the logging.conf file')
    ]
    st2cfg.do_register_opts(logging_opts,
                            group='sensorcontainer',
                            ignore_errors=ignore_errors)

    partition_opts = [
        cfg.StrOpt('sensor_node_name',
                   default='sensornode1',
                   help='name of the sensor node.'),
        cfg.Opt('partition_provider',
                type=types.Dict(value_type=types.String()),
                default={'name': DEFAULT_PARTITION_LOADER},
                help='Provider of sensor node partition config.')
    ]
    st2cfg.do_register_opts(partition_opts,
                            group='sensorcontainer',
                            ignore_errors=ignore_errors)

    sensor_test_opt = cfg.StrOpt(
        'sensor-ref',
        help='Only run sensor with the provided reference. \
        Value is of the form pack.sensor-name.')
    st2cfg.do_register_cli_opts(sensor_test_opt, ignore_errors=ignore_errors)
Example #2
0
def _register_service_opts(ignore_errors=False):
    wf_engine_opts = [
        cfg.StrOpt(
            "logging",
            default="/etc/st2/logging.workflowengine.conf",
            help="Location of the logging configuration file.",
        )
    ]

    common_config.do_register_opts(wf_engine_opts, group="workflow_engine")
Example #3
0
def _register_notifier_opts(ignore_errors=False):
    notifier_opts = [
        cfg.StrOpt(
            "logging",
            default="/etc/st2/logging.notifier.conf",
            help="Location of the logging configuration file.",
        )
    ]

    common_config.do_register_opts(notifier_opts,
                                   group="notifier",
                                   ignore_errors=ignore_errors)
Example #4
0
def _register_rules_engine_opts(ignore_errors=False):
    logging_opts = [
        cfg.StrOpt(
            "logging",
            default="/etc/st2/logging.rulesengine.conf",
            help="Location of the logging configuration file.",
        )
    ]

    common_config.do_register_opts(logging_opts,
                                   group="rulesengine",
                                   ignore_errors=ignore_errors)
Example #5
0
def _register_service_opts(ignore_errors=False):
    scheduler_opts = [
        cfg.StrOpt(
            "logging",
            default="/etc/st2/logging.scheduler.conf",
            help="Location of the logging configuration file.",
        ),
        cfg.FloatOpt(
            "execution_scheduling_timeout_threshold_min",
            default=1,
            help=
            "How long GC to search back in minutes for orphaned scheduled actions",
        ),
        cfg.IntOpt(
            "pool_size",
            default=10,
            help=
            "The size of the pool used by the scheduler for scheduling executions.",
        ),
        cfg.FloatOpt(
            "sleep_interval",
            default=0.10,
            help=
            "How long (in seconds) to sleep between each action scheduler main loop run "
            "interval.",
        ),
        cfg.FloatOpt(
            "gc_interval",
            default=10,
            help=
            "How often (in seconds) to look for zombie execution requests before rescheduling "
            "them.",
        ),
        cfg.IntOpt(
            "retry_max_attempt",
            default=10,
            help=
            "The maximum number of attempts that the scheduler retries on error.",
        ),
        cfg.IntOpt(
            "retry_wait_msec",
            default=3000,
            help="The number of milliseconds to wait in between retries.",
        ),
    ]

    common_config.do_register_opts(scheduler_opts,
                                   group="scheduler",
                                   ignore_errors=ignore_errors)
Example #6
0
def _register_sensor_container_opts(ignore_errors=False):
    logging_opts = [
        cfg.StrOpt('logging', default='conf/logging.sensorcontainer.conf',
                   help='location of the logging.conf file')
    ]
    st2cfg.do_register_opts(logging_opts, group='sensorcontainer', ignore_errors=ignore_errors)

    partition_opts = [
        cfg.StrOpt('sensor_node_name', default='sensornode1',
                   help='name of the sensor node.'),
        cfg.Opt('partition_provider', type=types.Dict(value_type=types.String()),
                default={'name': DEFAULT_PARTITION_LOADER},
                help='Provider of sensor node partition config.')
    ]
    st2cfg.do_register_opts(partition_opts, group='sensorcontainer', ignore_errors=ignore_errors)

    sensor_test_opt = cfg.StrOpt('sensor-ref', help='Only run sensor with the provided reference. \
        Value is of the form pack.sensor-name.')
    st2cfg.do_register_cli_opts(sensor_test_opt, ignore_errors=ignore_errors)
Example #7
0
def _register_app_opts(ignore_errors=False):
    # Note "host", "port", "allow_origin", "mask_secrets" options are registered as part of
    # st2common config since they are also used outside st2api
    static_root = os.path.join(cfg.CONF.system.base_path, "static")
    template_path = os.path.join(BASE_DIR, "templates/")

    pecan_opts = [
        cfg.StrOpt(
            "root",
            default="st2api.controllers.root.RootController",
            help="Action root controller",
        ),
        cfg.StrOpt("static_root", default=static_root),
        cfg.StrOpt("template_path", default=template_path),
        cfg.ListOpt("modules", default=["st2api"]),
        cfg.BoolOpt("debug", default=False),
        cfg.BoolOpt("auth_enable", default=True),
        cfg.DictOpt("errors", default={"__force_dict__": True}),
    ]

    common_config.do_register_opts(pecan_opts,
                                   group="api_pecan",
                                   ignore_errors=ignore_errors)

    logging_opts = [
        cfg.BoolOpt("debug", default=False),
        cfg.StrOpt(
            "logging",
            default="/etc/st2/logging.api.conf",
            help="location of the logging.conf file",
        ),
        cfg.IntOpt(
            "max_page_size",
            default=100,
            help="Maximum limit (page size) argument which can be "
            "specified by the user in a query string.",
        ),
    ]

    common_config.do_register_opts(logging_opts,
                                   group="api",
                                   ignore_errors=ignore_errors)
Example #8
0
def _register_sensor_container_opts(ignore_errors=False):
    logging_opts = [
        cfg.StrOpt('logging',
                   default='conf/logging.sensorcontainer.conf',
                   help='location of the logging.conf file')
    ]

    st2cfg.do_register_opts(logging_opts,
                            group='sensorcontainer',
                            ignore_errors=ignore_errors)

    # Partitioning options
    partition_opts = [
        cfg.StrOpt('sensor_node_name',
                   default='sensornode1',
                   help='name of the sensor node.'),
        cfg.Opt('partition_provider',
                type=types.Dict(value_type=types.String()),
                default={'name': DEFAULT_PARTITION_LOADER},
                help='Provider of sensor node partition config.')
    ]

    st2cfg.do_register_opts(partition_opts,
                            group='sensorcontainer',
                            ignore_errors=ignore_errors)

    # Other options
    other_opts = [
        cfg.BoolOpt(
            'single_sensor_mode',
            default=False,
            help=
            'Run in a single sensor mode where parent process exits when a sensor crashes / '
            'dies. This is useful in environments where partitioning, sensor process life '
            'cycle and failover is handled by a 3rd party service such as kubernetes.'
        )
    ]

    st2cfg.do_register_opts(other_opts,
                            group='sensorcontainer',
                            ignore_errors=ignore_errors)

    # CLI options
    cli_opts = [
        cfg.StrOpt(
            'sensor-ref',
            help=
            'Only run sensor with the provided reference. Value is of the form '
            '<pack>.<sensor-name> (e.g. linux.FileWatchSensor).'),
        cfg.BoolOpt(
            'single-sensor-mode',
            default=False,
            help=
            'Run in a single sensor mode where parent process exits when a sensor crashes / '
            'dies. This is useful in environments where partitioning, sensor process life '
            'cycle and failover is handled by a 3rd party service such as kubernetes.'
        )
    ]

    st2cfg.do_register_cli_opts(cli_opts, ignore_errors=ignore_errors)
Example #9
0
def _register_sensor_container_opts(ignore_errors=False):
    logging_opts = [
        cfg.StrOpt('logging', default='conf/logging.sensorcontainer.conf',
                   help='location of the logging.conf file')
    ]
    st2cfg.do_register_opts(logging_opts, group='sensorcontainer', ignore_errors=ignore_errors)

    sensor_test_opt = cfg.StrOpt('sensor-name', help='Only run sensor with the provided name.')
    st2cfg.do_register_cli_opts(sensor_test_opt, ignore_errors=ignore_errors)

    st2_webhook_opts = [
        cfg.StrOpt('host', default='0.0.0.0', help='Host for the st2 webhook endpoint.'),
        cfg.IntOpt('port', default='6000', help='Port for the st2 webhook endpoint.'),
        cfg.StrOpt('url', default='/webhooks/st2/', help='URL of the st2 webhook endpoint.')
    ]
    st2cfg.do_register_opts(st2_webhook_opts, group='st2_webhook_sensor',
                            ignore_errors=ignore_errors)

    generic_webhook_opts = [
        cfg.StrOpt('host', default='0.0.0.0', help='Host for the generic webhook endpoint.'),
        cfg.IntOpt('port', default='6001', help='Port for the generic webhook endpoint.'),
        cfg.StrOpt('url', default='/webhooks/generic/', help='URL of the st2 webhook endpoint.')
    ]
    st2cfg.do_register_opts(generic_webhook_opts, group='generic_webhook_sensor',
                            ignore_errors=ignore_errors)
Example #10
0
def _register_app_opts(ignore_errors=False):
    dump_opts = [
        cfg.StrOpt(
            "dump_dir",
            default="/opt/stackstorm/exports/",
            help="Directory to dump data to.",
        )
    ]

    common_config.do_register_opts(dump_opts,
                                   group="exporter",
                                   ignore_errors=ignore_errors)

    logging_opts = [
        cfg.StrOpt(
            "logging",
            default="/etc/st2/logging.exporter.conf",
            help="location of the logging.exporter.conf file",
        )
    ]

    common_config.do_register_opts(logging_opts,
                                   group="exporter",
                                   ignore_errors=ignore_errors)
Example #11
0
File: config.py Project: nzlosh/st2
def _register_sensor_container_opts(ignore_errors=False):
    logging_opts = [
        cfg.StrOpt(
            'logging', default='/etc/st2/logging.sensorcontainer.conf',
            help='location of the logging.conf file')
    ]

    st2cfg.do_register_opts(logging_opts, group='sensorcontainer', ignore_errors=ignore_errors)

    # Partitioning options
    partition_opts = [
        cfg.StrOpt(
            'sensor_node_name', default='sensornode1',
            help='name of the sensor node.'),
        cfg.Opt(
            'partition_provider',
            type=types.Dict(value_type=types.String()),
            default={'name': DEFAULT_PARTITION_LOADER},
            help='Provider of sensor node partition config.')
    ]

    st2cfg.do_register_opts(partition_opts, group='sensorcontainer', ignore_errors=ignore_errors)

    # Other options
    other_opts = [
        cfg.BoolOpt(
            'single_sensor_mode', default=False,
            help='Run in a single sensor mode where parent process exits when a sensor crashes / '
                 'dies. This is useful in environments where partitioning, sensor process life '
                 'cycle and failover is handled by a 3rd party service such as kubernetes.')
    ]

    st2cfg.do_register_opts(other_opts, group='sensorcontainer', ignore_errors=ignore_errors)

    # CLI options
    cli_opts = [
        cfg.StrOpt(
            'sensor-ref',
            help='Only run sensor with the provided reference. Value is of the form '
                 '<pack>.<sensor-name> (e.g. linux.FileWatchSensor).'),
        cfg.BoolOpt(
            'single-sensor-mode', default=False,
            help='Run in a single sensor mode where parent process exits when a sensor crashes / '
                 'dies. This is useful in environments where partitioning, sensor process life '
                 'cycle and failover is handled by a 3rd party service such as kubernetes.')
    ]

    st2cfg.do_register_cli_opts(cli_opts, ignore_errors=ignore_errors)
Example #12
0
File: config.py Project: timff/st2
def _register_sensor_container_opts(ignore_errors=False):
    logging_opts = [
        cfg.StrOpt('logging',
                   default='conf/logging.sensorcontainer.conf',
                   help='location of the logging.conf file')
    ]
    st2cfg.do_register_opts(logging_opts,
                            group='sensorcontainer',
                            ignore_errors=ignore_errors)

    sensor_test_opt = cfg.StrOpt(
        'sensor-name', help='Only run sensor with the provided name.')
    st2cfg.do_register_cli_opts(sensor_test_opt, ignore_errors=ignore_errors)

    st2_webhook_opts = [
        cfg.StrOpt('host',
                   default='0.0.0.0',
                   help='Host for the st2 webhook endpoint.'),
        cfg.IntOpt('port',
                   default='6000',
                   help='Port for the st2 webhook endpoint.'),
        cfg.StrOpt('url',
                   default='/webhooks/st2/',
                   help='URL of the st2 webhook endpoint.')
    ]
    st2cfg.do_register_opts(st2_webhook_opts,
                            group='st2_webhook_sensor',
                            ignore_errors=ignore_errors)

    generic_webhook_opts = [
        cfg.StrOpt('host',
                   default='0.0.0.0',
                   help='Host for the generic webhook endpoint.'),
        cfg.IntOpt('port',
                   default='6001',
                   help='Port for the generic webhook endpoint.'),
        cfg.StrOpt('url',
                   default='/webhooks/generic/',
                   help='URL of the st2 webhook endpoint.')
    ]
    st2cfg.do_register_opts(generic_webhook_opts,
                            group='generic_webhook_sensor',
                            ignore_errors=ignore_errors)
Example #13
0
def _register_garbage_collector_opts(ignore_errors=False):
    logging_opts = [
        cfg.StrOpt(
            "logging",
            default="/etc/st2/logging.garbagecollector.conf",
            help="Location of the logging configuration file.",
        )
    ]

    common_config.do_register_opts(
        logging_opts, group="garbagecollector", ignore_errors=ignore_errors
    )

    common_opts = [
        cfg.IntOpt(
            "collection_interval",
            default=DEFAULT_COLLECTION_INTERVAL,
            help="How often to check database for old data and perform garbage collection.",
        ),
        cfg.FloatOpt(
            "sleep_delay",
            default=DEFAULT_SLEEP_DELAY,
            help="How long to wait / sleep (in seconds) between "
            "collection of different object types.",
        ),
    ]

    common_config.do_register_opts(
        common_opts, group="garbagecollector", ignore_errors=ignore_errors
    )

    ttl_opts = [
        cfg.IntOpt(
            "action_executions_ttl",
            default=None,
            help="Action executions and related objects (live actions, action output "
            "objects) older than this value (days) will be automatically deleted.",
        ),
        cfg.IntOpt(
            "action_executions_output_ttl",
            default=7,
            help="Action execution output objects (ones generated by action output "
            "streaming) older than this value (days) will be automatically deleted.",
        ),
        cfg.IntOpt(
            "trigger_instances_ttl",
            default=None,
            help="Trigger instances older than this value (days) will be automatically deleted.",
        ),
    ]

    common_config.do_register_opts(
        ttl_opts, group="garbagecollector", ignore_errors=ignore_errors
    )

    inquiry_opts = [
        cfg.BoolOpt(
            "purge_inquiries",
            default=False,
            help="Set to True to perform garbage collection on Inquiries (based on "
            "the TTL value per Inquiry)",
        )
    ]

    common_config.do_register_opts(
        inquiry_opts, group="garbagecollector", ignore_errors=ignore_errors
    )
Example #14
0
def _register_sensor_container_opts(ignore_errors=False):
    logging_opts = [
        cfg.StrOpt(
            "logging",
            default="/etc/st2/logging.sensorcontainer.conf",
            help="location of the logging.conf file",
        )
    ]

    st2cfg.do_register_opts(logging_opts,
                            group="sensorcontainer",
                            ignore_errors=ignore_errors)

    # Partitioning options
    partition_opts = [
        cfg.StrOpt("sensor_node_name",
                   default="sensornode1",
                   help="name of the sensor node."),
        cfg.Opt(
            "partition_provider",
            type=types.Dict(value_type=types.String()),
            default={"name": DEFAULT_PARTITION_LOADER},
            help="Provider of sensor node partition config.",
        ),
    ]

    st2cfg.do_register_opts(partition_opts,
                            group="sensorcontainer",
                            ignore_errors=ignore_errors)

    # Other options
    other_opts = [
        cfg.BoolOpt(
            "single_sensor_mode",
            default=False,
            help=
            "Run in a single sensor mode where parent process exits when a sensor crashes / "
            "dies. This is useful in environments where partitioning, sensor process life "
            "cycle and failover is handled by a 3rd party service such as kubernetes.",
        )
    ]

    st2cfg.do_register_opts(other_opts,
                            group="sensorcontainer",
                            ignore_errors=ignore_errors)

    # CLI options
    cli_opts = [
        cfg.StrOpt(
            "sensor-ref",
            help=
            "Only run sensor with the provided reference. Value is of the form "
            "<pack>.<sensor-name> (e.g. linux.FileWatchSensor).",
        ),
        cfg.BoolOpt(
            "single-sensor-mode",
            default=False,
            help=
            "Run in a single sensor mode where parent process exits when a sensor crashes / "
            "dies. This is useful in environments where partitioning, sensor process life "
            "cycle and failover is handled by a 3rd party service such as kubernetes.",
        ),
    ]

    st2cfg.do_register_cli_opts(cli_opts, ignore_errors=ignore_errors)