Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
3 changes: 1 addition & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,6 @@
*.log.*
*.pyc
.ipynb_*
examon-cache/
examon-cache/*
examon-cache
build
site
43 changes: 13 additions & 30 deletions Dockerfile
Original file line number Diff line number Diff line change
@@ -1,52 +1,35 @@
FROM examonhpc/examon:0.2.0
FROM examonhpc/examon:0.3.1

ENV EXAMON_HOME /etc/examon_deploy/examon

# Create a backup of the existing sources.list
RUN mv /etc/apt/sources.list /etc/apt/sources.list.backup

# Create a new sources.list file
RUN touch /etc/apt/sources.list

# Debian strech moved to archived
RUN echo "deb https://debian.mirror.garr.it/debian-archive/ stretch main" > /etc/apt/sources.list


# Install dependencies
RUN apt-get update && apt-get install -y \
apt-transport-https \
ca-certificates \
libffi-dev \
build-essential \
libssl-dev \
python-dev \
&& rm -rf /var/lib/apt/lists/*

# copy app
# Copy app
ADD ./publishers/random_pub ${EXAMON_HOME}/publishers/random_pub
ADD ./lib/examon-common $EXAMON_HOME/lib/examon-common
ADD ./docker/examon/supervisor.conf /etc/supervisor/conf.d/supervisor.conf
ADD ./scripts/examon.conf $EXAMON_HOME/scripts/examon.conf
ADD ./web $EXAMON_HOME/web

# install
RUN pip --trusted-host pypi.python.org install --upgrade pip==20.1.1
# Venvs
WORKDIR $EXAMON_HOME/scripts
RUN virtualenv py3_env

ENV PIP $EXAMON_HOME/scripts/ve/bin/pip
ENV S_PIP $EXAMON_HOME/scripts/py3_env/bin/pip

# Install
WORKDIR $EXAMON_HOME/lib/examon-common
RUN $PIP install .
RUN pip install .
RUN $S_PIP install .

# Random publisher
WORKDIR $EXAMON_HOME/publishers/random_pub
RUN $PIP install -r requirements.txt

# Web
WORKDIR $EXAMON_HOME/web
RUN virtualenv flask
RUN flask/bin/pip --trusted-host pypi.python.org install --upgrade pip==20.1.1
RUN CASS_DRIVER_BUILD_CONCURRENCY=8 flask/bin/pip --trusted-host pypi.python.org install -r ./examon-server/requirements.txt
RUN CASS_DRIVER_BUILD_CONCURRENCY=8 flask/bin/pip install -r ./examon-server/requirements.txt

WORKDIR $EXAMON_HOME/scripts

EXPOSE 1883 9001
EXPOSE 1883 5000 9001

CMD ["./frontend_ctl.sh", "start"]
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,7 +32,7 @@ It can be disabled as described in the [Enable/disable plugins](#enabledisable-t
## Prerequisites
Since Cassandra is the component that requires the majority of resources, you can find more details about the suggested hardware configuration of the system that will host the services here:

[Hardware Configuration](https://cassandra.apache.org/doc/latest/operating/hardware.html#:~:text=While%20Cassandra%20can%20be%20made,at%20least%2032GB%20of%20RAM)
[Hardware Configuration](https://cassandra.apache.org/doc/latest/cassandra/managing/operating/hardware.html)

To install all the services needed by ExaMon we will use Docker and Docker Compose:

Expand Down
2 changes: 1 addition & 1 deletion VERSION
Original file line number Diff line number Diff line change
@@ -1 +1 @@
v0.3.1
v0.4.0
6 changes: 1 addition & 5 deletions docker-compose.yml
Original file line number Diff line number Diff line change
@@ -1,4 +1,3 @@
version: "3.8"
name: "examon"

networks:
Expand All @@ -11,11 +10,8 @@ services:
examon:
build:
context: .
image: examonhpc/examon:0.2.2
image: examonhpc/examon:latest
volumes:
- type: bind
source: ./lib/examon-common
target: /etc/examon_deploy/examon/lib/examon-common
- type: bind
source: ./web/examon-server
target: /etc/examon_deploy/examon/web/examon-server
Expand Down
2 changes: 1 addition & 1 deletion docker/examon/supervisor.conf
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@ startsec=2

[program:random_pub]
directory=/etc/examon_deploy/examon/publishers/random_pub
command=python ./random_pub.py run
command=/etc/examon_deploy/examon/scripts/ve/bin/python random_pub.py run
autostart=true
autorestart=true
stderr_logfile=/var/log/random_pub.log
Expand Down
9 changes: 0 additions & 9 deletions docker/kairosdb/Dockerfile
Original file line number Diff line number Diff line change
Expand Up @@ -2,15 +2,6 @@

FROM adoptopenjdk:8-jre-hotspot-focal

# Create a backup of the existing sources.list
RUN mv /etc/apt/sources.list /etc/apt/sources.list.backup

# Create a new sources.list file
RUN touch /etc/apt/sources.list

# Add the new server repository for focal packages
RUN echo "deb https://ubuntu.mirror.garr.it/ubuntu/ focal main" > /etc/apt/sources.list

RUN set -eux; \
apt-get update; \
apt-get install -y --no-install-recommends \
Expand Down
2 changes: 1 addition & 1 deletion docs/Administrators/Getting_started.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@ This setup will install all server-side components of the ExaMon framework:
## Prerequisites
Since Cassandra is the component that requires the majority of resources, you can find more details about the suggested hardware configuration of the system that will host the services here:

[Hardware Configuration](https://cassandra.apache.org/doc/latest/operating/hardware.html#:~:text=While%20Cassandra%20can%20be%20made,at%20least%2032GB%20of%20RAM)
[Hardware Configuration](https://cassandra.apache.org/doc/latest/cassandra/managing/operating/hardware.html)

To install all the services needed by ExaMon we will use Docker and Docker Compose:

Expand Down
8 changes: 4 additions & 4 deletions docs/Plugins/examon_pub.ipynb
Original file line number Diff line number Diff line change
Expand Up @@ -6,12 +6,12 @@
"metadata": {},
"source": [
"# Example plugin\n",
"This notebook shows how to create a simple Examon publisher using Python (v3)\n",
"This notebook shows how to create a simple Examon publisher using Python.\n",
"\n",
"## Install \n",
"Install the publisher library.\n",
"Install the latest Examon publisher library.\n",
"\n",
"NOTE: This is a development release so the final API may be different in future versions."
"https://github.com/ExamonHPC/examon-common\n"
]
},
{
Expand All @@ -23,7 +23,7 @@
},
"outputs": [],
"source": [
"! python -m pip install --upgrade https://github.com/fbeneventi/releases/releases/latest/download/examon-common-py3.zip"
"! python -m pip install --upgrade git+https://github.com/ExamonHPC/examon-common.git@master"
]
},
{
Expand Down
88 changes: 88 additions & 0 deletions docs/contributing.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,88 @@
# Contributing to ExaMon

First off, thank you for considering contributing to our project!

## How Can I Contribute?

### Reporting Bugs

Before creating bug reports, please check the issue list as you might find out that you don't need to create one. When you are creating a bug report, please include as many details as possible:

* Use a clear and descriptive title
* Describe the exact steps which reproduce the problem
* Provide specific examples to demonstrate the steps
* Describe the behavior you observed after following the steps
* Explain which behavior you expected to see instead and why
* Include screenshots if possible

### Suggesting Enhancements

If you have a suggestion for the project, we'd love to hear about it. Please include:

* A clear and detailed explanation of the feature
* The motivation behind this feature
* Any alternative solutions you've considered
* If applicable, examples from other projects

### Pull Request Process

1. Fork the repository and create your branch from `master`
2. If you've added code that should be tested, add tests
3. Ensure the test suite passes
4. Update the documentation if needed
5. Issue that pull request!

#### Pull Request Guidelines

* Follow our coding standards (see below)
* Include relevant issue numbers in your PR description
* Update the README.md with details of changes if applicable
* The PR must pass all CI/CD checks [TBD]
* Wait for review from maintainers

### Development Setup

1. Fork and clone the repo
3. Create a branch: `git checkout -b my-branch-name`

### Coding Standards

* Use consistent code formatting
* Write clear commit messages following [Conventional Commits](https://www.conventionalcommits.org/) or at least the basic specification as in the [Commit Messages](#commit-messages) section.
* Comment your code where necessary
* Write tests for new features
* Keep the code simple and maintainable

### Commit Messages

Basic specification example:

```
type(scope): description
[optional body]
[optional footer]
```

The type should be one of the following:

| Type | Description |
|------|-------------|
| add | Introduces a new feature or functionality |
| fix | Patches a bug or resolves an issue |
| change | Modifies existing functionality or behavior |
| remove | Deletes or deprecates functionality |
| merge | Combines branches or resolves conflicts |
| doc | Updates documentation or comments |


### First Time Contributors

Looking for work? Check out our issues labeled `good first issue` or `help wanted`.

## License

By contributing, you agree that your contributions will be licensed under the same license that covers the project.

## Questions?

Don't hesitate to contact the project maintainers if you have any questions!
Loading