7 Commits
0.2.0 ... 0.2.7

Author SHA1 Message Date
Morten Olsen
c8e02d8da4 ci: fix docker tag (#17) 2024-01-13 14:07:33 +01:00
Morten Olsen
9a5b27f1be ci: publish with latest tag (#16) 2024-01-13 14:01:46 +01:00
Morten Olsen
0760328854 fix: add health checks and volumes to docker file (#2)
Co-authored-by: Morten Olsen <morten-olsen@users.noreply.github.com>
2024-01-12 22:48:38 +01:00
Morten Olsen
fa23b325b3 chore: add issue templates (#15) 2024-01-12 22:26:29 +01:00
Morten Olsen
4f183310a6 fix: add runner as a dependency of cli (#14) 2024-01-12 22:20:41 +01:00
Morten Olsen
ecce49209f docs: add community health files (#11) 2024-01-12 22:04:50 +01:00
Morten Olsen
f8f0eca320 docs: new banner (#9) 2024-01-12 21:36:25 +01:00
12 changed files with 175 additions and 14 deletions

27
.github/ISSUE_TEMPLATE/bug_report.md vendored Normal file
View File

@@ -0,0 +1,27 @@
---
name: Bug report
about: Create a report to help us improve
title: ''
labels: bug
assignees: ''
---
**Describe the bug**
A clear and concise description of what the bug is.
**To Reproduce**
Steps to reproduce the behavior:
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error
**Expected behavior**
A clear and concise description of what you expected to happen.
**Screenshots**
If applicable, add screenshots to help explain your problem.
**Additional context**
Add any other context about the problem here.

View File

@@ -0,0 +1,20 @@
---
name: Feature request
about: Suggest an idea for this project
title: ''
labels: enhancement
assignees: ''
---
**Is your feature request related to a problem? Please describe.**
A clear and concise description of what the problem is. Ex. I'm always frustrated when [...]
**Describe the solution you'd like**
A clear and concise description of what you want to happen.
**Describe alternatives you've considered**
A clear and concise description of any alternative solutions or features you've considered.
**Additional context**
Add any other context or screenshots about the feature request here.

View File

@@ -82,6 +82,8 @@ jobs:
uses: docker/metadata-action@9ec57ed1fcdbf14dcef7dfbe97b2010124a938b7
with:
images: ${{ env.REGISTRY }}/${{ env.IMAGE_NAME }}
tags: |
latest
- name: Build and push Docker image
uses: docker/build-push-action@f2a1d5e99d037542a71f64918e516c093c6f3fc4
with:

43
CODE_OF_CONDUCT.md Normal file
View File

@@ -0,0 +1,43 @@
# Code of Conduct
## Our Pledge
In the interest of fostering an open and welcoming environment, we as contributors and maintainers pledge to making participation in our project and our community a harassment-free experience for everyone, regardless of age, body size, disability, ethnicity, gender identity and expression, level of experience, nationality, personal appearance, race, religion, or sexual identity and orientation.
## Our Standards
Examples of behavior that contributes to creating a positive environment include:
- Using welcoming and inclusive language
- Being respectful of differing viewpoints and experiences
- Gracefully accepting constructive criticism
- Focusing on what is best for the community
- Showing empathy towards other community members
Examples of unacceptable behavior by participants include:
- The use of sexualized language or imagery and unwelcome sexual attention or advances
- Trolling, insulting/derogatory comments, and personal or political attacks
- Public or private harassment
- Publishing others' private information, such as a physical or electronic address, without explicit permission
- Other conduct which could reasonably be considered inappropriate in a professional setting
## Our Responsibilities
Project maintainers are responsible for clarifying the standards of acceptable behavior and are expected to take appropriate and fair corrective action in response to any instances of unacceptable behavior.
Project maintainers have the right and responsibility to remove, edit, or reject comments, commits, code, wiki edits, issues, and other contributions that are not aligned with this Code of Conduct, or to ban temporarily or permanently any contributor for other behaviors that they deem inappropriate, threatening, offensive, or harmful.
## Scope
This Code of Conduct applies both within project spaces and in public spaces when an individual is representing the project or its community. Examples of representing a project or community include using an official project e-mail address, posting via an official social media account, or acting as an appointed representative at an online or offline event. Representation of a project may be further defined and clarified by project maintainers.
## Enforcement
Instances of abusive, harassing, or otherwise unacceptable behavior may be reported by contacting the project team at s56gkgkq@void.black. All complaints will be reviewed and investigated and will result in a response that is deemed necessary and appropriate to the circumstances. The project team is obligated to maintain confidentiality with regard to the reporter of an incident. Further details of specific enforcement policies may be posted separately.
Project maintainers who do not follow or enforce the Code of Conduct in good faith may face temporary or permanent repercussions as determined by other members of the project's leadership.
## Attribution
This Code of Conduct is adapted from the [Contributor Covenant](https://www.contributor-covenant.org), version 1.4, available at https://www.contributor-covenant.org/version/1/4/code-of-conduct.html

59
CONTRIBUTING.md Normal file
View File

@@ -0,0 +1,59 @@
# Contributing to mini loader
First off, thank you for considering contributing to mini loader! It's people like you that make mini loader such a great tool.
## Code of Conduct
This project and everyone participating in it is governed by the [mini loader Code of Conduct](CODE_OF_CONDUCT.md). By participating, you are expected to uphold this code. Please report unacceptable behavior to s56gkgkq@void.black.
## How Can I Contribute?
### Reporting Bugs
This section guides you through submitting a bug report for mini loader. Following these guidelines helps maintainers and the community understand your report, reproduce the behavior, and find related reports.
**Before Submitting A Bug Report**
- Ensure the bug was not already reported by searching on GitHub under [Issues](https://github.com/morten-olsen/mini-loader/issues).
- If you're unable to find an open issue addressing the problem, open a new one. Be sure to include a title and clear description, as much relevant information as possible, and a code sample or an executable test case demonstrating the expected behavior that is not occurring.
### Suggesting Enhancements
This section guides you through submitting an enhancement suggestion for mini loader, including completely new features and minor improvements to existing functionality.
**Before Submitting An Enhancement Suggestion**
- Check if the enhancement has already been suggested under [Issues](https://github.com/morten-olsen/mini-loader/issues).
- If it hasn't, create a new issue and provide a concise description of the enhancement with as much detail as possible.
### Your First Code Contribution
Unsure where to begin contributing to mini loader? You can start by looking through `beginner` and `help-wanted` issues:
- Beginner issues - issues which should only require a few lines of code, and a test or two.
- Help wanted issues - issues which should be a bit more involved than `beginner` issues.
### Pull Requests
- Fill in the required template
- Do not include issue numbers in the PR title
- Follow the coding style used throughout the project
- Include appropriate test coverage. New features should include new tests.
- Document new code based on the [Documentation Styleguide](#documentation-styleguide)
## Documentation Styleguide
Use this style guide for documentation:
- Use Markdown
- Reference methods and classes in markdown backticks. For example, `ClassName.methodName`
- Document new code or add comments in code to explain parts that might be confusing.
## Use a Consistent Coding Style
* 2 spaces for indentation rather than tabs
* You can try running `pnpm run test:lint` for style unification
## License
By contributing to mini loader, you agree that your contributions will be licensed under its GPL-3 License.

View File

@@ -1,10 +1,6 @@
<p>
<center>
<img src="./assets/logo.png" width="300" height="300" />
</center>
</p>
![banner](./assets/banner.png)
# Welcome to Mini Loader! 🌐
@@ -26,9 +22,11 @@ Also see [anti-features and limitations](./docs/anti-features.md)
Get up and running with mini loader in just a few steps:
1. **Install the CLI**: `npm install -g @morten-olsen/mini-loader-cli`
2. **Deploy the Server**: `docker run -p 4500:4500 -n mini-loader ghcr.io/morten-olsen/mini-loader:main`.
3. **Push Your First Load**: `mini-loader loads push script.mjs -r -i first`
3. **See the logs**: `mini-loader logs ls -l first`
2. **Deploy the Server**: `docker run -p 4500:4500 -name mini-loader ghcr.io/morten-olsen/mini-loader`.
3. **Get your access token**: `docker exec mini-loader mini-loader-server create-token`
4. **Login**: `mini-loader auth login http://localhost:4500`
5. **Push Your First Load**: `mini-loader loads push script.mjs -r -i first`
6. **See the logs**: `mini-loader logs ls -l first`
For a detailed guide on getting started, please refer to the [Getting Started Tutorial](./docs/getting-started.md).

BIN
assets/banner.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 418 KiB

View File

@@ -5,5 +5,9 @@ services:
build:
context: .
dockerfile: ./docker/Dockerfile
volumes:
- data:/app/data
ports:
- 4500:4500
volumes:
data:

View File

@@ -27,6 +27,7 @@ COPY --from=builder /app/out/full/ .
RUN pnpm turbo run build --filter=@morten-olsen/mini-loader-server
FROM base AS runner
RUN apk add --no-cache jq curl
WORKDIR /app
# Don't run production as root
@@ -38,5 +39,12 @@ RUN chmod +x /entrypoint.sh
COPY --from=installer /app .
EXPOSE 4500
VOLUME /app/data
HEALTHCHECK \
--interval=10s \
--start-period=10s \
CMD curl -f http://localhost:4500/health || exit 1
ENTRYPOINT ["/entrypoint.sh"]
CMD ["mini-loader-server", "start"]

View File

@@ -8,7 +8,7 @@ This guide will help you quickly set up and run a mini loader server using Docke
To begin, let's deploy the mini loader container. Run the following command in your terminal:
```bash
docker run -p 4500:4500 -n mini-loader ghcr.io/morten-olsen/mini-loader:main
docker run -p 4500:4500 -n mini-loader ghcr.io/morten-olsen/mini-loader:latest
```
This command downloads the latest mini loader image and runs it, exposing port 4500.

View File

@@ -20,6 +20,7 @@
}
},
"dependencies": {
"@morten-olsen/mini-loader-runner": "workspace:^",
"@rollup/plugin-auto-install": "^3.0.5",
"@rollup/plugin-commonjs": "^25.0.7",
"@rollup/plugin-json": "^6.1.0",
@@ -38,7 +39,6 @@
},
"devDependencies": {
"@morten-olsen/mini-loader-configs": "workspace:^",
"@morten-olsen/mini-loader-runner": "workspace:^",
"@morten-olsen/mini-loader-server": "workspace:^",
"@types/inquirer": "^9.0.7",
"typescript": "^5.3.3"

6
pnpm-lock.yaml generated
View File

@@ -36,6 +36,9 @@ importers:
packages/cli:
dependencies:
'@morten-olsen/mini-loader-runner':
specifier: workspace:^
version: link:../runner
'@rollup/plugin-auto-install':
specifier: ^3.0.5
version: 3.0.5(rollup@4.9.4)
@@ -85,9 +88,6 @@ importers:
'@morten-olsen/mini-loader-configs':
specifier: workspace:^
version: link:../configs
'@morten-olsen/mini-loader-runner':
specifier: workspace:^
version: link:../runner
'@morten-olsen/mini-loader-server':
specifier: workspace:^
version: link:../server