risedev/task/
opensearch_service.rs1use super::docker_service::{DockerService, DockerServiceConfig};
16use crate::OpenSearchConfig;
17
18impl DockerServiceConfig for OpenSearchConfig {
19 fn id(&self) -> String {
20 self.id.clone()
21 }
22
23 fn is_user_managed(&self) -> bool {
24 self.user_managed
25 }
26
27 fn image(&self) -> String {
28 self.image.clone()
29 }
30
31 fn envs(&self) -> Vec<(String, String)> {
32 vec![
33 ("discovery.type".to_owned(), "single-node".to_owned()),
34 ("DISABLE_SECURITY_PLUGIN".to_owned(), "true".to_owned()),
35 (
36 "OPENSEARCH_INITIAL_ADMIN_PASSWORD".to_owned(),
37 self.password.clone(),
38 ),
39 (
40 "OPENSEARCH_JAVA_OPTS".to_owned(),
41 "-Xms512m -Xmx512m".to_owned(),
42 ),
43 ]
44 }
45
46 fn ports(&self) -> Vec<(String, String)> {
47 vec![(self.port.to_string(), "9200".to_owned())]
48 }
49
50 fn data_path(&self) -> Option<String> {
51 self.persist_data
52 .then(|| "/usr/share/opensearch/data".to_owned())
53 }
54}
55
56pub type OpenSearchService = DockerService<OpenSearchConfig>;