Giter VIP home page Giter VIP logo

magasin-drill's Issues

Artifacthub does not display the README

This is the expected structure of a helm chart (https://helm.sh/docs/topics/charts/#the-chart-file-structure)

wordpress/
  Chart.yaml          # A YAML file containing information about the chart
  LICENSE             # OPTIONAL: A plain text file containing the license for the chart
  README.md           # OPTIONAL: A human-readable README file
  values.yaml         # The default configuration values for this chart
  values.schema.json  # OPTIONAL: A JSON Schema for imposing a structure on the values.yaml file
  charts/             # A directory containing any charts upon which this chart depends.
  crds/               # Custom Resource Definitions
  templates/          # A directory of templates that, when combined with values,
                      # will generate valid Kubernetes manifest files.
  templates/NOTES.txt # OPTIONAL: A plain text file containing short usage notes

However, LICENSE and README.md are in the root of the repository, not on the root of the helm chart (ie. charts/drill/)

An option is to crate a symbolic link.

Separate the zookeeper helm chart

Currently the zookeper helm chart resides within the charts/ folder of the drill helm chart. This folder is used to keep the dependencies, however, it should be possible to install zookeeper independently.

Docker image runs servers using root

The docker images run the servers (zookeeper and drill) using root account.
If one of the instances gets compromised the attacker would have full control of the container, allowing him, for example to install new tools.
To prevent this servers can be run with non-privileged accounts.

Create a helm repo

Create the helm repo using github pages and github actions so that the chart can be installed running something like:

helm repo add drill https://<url>
helm install my-drill drill/drill

Support to optionally push the tags to the registry while building

While testing new versions of the images pushing to the registry may not be something wanted.
Build scripts push the images unless if during development the push commands are commented. This may lead to errors.
To prevent it, add an option in the script that allows to push to the registry. By default it should not push

Use the official zookeeper image

At the moment of the original project was deployed there was not an official image of zookeeper.

https://github.com/31z4/zookeeper-docker/

That image generation is more secure as it checks the signatures.

Tasks required:

  1. Update the helm chart
  2. Remove the docker image generation files
  3. Update this project documentation (see below folders)

For the documentation. These are the standard folders used.

ENV ZOO_CONF_DIR=/conf
ZOO_DATA_DIR=/data
ZOO_DATA_LOG_DIR=/datalog
ZOO_LOG_DIR=/logs \

build zookeeper throws error

Steps:

Run command

 ./build.sh -r merlos -v 3.9.2 -p

It throws the error:

PROJECT=zookeeper
VERSION=3.9.2
REGISTRT=merlos
TAG=3.9.2
PUSH=true
+ docker buildx inspect magasin-builder
+ echo 'magasin-builder buildx instance already exists.'
magasin-builder buildx instance already exists.
+ [[ true == true ]]
+ echo 'Pushing to registry merlos...'
Pushing to registry merlos...
+ docker buildx build --builder=magasin-builder --platform linux/amd64,linux/arm64 --build-arg VERSION=3.9.2 -t merlos/zookeeper:3.9.2 --push .
[+] Building 0.0s (0/0)                                                                                               docker-container:magasin-builder
ERROR: Cannot connect to the Docker daemon at unix:///Users/user/.docker/run/docker.sock. Is the docker daemon running?
+ echo Done
Done
./build.sh: line 107: syntax error near unexpected token `fi'
./build.sh: line 107: `fi'

Update documentation to mention the helm repo

Currently, the documentation does not state that there is a helm repo. This is on purpose as the idea is to use the unicef/magasin repo.
This has dependency on when that repo is published.

Use debian-slim as base image

Currently, the versions that the docker images are using are based on CentOS 7.0 (inherit from original project)

However:

  • This OS is old version that is not longer maintained.
  • Not aligned with team GNU/Linux distribution of preference (debian).

Support Docker image version to be different from drill/zookeeper app version

In each subfolder of the docker folders, there is a build script (./build.sh) that receives two arguments

  1. the docker hub repo name (username),
  2. and the drill/zookeper version to download.

For instance

./docker/drill/build.sh merlos 1.21.1

It generates the corresponding image tagged as 1.21.1, however you may have more than one image with that version. So there should be a way to add some postfix to the tag of the image generated.

Chart appVersion to reflect both zookeeper and drill version

Generally the chart will be updated whenever there is a new version of drill or zookeeper images.
Currently the app version only mentions drill.

Change the version of the chart from 1.21.1 to 1.21.1-3.9.1 where the first one is drill and the second one is zookeeper's version.

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.