-
Notifications
You must be signed in to change notification settings - Fork 25.9k
Introduce declarative plugin management #77544
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
6eda87c
a57e8f4
c45199e
264012f
f1e01e0
1a61bb5
08ed84e
89b1f19
5db7f0b
8174d07
fc53fbb
4b53a04
b541732
4395902
91c1ce2
e66ab4f
534e434
3a6e4df
11f2004
816bae1
8122c1e
40b7033
db7af8f
612979b
979d0a3
f0a5fbd
05a350f
9829056
1e1ffc7
8df977c
7d1d210
91af84e
c735a0a
94c15e9
6e1a68b
7282c7d
524033a
8337588
ffbb4d3
a779dfa
606a138
cbed833
a35dbf6
614be7c
83192eb
8f822b0
a09c13f
1655aa3
71efa11
7c222f5
a67aa8b
0328678
13433ab
cbba285
77f3787
22028bf
8abde31
7fd932d
d77e645
5ee9d71
b897a58
7b6325b
8c2fa96
494efae
0319a20
db9e0a8
a6f51b1
87bd95e
b9d78ac
7432e46
4e09190
9ceb944
ea6d5e6
ba73e5f
e84d0a1
670227d
eb80ce2
cd90a19
bc2358e
b6bbeba
c48c712
9770a55
0ec9923
ea3aaa8
e5dc33b
f051247
ddbd26b
897a54f
215463e
3aabee8
367cac1
0d65a30
d39682d
9aa6b6f
08174bc
8c65b1d
8dd64da
3b6c077
fb3ac3f
673b6ea
bfdad33
dfd6ed5
42e4110
ef7c378
c8f5c5e
45e5274
bdaa359
435fe2d
9ca2427
df52770
6f3df48
de516de
d46f0bc
8f8c4a1
78f6e5b
2451c52
6eea9a1
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -110,12 +110,17 @@ RUN sed -i -e 's/ES_DISTRIBUTION_TYPE=tar/ES_DISTRIBUTION_TYPE=docker/' bin/elas | |
| find config -type f -exec chmod 0664 {} + | ||
|
|
||
| <% if (docker_base == "cloud") { %> | ||
| # Preinstall common plugins | ||
| # Preinstall common plugins. Note that these are installed as root, meaning the `elasticsearch` user cannot delete them. | ||
| COPY repository-s3-${version}.zip repository-gcs-${version}.zip repository-azure-${version}.zip /tmp/ | ||
| RUN bin/elasticsearch-plugin install --batch \\ | ||
| RUN bin/elasticsearch-plugin install --batch --verbose \\ | ||
| file:/tmp/repository-s3-${version}.zip \\ | ||
| file:/tmp/repository-gcs-${version}.zip \\ | ||
| file:/tmp/repository-azure-${version}.zip | ||
| # Generate a replacement example plugins config that reflects what is actually installed | ||
| RUN echo "plugins:" > config/elasticsearch-plugins.example.yml && \\ | ||
|
Member
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Shouldn't this example have been copied from the tar distribution?
Contributor
Author
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. The tar distribution does contain an example, but what this code is doing is replacing that example, because for the Cloud and Cloud ESS Docker images, they come with some plugins pre-installed. It's not necessary to do this at all, but it's handy for opting into declarative plugins for testing things out manually. |
||
| echo " - id: repository-azure" >> config/elasticsearch-plugins.example.yml && \\ | ||
| echo " - id: repository-gcs" >> config/elasticsearch-plugins.example.yml && \\ | ||
| echo " - id: repository-s3" >> config/elasticsearch-plugins.example.yml | ||
|
|
||
| <% /* I tried to use `ADD` here, but I couldn't force it to do what I wanted */ %> | ||
| COPY filebeat-${version}.tar.gz metricbeat-${version}.tar.gz /tmp/ | ||
|
|
@@ -125,8 +130,6 @@ RUN mkdir -p /opt/filebeat /opt/metricbeat && \\ | |
|
|
||
| # Add plugins infrastructure | ||
| RUN mkdir -p /opt/plugins/archive | ||
| COPY bin/plugin-wrapper.sh /opt/plugins | ||
| # These are the correct permissions for both the directories and the script | ||
| RUN chmod -R 0555 /opt/plugins | ||
| <% } %> | ||
|
|
||
|
|
||
This file was deleted.
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,27 @@ | ||
| # Rename this file to `elasticsearch-plugins.yml` to use it. | ||
| # | ||
| # All plugins must be listed here. If you add a plugin to this list and run | ||
|
pugnascotia marked this conversation as resolved.
|
||
| # `elasticsearch-plugin sync`, that plugin will be installed. If you remove | ||
| # a plugin from this list, that plugin will be removed when Elasticsearch | ||
| # next starts. | ||
|
|
||
| plugins: | ||
| # Each plugin must have an ID. Plugins with only an ID are official plugins and will be downloaded from Elastic. | ||
| - id: example-id | ||
|
|
||
| # Plugins can be specified by URL (it doesn't have to be HTTP, you could use e.g. `file:`) | ||
| - id: example-with-url | ||
| location: https://some.domain/path/example4.zip | ||
|
|
||
| # Or by maven coordinates: | ||
|
Contributor
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I assume this means Maven Central right? Should we clarify? |
||
| - id: example-with-maven-url | ||
| location: org.elasticsearch.plugins:example-plugin:1.2.3 | ||
|
|
||
| # A proxy can also be configured per-plugin, if necessary | ||
| - id: example-with-proxy | ||
| location: https://some.domain/path/example.zip | ||
| proxy: https://some.domain:1234 | ||
|
|
||
| # Configures a proxy for all network access. Remove this if you don't need | ||
| # to use a proxy. | ||
| proxy: https://some.domain:1234 | ||
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
This file was deleted.
Uh oh!
There was an error while loading. Please reload this page.