Skip to content

Commit 016af65

Browse files
authored
Merge pull request #181 from humanmade/es-packages
Add ES package support
2 parents ca78b49 + 49f7fea commit 016af65

File tree

2 files changed

+32
-2
lines changed

2 files changed

+32
-2
lines changed

docker/docker-compose.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -137,6 +137,7 @@ services:
137137
mem_limit: ${ES_MEM_LIMIT:-1g}
138138
volumes:
139139
- es-data:/usr/share/elasticsearch/data
140+
- ${VOLUME}/content/uploads/es-packages:/usr/share/elasticsearch/config/packages
140141
ports:
141142
- "9200"
142143
networks:
@@ -188,6 +189,7 @@ services:
188189
- "traefik.frontend.rule=HostRegexp:s3-${COMPOSE_PROJECT_NAME:-default}.altis.dev"
189190
s3-sync-to-host:
190191
image: minio/mc:RELEASE.2020-03-14T01-23-37Z
192+
restart: unless-stopped
191193
depends_on:
192194
- s3
193195
volumes:
@@ -199,7 +201,7 @@ services:
199201
/bin/sh -c "
200202
mc mb -p local/s3-${COMPOSE_PROJECT_NAME:-default}
201203
&& mc policy set public local/s3-${COMPOSE_PROJECT_NAME:-default}
202-
&& mc mirror --watch local/s3-${COMPOSE_PROJECT_NAME:-default} /content"
204+
&& mc mirror --watch --overwrite local/s3-${COMPOSE_PROJECT_NAME:-default} /content"
203205
tachyon:
204206
image: humanmade/tachyon:2.3.0
205207
ports:

inc/namespace.php

Lines changed: 29 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ function bootstrap() {
2626
define( 'S3_UPLOADS_BUCKET_URL', getenv( 'S3_UPLOADS_BUCKET_URL' ) );
2727

2828
add_filter( 's3_uploads_s3_client_params', function ( $params ) {
29-
if ( defined( 'S3_UPLOADS_ENDPOINT' ) ) {
29+
if ( defined( 'S3_UPLOADS_ENDPOINT' ) && S3_UPLOADS_ENDPOINT ) {
3030
$params['endpoint'] = S3_UPLOADS_ENDPOINT;
3131
}
3232
return $params;
@@ -83,6 +83,10 @@ function bootstrap() {
8383
}
8484

8585
add_filter( 'qm/output/file_path_map', __NAMESPACE__ . '\\set_file_path_map', 1 );
86+
87+
// Filter ES package IDs for local.
88+
add_filter( 'altis.search.packages_dir', __NAMESPACE__ . '\\set_search_packages_dir' );
89+
add_filter( 'altis.search.create_package_id', __NAMESPACE__ . '\\set_search_package_id', 10, 3 );
8690
}
8791

8892
/**
@@ -122,3 +126,27 @@ function tools_submenus() {
122126
add_management_page( $link['label'], $link['label'], 'manage_options', $link['url'] );
123127
}
124128
}
129+
130+
/**
131+
* Override Elasticsearch package storage location to es-packages volume.
132+
*
133+
* This directory is shared with the Elasticsearch container.
134+
*
135+
* @return string
136+
*/
137+
function set_search_packages_dir() : string {
138+
return sprintf( 's3://%s/uploads/es-packages', S3_UPLOADS_BUCKET );
139+
}
140+
141+
/**
142+
* Override the derived ES package file name for local server.
143+
*
144+
* @param string|null $id The package ID used for the file path in ES.
145+
* @param string $slug The package slug.
146+
* @param string $file The package file path on S3.
147+
* @return string|null
148+
*/
149+
function set_search_package_id( $id, string $slug, string $file ) : ?string {
150+
$id = sprintf( 'packages/%s', basename( $file ) );
151+
return $id;
152+
}

0 commit comments

Comments
 (0)