Coder Social home page Coder Social logo

cloud-scripts's Introduction

Meilisearch Cloud scripts

[DEPRECATED] Meilisearch Cloud Scripts

License

☁ Meilisearch tools for the Cloud ☁


⚠️ Please note that this repository is no longer being maintained and has been deprecated. We have created this new repository cloud-providers instead.


Meilisearch Cloud Scripts is a set of cloud-agnostic tools and scripts to improve user deployment of Meilisearch on the cloud.

Meilisearch is an open-source search engine. Discover what Meilisearch is!

Table of Contents

🎁 Content of this repository

This repository contains a few tools and scripts used mainly by the Meilisearch team, aiming to provide our users simple ways to deploy and configure Meilisearch in the cloud. As our heart resides in the open-source community, we maintain several of these tools as open-source repositories.

The goal of this repository is to provide a cloud-agnostic set of tools and scripts for deploying and configuring Meilisearch.

☁ Projects using Meilisearch Cloud Scripts

Cloud Provider Project
DigitalOcean meilisearch-digitalocean
AWS meilisearch-aws
GCP meilisearch-gcp

📖 Documentation

See our Documentation or our API References.

⚙️ Development Workflow and Contributing

Any new contribution is more than welcome in this project!

If you want to know more about the development workflow or want to contribute, please visit our contributing guidelines for detailed instructions!


Meilisearch provides and maintains many SDKs and Integration tools like this one. We want to provide everyone with an amazing search experience for any kind of project. If you want to contribute, make suggestions, or just know what's going on right now, visit us in the integration-guides repository.

cloud-scripts's People

Contributors

alallema avatar bidoubiwa avatar brunoocasali avatar curquiza avatar eskombro avatar lorenzosapora avatar meili-bot avatar murtazasol avatar nicolasvienot avatar sanders41 avatar viogustian avatar washbin avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

cloud-scripts's Issues

Undefined path for the dumps/ folder

Currently, when creating a dump, the dumps folder path is undefined and depends on the system meilisearch is running. systemd seems to create it at the root, but when we run meilisearch on a local machine it's in the same directory as MeiliSearch binary. The dumps folder path should be defined by an env variable in the service, and should be consistent among different services :)

Change digital ocean image naming to include rc number

When generating a digital ocean image the naming looks like this:

MeiliSearch-v0.22.0-rc-Debian-10.3

Since there is no rc number we have to remember which rc image it is and delete it to create the more recent rc's.

This may lead to images with the wrong rc without us knowing.

Create global alias for MeiliSearch configuration script

Configuration script is currently run with the command:

sh /var/opt/meilisearch/scripts/first-login/000-set-meili-env.sh

This is a bad idea because:

  • No readability
  • Impossible to remeber
  • No maintainability: script could easily change location or name and command will be modified

A generic alias (for all users) can be created in /etc/profile.d making meilisearch-setup the generic command to run

Deploy meilisearch through the cloud-config.yaml

In order to get rid of the ssh commands launched after the creation of the machine on the meilisearch-digitalocean, meilisearch-gcp and meilisearch-aws, we would need to deploy meilisearch through the cloud-config.yaml.

This issue is here to test this option and centralize the issues from the other repositories.

What needs to be looked :

  • For each provider, the command to launch the deploy-meilisearch.sh will differ.
    curl https://raw.githubusercontent.com/meilisearch/cloud-scripts/{0}/scripts/deploy-meilisearch.sh | sudo bash -s {0} {1} where {0} is the version and {1} is the provider
  • For DO, we would need to launch the cleanup.sh

Issues on the meilisearch-cloud repositories :

Warning: invalid local UTF-8 at the end of the `meilisearch-setup` script

Description
A Warning message appears at the end of the meilisearch-setup script.
The command gives by the warning or an export should fix the problem and should be added to the cloud-config.yaml.

Screenshots or Logs

_____________________________________________________________________
WARNING! Your environment specifies an invalid locale.
 The unknown environment variables are:
   LC_CTYPE=UTF-8 LC_ALL=
 This can affect your user experience significantly, including the
 ability to manage packages. You may install the locales by running:

   sudo apt-get install language-pack-UTF-8
     or
   sudo locale-gen UTF-8

To see all available language packs, run:
   apt-cache search "^language-pack-[a-z][a-z]$"
To disable this message for all users, run:
   sudo touch /var/lib/cloud/instance/locale-check.skip
_____________________________________________________________________

Dev UI is disabled forever after choosing prod in meilisearch-setup

I run meilisearch-setup second time after set up on digital ocean and expect that chosing n option should switch the environment to the development allowing the access to the UI. At the moment it does not.

To Reproduce

  1. setup using digital ocean described here
  2. run meilisearch-setup and choose production option
  3. run meilisearch-setup again and choose dev option
  4. the UI is not available

Expected behavior
UI should be available

Desktop (please complete the following information):

  • OS: MacOS
  • Browser: firefox, safari

Make `systemctl` restart `Meilisearch` if it has been killed

Description
Meilisearch doesn't restart after being killed.

Basic example
A restart of the binary could be handled by the systemctl configuration

These two lines should be added in each provider yaml file in the content of this file /etc/systemd/system/meilisearch.service

Restart=on-failure
RestartSec=5s

Remove or specify analytics for CI/tests in cloud-repositories

When launching the CI tests or testing in meilisearch-digitalocean, meilisearch-aws or meilisearch-gcp, the MeiliSearch instances that are launched either when creating the image or testing it has analytics specifying the provider.

It would be nice if we could disable the analytics while doing the CI/tests or specify that it comes from the CI/tests (for CI/tests monitoring for example).

The MeiliSearch configuration is located at cloud-scripts/providers/{provider}/cloud-config.yaml

The analytics and the MEILI_SERVER_PROVIDER still need to be set when creating the final image that will be released, because that's the MeiliSearch that will be used by future users.

Add .editorconfig file

To unify the basic styling rules, please add an .editorconfig file like those ones:

https://github.com/meilisearch/meilisearch-kubernetes/blob/master/.editorconfig
https://github.com/meilisearch/meilisearch-python/blob/master/.editorconfig

Create README

Create a README with the MeilISearch format, explaining the repo content.

Create CONTRIBUTING.md

Create a CONTRIBUTING.md file with detailed instructions on how to contribute to the project, bump MeiliSearch version and release process.

Revert the creation and the configuration of the meilisearch user

This is meant to simplify the removal of the ssh commands (#37 ), the cleaning ot the meilisearch-clous repositories and prepare a potential fix where the ssh keys for the user meilisearch are not copied when a user creates a meilisearch machine through a provider.

Issues on the meilisearch-cloud repositories :

  • DigitalOcean(NO NEED)
  • AWS
  • GCP

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.