codelibs / fess

Fess is very powerful and easily deployable Enterprise Search Server.
https://fess.codelibs.org
Apache License 2.0
1k stars 166 forks source link

Let snapshot support multiple Azure storage accounts. #2840

Open jerryshiba opened 2 months ago

jerryshiba commented 2 months ago

Hi,

Our team has some Azure storage accounts now, each account is for different bill. We want to assign different account to backup specific OpenSearch indices to Azure blob. But currently we cannot choose client on snapshot webpage.

So, I edited some codes to support this feature. # vi ./fess/app/WEB-INF/site/kopf/partials/snapshot/azure_repository.html @16 add

<div class="form-group col-md-6">
  <label class="form-label">client</label>
  <input ng-model="repository_form.settings.client" class="form-control input-sm" placeholder="Defaults to default user">
</div>

# vi ./fess/app/WEB-INF/site/kopf/dist/kopf.js @3407 add 'client' in azureSettings if (this.type === 'azure') { var azureSettings = ['container', 'base_path', 'concurrent_streams', 'chunk_size', 'client', 'compress']; json.settings = this. (azureSettings); } So that, we can assign a client to create a new repository image The new created repository will look like image Now, we can select this repository with a specified client to create snapshot image This functionality is proven by our team, it works.

Actually, I want to update these codes to kopf or cerebro, but the original author will never support these projects. Our team will keep using OpenSearch and hope we can still add new features (or fix bugs) to this project (fess), maybe someday OpenSearch 3.0 is released, we can work together to make this project support new version of OpenSearch.

Thanks

marevol commented 2 months ago

Fess uses forked kopf.