mirror of
https://github.com/rustfs/rustfs.git
synced 2026-08-20 03:22:18 +00:00
feat(targets): complete redis mysql postgres target wiring (#2842)
Signed-off-by: jaehanbyun <awbrg789@naver.com> Signed-off-by: houseme <housemecn@gmail.com> Signed-off-by: Gunther Xing <jiengup@gmail.com> Signed-off-by: JaySon-Huang <tshent@qq.com> Co-authored-by: jaehanbyun <awbrg789@naver.com> Co-authored-by: Gunther Xing <jiengup@gmail.com> Co-authored-by: Copilot Autofix powered by AI <175728472+Copilot@users.noreply.github.com> Co-authored-by: cxymds <Cxymds@qq.com> Co-authored-by: JaySon <tshent@qq.com> Co-authored-by: 安正超 <anzhengchao@gmail.com>
This commit is contained in:
@@ -18,14 +18,20 @@
|
||||
|
||||
mod kafka;
|
||||
mod mqtt;
|
||||
mod mysql;
|
||||
mod nats;
|
||||
mod postgres;
|
||||
mod pulsar;
|
||||
mod redis;
|
||||
mod webhook;
|
||||
|
||||
pub use kafka::*;
|
||||
pub use mqtt::*;
|
||||
pub use mysql::*;
|
||||
pub use nats::*;
|
||||
pub use postgres::*;
|
||||
pub use pulsar::*;
|
||||
pub use redis::*;
|
||||
pub use webhook::*;
|
||||
|
||||
use crate::DEFAULT_DELIMITER;
|
||||
@@ -37,15 +43,22 @@ pub const AUDIT_ROUTE_PREFIX: &str = const_str::concat!(AUDIT_PREFIX, DEFAULT_DE
|
||||
pub const AUDIT_WEBHOOK_SUB_SYS: &str = "audit_webhook";
|
||||
pub const AUDIT_KAFKA_SUB_SYS: &str = "audit_kafka";
|
||||
pub const AUDIT_MQTT_SUB_SYS: &str = "audit_mqtt";
|
||||
pub const AUDIT_MYSQL_SUB_SYS: &str = "audit_mysql";
|
||||
pub const AUDIT_NATS_SUB_SYS: &str = "audit_nats";
|
||||
pub const AUDIT_POSTGRES_SUB_SYS: &str = "audit_postgres";
|
||||
pub const AUDIT_PULSAR_SUB_SYS: &str = "audit_pulsar";
|
||||
pub const AUDIT_REDIS_SUB_SYS: &str = "audit_redis";
|
||||
pub const AUDIT_REDIS_DEFAULT_CHANNEL: &str = "rustfs_audit_channel";
|
||||
|
||||
pub const AUDIT_STORE_EXTENSION: &str = ".audit";
|
||||
#[allow(dead_code)]
|
||||
pub const AUDIT_SUB_SYSTEMS: &[&str] = &[
|
||||
AUDIT_KAFKA_SUB_SYS,
|
||||
AUDIT_MQTT_SUB_SYS,
|
||||
AUDIT_MYSQL_SUB_SYS,
|
||||
AUDIT_NATS_SUB_SYS,
|
||||
AUDIT_POSTGRES_SUB_SYS,
|
||||
AUDIT_PULSAR_SUB_SYS,
|
||||
AUDIT_REDIS_SUB_SYS,
|
||||
AUDIT_WEBHOOK_SUB_SYS,
|
||||
];
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
// Copyright 2024 RustFS Team
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
/// A list of all valid configuration keys for an audit MySQL target.
|
||||
pub const AUDIT_MYSQL_KEYS: &[&str] = &[
|
||||
crate::ENABLE_KEY,
|
||||
crate::MYSQL_DSN_STRING,
|
||||
crate::MYSQL_TABLE,
|
||||
crate::MYSQL_FORMAT,
|
||||
crate::MYSQL_TLS_CA,
|
||||
crate::MYSQL_TLS_CLIENT_CERT,
|
||||
crate::MYSQL_TLS_CLIENT_KEY,
|
||||
crate::MYSQL_QUEUE_DIR,
|
||||
crate::MYSQL_QUEUE_LIMIT,
|
||||
crate::MYSQL_MAX_OPEN_CONNECTIONS,
|
||||
crate::COMMENT_KEY,
|
||||
];
|
||||
|
||||
// MySQL environment variables for audit target.
|
||||
pub const ENV_AUDIT_MYSQL_ENABLE: &str = "RUSTFS_AUDIT_MYSQL_ENABLE";
|
||||
pub const ENV_AUDIT_MYSQL_DSN_STRING: &str = "RUSTFS_AUDIT_MYSQL_DSN_STRING";
|
||||
pub const ENV_AUDIT_MYSQL_TABLE: &str = "RUSTFS_AUDIT_MYSQL_TABLE";
|
||||
pub const ENV_AUDIT_MYSQL_FORMAT: &str = "RUSTFS_AUDIT_MYSQL_FORMAT";
|
||||
pub const ENV_AUDIT_MYSQL_TLS_CA: &str = "RUSTFS_AUDIT_MYSQL_TLS_CA";
|
||||
pub const ENV_AUDIT_MYSQL_TLS_CLIENT_CERT: &str = "RUSTFS_AUDIT_MYSQL_TLS_CLIENT_CERT";
|
||||
pub const ENV_AUDIT_MYSQL_TLS_CLIENT_KEY: &str = "RUSTFS_AUDIT_MYSQL_TLS_CLIENT_KEY";
|
||||
pub const ENV_AUDIT_MYSQL_QUEUE_DIR: &str = "RUSTFS_AUDIT_MYSQL_QUEUE_DIR";
|
||||
pub const ENV_AUDIT_MYSQL_QUEUE_LIMIT: &str = "RUSTFS_AUDIT_MYSQL_QUEUE_LIMIT";
|
||||
pub const ENV_AUDIT_MYSQL_MAX_OPEN_CONNECTIONS: &str = "RUSTFS_AUDIT_MYSQL_MAX_OPEN_CONNECTIONS";
|
||||
|
||||
pub const ENV_AUDIT_MYSQL_KEYS: &[&str; 10] = &[
|
||||
ENV_AUDIT_MYSQL_ENABLE,
|
||||
ENV_AUDIT_MYSQL_DSN_STRING,
|
||||
ENV_AUDIT_MYSQL_TABLE,
|
||||
ENV_AUDIT_MYSQL_FORMAT,
|
||||
ENV_AUDIT_MYSQL_TLS_CA,
|
||||
ENV_AUDIT_MYSQL_TLS_CLIENT_CERT,
|
||||
ENV_AUDIT_MYSQL_TLS_CLIENT_KEY,
|
||||
ENV_AUDIT_MYSQL_QUEUE_DIR,
|
||||
ENV_AUDIT_MYSQL_QUEUE_LIMIT,
|
||||
ENV_AUDIT_MYSQL_MAX_OPEN_CONNECTIONS,
|
||||
];
|
||||
@@ -0,0 +1,51 @@
|
||||
// Copyright 2024 RustFS Team
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
pub const AUDIT_POSTGRES_KEYS: &[&str] = &[
|
||||
crate::ENABLE_KEY,
|
||||
crate::POSTGRES_DSN_STRING,
|
||||
crate::POSTGRES_TABLE,
|
||||
crate::POSTGRES_FORMAT,
|
||||
crate::POSTGRES_TLS_REQUIRED,
|
||||
crate::POSTGRES_TLS_CA,
|
||||
crate::POSTGRES_TLS_CLIENT_CERT,
|
||||
crate::POSTGRES_TLS_CLIENT_KEY,
|
||||
crate::POSTGRES_QUEUE_DIR,
|
||||
crate::POSTGRES_QUEUE_LIMIT,
|
||||
crate::COMMENT_KEY,
|
||||
];
|
||||
|
||||
pub const ENV_AUDIT_POSTGRES_ENABLE: &str = "RUSTFS_AUDIT_POSTGRES_ENABLE";
|
||||
pub const ENV_AUDIT_POSTGRES_DSN_STRING: &str = "RUSTFS_AUDIT_POSTGRES_DSN_STRING";
|
||||
pub const ENV_AUDIT_POSTGRES_TABLE: &str = "RUSTFS_AUDIT_POSTGRES_TABLE";
|
||||
pub const ENV_AUDIT_POSTGRES_FORMAT: &str = "RUSTFS_AUDIT_POSTGRES_FORMAT";
|
||||
pub const ENV_AUDIT_POSTGRES_TLS_REQUIRED: &str = "RUSTFS_AUDIT_POSTGRES_TLS_REQUIRED";
|
||||
pub const ENV_AUDIT_POSTGRES_TLS_CA: &str = "RUSTFS_AUDIT_POSTGRES_TLS_CA";
|
||||
pub const ENV_AUDIT_POSTGRES_TLS_CLIENT_CERT: &str = "RUSTFS_AUDIT_POSTGRES_TLS_CLIENT_CERT";
|
||||
pub const ENV_AUDIT_POSTGRES_TLS_CLIENT_KEY: &str = "RUSTFS_AUDIT_POSTGRES_TLS_CLIENT_KEY";
|
||||
pub const ENV_AUDIT_POSTGRES_QUEUE_DIR: &str = "RUSTFS_AUDIT_POSTGRES_QUEUE_DIR";
|
||||
pub const ENV_AUDIT_POSTGRES_QUEUE_LIMIT: &str = "RUSTFS_AUDIT_POSTGRES_QUEUE_LIMIT";
|
||||
|
||||
pub const ENV_AUDIT_POSTGRES_KEYS: &[&str; 10] = &[
|
||||
ENV_AUDIT_POSTGRES_ENABLE,
|
||||
ENV_AUDIT_POSTGRES_DSN_STRING,
|
||||
ENV_AUDIT_POSTGRES_TABLE,
|
||||
ENV_AUDIT_POSTGRES_FORMAT,
|
||||
ENV_AUDIT_POSTGRES_TLS_REQUIRED,
|
||||
ENV_AUDIT_POSTGRES_TLS_CA,
|
||||
ENV_AUDIT_POSTGRES_TLS_CLIENT_CERT,
|
||||
ENV_AUDIT_POSTGRES_TLS_CLIENT_KEY,
|
||||
ENV_AUDIT_POSTGRES_QUEUE_DIR,
|
||||
ENV_AUDIT_POSTGRES_QUEUE_LIMIT,
|
||||
];
|
||||
@@ -0,0 +1,81 @@
|
||||
// Copyright 2024 RustFS Team
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
pub const ENV_AUDIT_REDIS_ENABLE: &str = "RUSTFS_AUDIT_REDIS_ENABLE";
|
||||
pub const ENV_AUDIT_REDIS_URL: &str = "RUSTFS_AUDIT_REDIS_URL";
|
||||
pub const ENV_AUDIT_REDIS_CHANNEL: &str = "RUSTFS_AUDIT_REDIS_CHANNEL";
|
||||
pub const ENV_AUDIT_REDIS_USERNAME: &str = "RUSTFS_AUDIT_REDIS_USERNAME";
|
||||
pub const ENV_AUDIT_REDIS_PASSWORD: &str = "RUSTFS_AUDIT_REDIS_PASSWORD";
|
||||
pub const ENV_AUDIT_REDIS_KEEP_ALIVE_INTERVAL: &str = "RUSTFS_AUDIT_REDIS_KEEP_ALIVE_INTERVAL";
|
||||
pub const ENV_AUDIT_REDIS_QUEUE_DIR: &str = "RUSTFS_AUDIT_REDIS_QUEUE_DIR";
|
||||
pub const ENV_AUDIT_REDIS_QUEUE_LIMIT: &str = "RUSTFS_AUDIT_REDIS_QUEUE_LIMIT";
|
||||
pub const ENV_AUDIT_REDIS_MAX_RETRY_ATTEMPTS: &str = "RUSTFS_AUDIT_REDIS_MAX_RETRY_ATTEMPTS";
|
||||
pub const ENV_AUDIT_REDIS_RECONNECT_RETRY_ATTEMPTS: &str = "RUSTFS_AUDIT_REDIS_RECONNECT_RETRY_ATTEMPTS";
|
||||
pub const ENV_AUDIT_REDIS_MIN_RETRY_DELAY: &str = "RUSTFS_AUDIT_REDIS_MIN_RETRY_DELAY";
|
||||
pub const ENV_AUDIT_REDIS_MAX_RETRY_DELAY: &str = "RUSTFS_AUDIT_REDIS_MAX_RETRY_DELAY";
|
||||
pub const ENV_AUDIT_REDIS_CONNECTION_TIMEOUT: &str = "RUSTFS_AUDIT_REDIS_CONNECTION_TIMEOUT";
|
||||
pub const ENV_AUDIT_REDIS_RESPONSE_TIMEOUT: &str = "RUSTFS_AUDIT_REDIS_RESPONSE_TIMEOUT";
|
||||
pub const ENV_AUDIT_REDIS_PIPELINE_BUFFER_SIZE: &str = "RUSTFS_AUDIT_REDIS_PIPELINE_BUFFER_SIZE";
|
||||
pub const ENV_AUDIT_REDIS_TLS_POLICY: &str = "RUSTFS_AUDIT_REDIS_TLS_POLICY";
|
||||
pub const ENV_AUDIT_REDIS_TLS_CA: &str = "RUSTFS_AUDIT_REDIS_TLS_CA";
|
||||
pub const ENV_AUDIT_REDIS_TLS_CLIENT_CERT: &str = "RUSTFS_AUDIT_REDIS_TLS_CLIENT_CERT";
|
||||
pub const ENV_AUDIT_REDIS_TLS_CLIENT_KEY: &str = "RUSTFS_AUDIT_REDIS_TLS_CLIENT_KEY";
|
||||
pub const ENV_AUDIT_REDIS_TLS_ALLOW_INSECURE: &str = "RUSTFS_AUDIT_REDIS_TLS_ALLOW_INSECURE";
|
||||
|
||||
pub const ENV_AUDIT_REDIS_KEYS: &[&str; 20] = &[
|
||||
ENV_AUDIT_REDIS_ENABLE,
|
||||
ENV_AUDIT_REDIS_URL,
|
||||
ENV_AUDIT_REDIS_CHANNEL,
|
||||
ENV_AUDIT_REDIS_USERNAME,
|
||||
ENV_AUDIT_REDIS_PASSWORD,
|
||||
ENV_AUDIT_REDIS_KEEP_ALIVE_INTERVAL,
|
||||
ENV_AUDIT_REDIS_QUEUE_DIR,
|
||||
ENV_AUDIT_REDIS_QUEUE_LIMIT,
|
||||
ENV_AUDIT_REDIS_MAX_RETRY_ATTEMPTS,
|
||||
ENV_AUDIT_REDIS_RECONNECT_RETRY_ATTEMPTS,
|
||||
ENV_AUDIT_REDIS_MIN_RETRY_DELAY,
|
||||
ENV_AUDIT_REDIS_MAX_RETRY_DELAY,
|
||||
ENV_AUDIT_REDIS_CONNECTION_TIMEOUT,
|
||||
ENV_AUDIT_REDIS_RESPONSE_TIMEOUT,
|
||||
ENV_AUDIT_REDIS_PIPELINE_BUFFER_SIZE,
|
||||
ENV_AUDIT_REDIS_TLS_POLICY,
|
||||
ENV_AUDIT_REDIS_TLS_CA,
|
||||
ENV_AUDIT_REDIS_TLS_CLIENT_CERT,
|
||||
ENV_AUDIT_REDIS_TLS_CLIENT_KEY,
|
||||
ENV_AUDIT_REDIS_TLS_ALLOW_INSECURE,
|
||||
];
|
||||
|
||||
pub const AUDIT_REDIS_KEYS: &[&str] = &[
|
||||
crate::ENABLE_KEY,
|
||||
crate::REDIS_URL,
|
||||
crate::REDIS_CHANNEL,
|
||||
crate::REDIS_USERNAME,
|
||||
crate::REDIS_PASSWORD,
|
||||
crate::REDIS_KEEP_ALIVE_INTERVAL,
|
||||
crate::REDIS_QUEUE_DIR,
|
||||
crate::REDIS_QUEUE_LIMIT,
|
||||
crate::REDIS_MAX_RETRY_ATTEMPTS,
|
||||
crate::REDIS_RECONNECT_RETRY_ATTEMPTS,
|
||||
crate::REDIS_MIN_RETRY_DELAY,
|
||||
crate::REDIS_MAX_RETRY_DELAY,
|
||||
crate::REDIS_CONNECTION_TIMEOUT,
|
||||
crate::REDIS_RESPONSE_TIMEOUT,
|
||||
crate::REDIS_PIPELINE_BUFFER_SIZE,
|
||||
crate::REDIS_TLS_POLICY,
|
||||
crate::REDIS_TLS_CA,
|
||||
crate::REDIS_TLS_CLIENT_CERT,
|
||||
crate::REDIS_TLS_CLIENT_KEY,
|
||||
crate::REDIS_TLS_ALLOW_INSECURE,
|
||||
crate::COMMENT_KEY,
|
||||
];
|
||||
@@ -74,6 +74,48 @@ pub const PULSAR_TLS_HOSTNAME_VERIFICATION: &str = "tls_hostname_verification";
|
||||
pub const PULSAR_QUEUE_DIR: &str = "queue_dir";
|
||||
pub const PULSAR_QUEUE_LIMIT: &str = "queue_limit";
|
||||
|
||||
pub const BASE_DSN_STRING: &str = "dsn_string";
|
||||
|
||||
pub const MYSQL_DSN_STRING: &str = BASE_DSN_STRING;
|
||||
pub const MYSQL_TABLE: &str = "table";
|
||||
pub const MYSQL_FORMAT: &str = "format";
|
||||
pub const MYSQL_TLS_CA: &str = "tls_ca";
|
||||
pub const MYSQL_TLS_CLIENT_CERT: &str = "tls_client_cert";
|
||||
pub const MYSQL_TLS_CLIENT_KEY: &str = "tls_client_key";
|
||||
pub const MYSQL_QUEUE_DIR: &str = "queue_dir";
|
||||
pub const MYSQL_QUEUE_LIMIT: &str = "queue_limit";
|
||||
pub const MYSQL_MAX_OPEN_CONNECTIONS: &str = "max_open_connections";
|
||||
|
||||
pub const REDIS_URL: &str = "url";
|
||||
pub const REDIS_CHANNEL: &str = "channel";
|
||||
pub const REDIS_USERNAME: &str = "username";
|
||||
pub const REDIS_PASSWORD: &str = "password";
|
||||
pub const REDIS_KEEP_ALIVE_INTERVAL: &str = "keep_alive_interval";
|
||||
pub const REDIS_QUEUE_DIR: &str = "queue_dir";
|
||||
pub const REDIS_QUEUE_LIMIT: &str = "queue_limit";
|
||||
pub const REDIS_MAX_RETRY_ATTEMPTS: &str = "max_retry_attempts";
|
||||
pub const REDIS_RECONNECT_RETRY_ATTEMPTS: &str = "reconnect_retry_attempts";
|
||||
pub const REDIS_MIN_RETRY_DELAY: &str = "min_retry_delay";
|
||||
pub const REDIS_MAX_RETRY_DELAY: &str = "max_retry_delay";
|
||||
pub const REDIS_CONNECTION_TIMEOUT: &str = "connection_timeout";
|
||||
pub const REDIS_RESPONSE_TIMEOUT: &str = "response_timeout";
|
||||
pub const REDIS_PIPELINE_BUFFER_SIZE: &str = "pipeline_buffer_size";
|
||||
pub const REDIS_TLS_POLICY: &str = "tls_policy";
|
||||
pub const REDIS_TLS_CA: &str = "tls_ca";
|
||||
pub const REDIS_TLS_CLIENT_CERT: &str = "tls_client_cert";
|
||||
pub const REDIS_TLS_CLIENT_KEY: &str = "tls_client_key";
|
||||
pub const REDIS_TLS_ALLOW_INSECURE: &str = "tls_allow_insecure";
|
||||
|
||||
pub const POSTGRES_DSN_STRING: &str = BASE_DSN_STRING;
|
||||
pub const POSTGRES_TABLE: &str = "table";
|
||||
pub const POSTGRES_FORMAT: &str = "format";
|
||||
pub const POSTGRES_TLS_REQUIRED: &str = "tls_required";
|
||||
pub const POSTGRES_TLS_CA: &str = "tls_ca";
|
||||
pub const POSTGRES_TLS_CLIENT_CERT: &str = "tls_client_cert";
|
||||
pub const POSTGRES_TLS_CLIENT_KEY: &str = "tls_client_key";
|
||||
pub const POSTGRES_QUEUE_DIR: &str = "queue_dir";
|
||||
pub const POSTGRES_QUEUE_LIMIT: &str = "queue_limit";
|
||||
|
||||
/// Environment variable controlling whether target queue files are Snappy-compressed.
|
||||
/// Applies to both notify and audit target queue stores.
|
||||
pub const ENV_TARGET_STORE_COMPRESS: &str = "RUSTFS_TARGET_STORE_COMPRESS";
|
||||
|
||||
@@ -15,16 +15,22 @@
|
||||
mod arn;
|
||||
mod kafka;
|
||||
mod mqtt;
|
||||
mod mysql;
|
||||
mod nats;
|
||||
mod postgres;
|
||||
mod pulsar;
|
||||
mod redis;
|
||||
mod store;
|
||||
mod webhook;
|
||||
|
||||
pub use arn::*;
|
||||
pub use kafka::*;
|
||||
pub use mqtt::*;
|
||||
pub use mysql::*;
|
||||
pub use nats::*;
|
||||
pub use postgres::*;
|
||||
pub use pulsar::*;
|
||||
pub use redis::*;
|
||||
pub use store::*;
|
||||
pub use webhook::*;
|
||||
|
||||
@@ -69,19 +75,20 @@ pub const ENV_NOTIFY_SEND_CONCURRENCY: &str = "RUSTFS_NOTIFY_SEND_CONCURRENCY";
|
||||
/// Adjust this value based on your system's capabilities and expected load.
|
||||
pub const DEFAULT_NOTIFY_SEND_CONCURRENCY: usize = 64;
|
||||
|
||||
#[allow(dead_code)]
|
||||
pub const NOTIFY_SUB_SYSTEMS: &[&str] = &[
|
||||
NOTIFY_KAFKA_SUB_SYS,
|
||||
NOTIFY_MQTT_SUB_SYS,
|
||||
NOTIFY_MYSQL_SUB_SYS,
|
||||
NOTIFY_NATS_SUB_SYS,
|
||||
NOTIFY_POSTGRES_SUB_SYS,
|
||||
NOTIFY_PULSAR_SUB_SYS,
|
||||
NOTIFY_REDIS_SUB_SYS,
|
||||
NOTIFY_WEBHOOK_SUB_SYS,
|
||||
];
|
||||
|
||||
pub const NOTIFY_KAFKA_SUB_SYS: &str = "notify_kafka";
|
||||
pub const NOTIFY_MQTT_SUB_SYS: &str = "notify_mqtt";
|
||||
#[allow(dead_code)]
|
||||
pub const NOTIFY_MY_SQL_SUB_SYS: &str = "notify_mysql";
|
||||
pub const NOTIFY_MYSQL_SUB_SYS: &str = "notify_mysql";
|
||||
#[allow(dead_code)]
|
||||
pub const NOTIFY_NATS_SUB_SYS: &str = "notify_nats";
|
||||
#[allow(dead_code)]
|
||||
@@ -90,9 +97,9 @@ pub const NOTIFY_NSQ_SUB_SYS: &str = "notify_nsq";
|
||||
pub const NOTIFY_ES_SUB_SYS: &str = "notify_elasticsearch";
|
||||
#[allow(dead_code)]
|
||||
pub const NOTIFY_AMQP_SUB_SYS: &str = "notify_amqp";
|
||||
#[allow(dead_code)]
|
||||
pub const NOTIFY_POSTGRES_SUB_SYS: &str = "notify_postgres";
|
||||
#[allow(dead_code)]
|
||||
pub const NOTIFY_REDIS_SUB_SYS: &str = "notify_redis";
|
||||
pub const NOTIFY_REDIS_DEFAULT_CHANNEL: &str = "rustfs_notify_channel";
|
||||
pub const NOTIFY_PULSAR_SUB_SYS: &str = "notify_pulsar";
|
||||
pub const NOTIFY_WEBHOOK_SUB_SYS: &str = "notify_webhook";
|
||||
|
||||
@@ -0,0 +1,53 @@
|
||||
// Copyright 2024 RustFS Team
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
/// A list of all valid configuration keys for a MySQL target.
|
||||
pub const NOTIFY_MYSQL_KEYS: &[&str] = &[
|
||||
crate::ENABLE_KEY,
|
||||
crate::MYSQL_DSN_STRING,
|
||||
crate::MYSQL_TABLE,
|
||||
crate::MYSQL_FORMAT,
|
||||
crate::MYSQL_TLS_CA,
|
||||
crate::MYSQL_TLS_CLIENT_CERT,
|
||||
crate::MYSQL_TLS_CLIENT_KEY,
|
||||
crate::MYSQL_QUEUE_DIR,
|
||||
crate::MYSQL_QUEUE_LIMIT,
|
||||
crate::MYSQL_MAX_OPEN_CONNECTIONS,
|
||||
crate::COMMENT_KEY,
|
||||
];
|
||||
|
||||
// MySQL Environment Variables
|
||||
pub const ENV_NOTIFY_MYSQL_ENABLE: &str = "RUSTFS_NOTIFY_MYSQL_ENABLE";
|
||||
pub const ENV_NOTIFY_MYSQL_DSN_STRING: &str = "RUSTFS_NOTIFY_MYSQL_DSN_STRING";
|
||||
pub const ENV_NOTIFY_MYSQL_TABLE: &str = "RUSTFS_NOTIFY_MYSQL_TABLE";
|
||||
pub const ENV_NOTIFY_MYSQL_FORMAT: &str = "RUSTFS_NOTIFY_MYSQL_FORMAT";
|
||||
pub const ENV_NOTIFY_MYSQL_TLS_CA: &str = "RUSTFS_NOTIFY_MYSQL_TLS_CA";
|
||||
pub const ENV_NOTIFY_MYSQL_TLS_CLIENT_CERT: &str = "RUSTFS_NOTIFY_MYSQL_TLS_CLIENT_CERT";
|
||||
pub const ENV_NOTIFY_MYSQL_TLS_CLIENT_KEY: &str = "RUSTFS_NOTIFY_MYSQL_TLS_CLIENT_KEY";
|
||||
pub const ENV_NOTIFY_MYSQL_QUEUE_DIR: &str = "RUSTFS_NOTIFY_MYSQL_QUEUE_DIR";
|
||||
pub const ENV_NOTIFY_MYSQL_QUEUE_LIMIT: &str = "RUSTFS_NOTIFY_MYSQL_QUEUE_LIMIT";
|
||||
pub const ENV_NOTIFY_MYSQL_MAX_OPEN_CONNECTIONS: &str = "RUSTFS_NOTIFY_MYSQL_MAX_OPEN_CONNECTIONS";
|
||||
|
||||
pub const ENV_NOTIFY_MYSQL_KEYS: &[&str; 10] = &[
|
||||
ENV_NOTIFY_MYSQL_ENABLE,
|
||||
ENV_NOTIFY_MYSQL_DSN_STRING,
|
||||
ENV_NOTIFY_MYSQL_TABLE,
|
||||
ENV_NOTIFY_MYSQL_FORMAT,
|
||||
ENV_NOTIFY_MYSQL_TLS_CA,
|
||||
ENV_NOTIFY_MYSQL_TLS_CLIENT_CERT,
|
||||
ENV_NOTIFY_MYSQL_TLS_CLIENT_KEY,
|
||||
ENV_NOTIFY_MYSQL_QUEUE_DIR,
|
||||
ENV_NOTIFY_MYSQL_QUEUE_LIMIT,
|
||||
ENV_NOTIFY_MYSQL_MAX_OPEN_CONNECTIONS,
|
||||
];
|
||||
@@ -0,0 +1,51 @@
|
||||
// Copyright 2024 RustFS Team
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
pub const NOTIFY_POSTGRES_KEYS: &[&str] = &[
|
||||
crate::ENABLE_KEY,
|
||||
crate::POSTGRES_DSN_STRING,
|
||||
crate::POSTGRES_TABLE,
|
||||
crate::POSTGRES_FORMAT,
|
||||
crate::POSTGRES_TLS_REQUIRED,
|
||||
crate::POSTGRES_TLS_CA,
|
||||
crate::POSTGRES_TLS_CLIENT_CERT,
|
||||
crate::POSTGRES_TLS_CLIENT_KEY,
|
||||
crate::POSTGRES_QUEUE_DIR,
|
||||
crate::POSTGRES_QUEUE_LIMIT,
|
||||
crate::COMMENT_KEY,
|
||||
];
|
||||
|
||||
pub const ENV_NOTIFY_POSTGRES_ENABLE: &str = "RUSTFS_NOTIFY_POSTGRES_ENABLE";
|
||||
pub const ENV_NOTIFY_POSTGRES_DSN_STRING: &str = "RUSTFS_NOTIFY_POSTGRES_DSN_STRING";
|
||||
pub const ENV_NOTIFY_POSTGRES_TABLE: &str = "RUSTFS_NOTIFY_POSTGRES_TABLE";
|
||||
pub const ENV_NOTIFY_POSTGRES_FORMAT: &str = "RUSTFS_NOTIFY_POSTGRES_FORMAT";
|
||||
pub const ENV_NOTIFY_POSTGRES_TLS_REQUIRED: &str = "RUSTFS_NOTIFY_POSTGRES_TLS_REQUIRED";
|
||||
pub const ENV_NOTIFY_POSTGRES_TLS_CA: &str = "RUSTFS_NOTIFY_POSTGRES_TLS_CA";
|
||||
pub const ENV_NOTIFY_POSTGRES_TLS_CLIENT_CERT: &str = "RUSTFS_NOTIFY_POSTGRES_TLS_CLIENT_CERT";
|
||||
pub const ENV_NOTIFY_POSTGRES_TLS_CLIENT_KEY: &str = "RUSTFS_NOTIFY_POSTGRES_TLS_CLIENT_KEY";
|
||||
pub const ENV_NOTIFY_POSTGRES_QUEUE_DIR: &str = "RUSTFS_NOTIFY_POSTGRES_QUEUE_DIR";
|
||||
pub const ENV_NOTIFY_POSTGRES_QUEUE_LIMIT: &str = "RUSTFS_NOTIFY_POSTGRES_QUEUE_LIMIT";
|
||||
|
||||
pub const ENV_NOTIFY_POSTGRES_KEYS: &[&str; 10] = &[
|
||||
ENV_NOTIFY_POSTGRES_ENABLE,
|
||||
ENV_NOTIFY_POSTGRES_DSN_STRING,
|
||||
ENV_NOTIFY_POSTGRES_TABLE,
|
||||
ENV_NOTIFY_POSTGRES_FORMAT,
|
||||
ENV_NOTIFY_POSTGRES_TLS_REQUIRED,
|
||||
ENV_NOTIFY_POSTGRES_TLS_CA,
|
||||
ENV_NOTIFY_POSTGRES_TLS_CLIENT_CERT,
|
||||
ENV_NOTIFY_POSTGRES_TLS_CLIENT_KEY,
|
||||
ENV_NOTIFY_POSTGRES_QUEUE_DIR,
|
||||
ENV_NOTIFY_POSTGRES_QUEUE_LIMIT,
|
||||
];
|
||||
@@ -0,0 +1,82 @@
|
||||
// Copyright 2024 RustFS Team
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
|
||||
/// A list of all valid configuration keys for a Redis target.
|
||||
pub const NOTIFY_REDIS_KEYS: &[&str] = &[
|
||||
crate::ENABLE_KEY,
|
||||
crate::REDIS_URL,
|
||||
crate::REDIS_CHANNEL,
|
||||
crate::REDIS_USERNAME,
|
||||
crate::REDIS_PASSWORD,
|
||||
crate::REDIS_KEEP_ALIVE_INTERVAL,
|
||||
crate::REDIS_QUEUE_DIR,
|
||||
crate::REDIS_QUEUE_LIMIT,
|
||||
crate::REDIS_MAX_RETRY_ATTEMPTS,
|
||||
crate::REDIS_RECONNECT_RETRY_ATTEMPTS,
|
||||
crate::REDIS_MIN_RETRY_DELAY,
|
||||
crate::REDIS_MAX_RETRY_DELAY,
|
||||
crate::REDIS_CONNECTION_TIMEOUT,
|
||||
crate::REDIS_RESPONSE_TIMEOUT,
|
||||
crate::REDIS_PIPELINE_BUFFER_SIZE,
|
||||
crate::REDIS_TLS_POLICY,
|
||||
crate::REDIS_TLS_CA,
|
||||
crate::REDIS_TLS_CLIENT_CERT,
|
||||
crate::REDIS_TLS_CLIENT_KEY,
|
||||
crate::REDIS_TLS_ALLOW_INSECURE,
|
||||
crate::COMMENT_KEY,
|
||||
];
|
||||
|
||||
pub const ENV_NOTIFY_REDIS_ENABLE: &str = "RUSTFS_NOTIFY_REDIS_ENABLE";
|
||||
pub const ENV_NOTIFY_REDIS_URL: &str = "RUSTFS_NOTIFY_REDIS_URL";
|
||||
pub const ENV_NOTIFY_REDIS_CHANNEL: &str = "RUSTFS_NOTIFY_REDIS_CHANNEL";
|
||||
pub const ENV_NOTIFY_REDIS_USERNAME: &str = "RUSTFS_NOTIFY_REDIS_USERNAME";
|
||||
pub const ENV_NOTIFY_REDIS_PASSWORD: &str = "RUSTFS_NOTIFY_REDIS_PASSWORD";
|
||||
pub const ENV_NOTIFY_REDIS_KEEP_ALIVE_INTERVAL: &str = "RUSTFS_NOTIFY_REDIS_KEEP_ALIVE_INTERVAL";
|
||||
pub const ENV_NOTIFY_REDIS_QUEUE_DIR: &str = "RUSTFS_NOTIFY_REDIS_QUEUE_DIR";
|
||||
pub const ENV_NOTIFY_REDIS_QUEUE_LIMIT: &str = "RUSTFS_NOTIFY_REDIS_QUEUE_LIMIT";
|
||||
pub const ENV_NOTIFY_REDIS_MAX_RETRY_ATTEMPTS: &str = "RUSTFS_NOTIFY_REDIS_MAX_RETRY_ATTEMPTS";
|
||||
pub const ENV_NOTIFY_REDIS_RECONNECT_RETRY_ATTEMPTS: &str = "RUSTFS_NOTIFY_REDIS_RECONNECT_RETRY_ATTEMPTS";
|
||||
pub const ENV_NOTIFY_REDIS_MIN_RETRY_DELAY: &str = "RUSTFS_NOTIFY_REDIS_MIN_RETRY_DELAY";
|
||||
pub const ENV_NOTIFY_REDIS_MAX_RETRY_DELAY: &str = "RUSTFS_NOTIFY_REDIS_MAX_RETRY_DELAY";
|
||||
pub const ENV_NOTIFY_REDIS_CONNECTION_TIMEOUT: &str = "RUSTFS_NOTIFY_REDIS_CONNECTION_TIMEOUT";
|
||||
pub const ENV_NOTIFY_REDIS_RESPONSE_TIMEOUT: &str = "RUSTFS_NOTIFY_REDIS_RESPONSE_TIMEOUT";
|
||||
pub const ENV_NOTIFY_REDIS_PIPELINE_BUFFER_SIZE: &str = "RUSTFS_NOTIFY_REDIS_PIPELINE_BUFFER_SIZE";
|
||||
pub const ENV_NOTIFY_REDIS_TLS_POLICY: &str = "RUSTFS_NOTIFY_REDIS_TLS_POLICY";
|
||||
pub const ENV_NOTIFY_REDIS_TLS_CA: &str = "RUSTFS_NOTIFY_REDIS_TLS_CA";
|
||||
pub const ENV_NOTIFY_REDIS_TLS_CLIENT_CERT: &str = "RUSTFS_NOTIFY_REDIS_TLS_CLIENT_CERT";
|
||||
pub const ENV_NOTIFY_REDIS_TLS_CLIENT_KEY: &str = "RUSTFS_NOTIFY_REDIS_TLS_CLIENT_KEY";
|
||||
pub const ENV_NOTIFY_REDIS_TLS_ALLOW_INSECURE: &str = "RUSTFS_NOTIFY_REDIS_TLS_ALLOW_INSECURE";
|
||||
|
||||
pub const ENV_NOTIFY_REDIS_KEYS: &[&str; 20] = &[
|
||||
ENV_NOTIFY_REDIS_ENABLE,
|
||||
ENV_NOTIFY_REDIS_URL,
|
||||
ENV_NOTIFY_REDIS_CHANNEL,
|
||||
ENV_NOTIFY_REDIS_USERNAME,
|
||||
ENV_NOTIFY_REDIS_PASSWORD,
|
||||
ENV_NOTIFY_REDIS_KEEP_ALIVE_INTERVAL,
|
||||
ENV_NOTIFY_REDIS_QUEUE_DIR,
|
||||
ENV_NOTIFY_REDIS_QUEUE_LIMIT,
|
||||
ENV_NOTIFY_REDIS_MAX_RETRY_ATTEMPTS,
|
||||
ENV_NOTIFY_REDIS_RECONNECT_RETRY_ATTEMPTS,
|
||||
ENV_NOTIFY_REDIS_MIN_RETRY_DELAY,
|
||||
ENV_NOTIFY_REDIS_MAX_RETRY_DELAY,
|
||||
ENV_NOTIFY_REDIS_CONNECTION_TIMEOUT,
|
||||
ENV_NOTIFY_REDIS_RESPONSE_TIMEOUT,
|
||||
ENV_NOTIFY_REDIS_PIPELINE_BUFFER_SIZE,
|
||||
ENV_NOTIFY_REDIS_TLS_POLICY,
|
||||
ENV_NOTIFY_REDIS_TLS_CA,
|
||||
ENV_NOTIFY_REDIS_TLS_CLIENT_CERT,
|
||||
ENV_NOTIFY_REDIS_TLS_CLIENT_KEY,
|
||||
ENV_NOTIFY_REDIS_TLS_ALLOW_INSECURE,
|
||||
];
|
||||
Reference in New Issue
Block a user