add(archivebox): Add new ArchiveBox chart (#18258)

**Description**

Adds new chart for ArchiveBox.
https://github.com/truenas/charts/issues/2165

- https://github.com/ArchiveBox/ArchiveBox
- https://hub.docker.com/r/archivebox/archivebox
-
[`Dockerfile`](https://github.com/ArchiveBox/ArchiveBox/blob/main/Dockerfile)
-
[`docker-compose.yml`](https://github.com/ArchiveBox/ArchiveBox/blob/main/docker-compose.yml)
-
[`archivebox-kubernetes.yml`](https://github.com/ArchiveBox/docker-archivebox/blob/master/archivebox.yml)
- [ArchiveBox Docker
Quickstart](https://github.com/ArchiveBox/ArchiveBox#quickstart) +
[Usage](https://github.com/ArchiveBox/ArchiveBox/wiki/Docker) +
[Configuration](https://github.com/ArchiveBox/ArchiveBox/wiki/Docker#configuration)
+
[Upgrading](https://github.com/ArchiveBox/ArchiveBox/wiki/Upgrading-or-Merging-Archives)
documentation

**⚙️ Type of change**

- [x] ⚙️ Feature/App addition
- [ ] 🪛 Bugfix
- [ ] ⚠️ Breaking change (fix or feature that would cause existing
functionality to not work as expected)
- [ ] 🔃 Refactor of current code

**🧪 How Has This Been Tested?**

I have tested it as a "Custom App" in TrueNAS scale but have not tested
beyond that. Let me know how to test it if there are other mechanisms, I
didn't see an way in the docs to load this as yaml into TrueNAS.

<img width="998" alt="image"
src="https://github.com/truecharts/charts/assets/511499/d4355f84-038c-4b97-87e8-85b46b37dd1d">


**✔️ Checklist:**

- [x] ⚖️ My code follows the style guidelines of this project
- [x] 👀 I have performed a self-review of my own code
- [x] #️⃣ I have commented my code, particularly in hard-to-understand
areas
- [ ] 📄 I have made corresponding changes to the documentation
- [ ] ⚠️ My changes generate no new warnings
- [ ] 🧪 I have added tests to this description that prove my fix is
effective or that my feature works
- [x] ⬆️ I increased versions for any altered app according to semantic
versioning

** App addition**

If this PR is an app addition please make sure you have done the
following.

- [x] 🖼️ I have added an icon in the Chart's root directory called
`icon.png`
This commit is contained in:
Nick Sweeting
2024-02-21 09:44:56 -08:00
committed by GitHub
parent d519d79443
commit 943073e4ba
9 changed files with 264 additions and 0 deletions
+35
View File
@@ -0,0 +1,35 @@
# Patterns to ignore when building packages.
# This supports shell glob matching, relative path matching, and
# negation (prefixed with !). Only one pattern per line.
.DS_Store
._*
*.pyc
__pycache__/
.mypy_cache/
.pytest_cache/
.github/
.pdm-build/
.pdm-python
.eggs/
.git/
!.git/HEAD
!.git/refs/heads/*
venv/
.venv/
.venv-old/
.docker-venv/
node_modules/
docs/
build/
dist/
brew_dist/
deb_dist/
pip_dist/
assets/
docker/
data/
data*/
output/
+1
View File
@@ -0,0 +1 @@
## ArchiveBox
+42
View File
@@ -0,0 +1,42 @@
annotations:
max_scale_version: 23.10.2
min_scale_version: 23.10.0
truecharts.org/SCALE-support: "true"
truecharts.org/category: bookmarks
truecharts.org/max_helm_version: "3.14"
truecharts.org/min_helm_version: "3.12"
truecharts.org/train: incubator
apiVersion: v2
appVersion: 2.4.9
dependencies:
- name: common
version: 17.2.30
repository: oci://tccr.io/truecharts
condition: ""
alias: ""
tags: []
import-values: []
deprecated: false
description: ArchiveBox is an open-source, self-hosted internet archiving solution.
home: https://truecharts.org/charts/incubator/archivebox
icon: https://truecharts.org/img/hotlink-ok/chart-icons/archivebox.png
keywords:
- archivebox
- archiving
- digipres
- backup
kubeVersion: ">=1.24.0-0"
maintainers:
- name: TrueCharts
email: info@truecharts.org
url: https://truecharts.org
- name: Nick Sweeting
email: truecharts@archivebox.io
url: https://archivebox.io
name: archivebox
sources:
- https://github.com/ArchiveBox/ArchiveBox
- https://github.com/truecharts/charts/tree/master/charts/incubator/archivebox
- https://hub.docker.com/r/archivebox/archivebox
type: application
version: 0.7.2
+31
View File
@@ -0,0 +1,31 @@
---
title: README
---
## General Info
TrueCharts can be installed as both _normal_ Helm Charts or as Apps on TrueNAS SCALE.
However only installations using the TrueNAS SCALE Apps system are supported.
For more information about this App, please check the docs on:
- the TrueCharts [website](https://truecharts.org/charts/incubator/archivebox)
- the ArchiveBox [website](https://github.com/ArchiveBox/ArchiveBox)
- the ArchiveBox [wiki](https://github.com/ArchiveBox/ArchiveBox/wiki/Docker)
**This chart is not maintained by the upstream project and any issues with the chart should be raised [here](https://github.com/truecharts/charts/issues/new/choose)**
## Support
- Please check our [quick-start guides for TrueNAS SCALE](https://truecharts.org/manual/SCALE/guides/scale-intro).
- See the [Website](https://truecharts.org)
- Check our [Discord](https://discord.gg/tVsPTHWTtr)
- Open a [issue](https://github.com/truecharts/charts/issues/new/choose)
---
## Sponsor TrueCharts
TrueCharts can only exist due to the incredible effort of our staff.
Please consider making a [donation](https://truecharts.org/sponsor) or contributing back to the project any way you can!
_All Rights Reserved - The TrueCharts Project_
Binary file not shown.

After

Width:  |  Height:  |  Size: 10 KiB

+110
View File
@@ -0,0 +1,110 @@
# Include{groups}
portals:
open:
# Include{portalLink}
questions:
# Include{global}
# Include{workload}
# Include{workloadDeployment}
# Include{replicas1}
# Include{podSpec}
# Include{containerMain}
# Include{containerBasic}
# Include{containerAdvanced}
# Include{containerConfig}
# Include{podOptions}
- variable: config
label: ""
group: "App Configuration"
schema:
additional_attrs: true
type: dict
attrs:
- variable: admin_username
label: "Admin Username"
description: "This is the initial admin user's username to create."
schema:
type: string
default: "admin"
- variable: admin_password
label: "Admin Password"
description: "This is the initial admin user's password to create."
schema:
type: string
default: "changeme"
# Include{serviceRoot}
- variable: main
label: Main Service
description: The Primary service on which the healthcheck runs, often the webUI
schema:
additional_attrs: true
type: dict
attrs:
# Include{serviceSelectorLoadBalancer}
# Include{serviceSelectorExtras}
- variable: main
label: Main Service Port Configuration
schema:
additional_attrs: true
type: dict
attrs:
- variable: port
label: Port
description: This port exposes the container port on the service
schema:
type: int
default: 9598
required: true
# Include{serviceExpertRoot}
# Include{serviceExpert}
# Include{serviceList}
# Include{persistenceRoot}
- variable: data
label: "App Data Storage"
description: "Stores the Application Data."
schema:
additional_attrs: true
type: dict
attrs:
# Include{persistenceBasic}
# Include{persistenceList}
# Include{ingressRoot}
- variable: main
label: Main Ingress
schema:
additional_attrs: true
type: dict
attrs:
# Include{ingressDefault}
# Include{ingressAdvanced}
# Include{ingressList}
# Include{securityContextRoot}
- variable: runAsUser
label: "runAsUser"
description: "The UserID of the user running the application"
schema:
type: int
default: 0
- variable: runAsGroup
label: "runAsGroup"
description: "The groupID of the user running the application"
schema:
type: int
default: 0
# Include{securityContextContainer}
# Include{securityContextAdvanced}
# Include{securityContextPod}
- variable: fsGroup
label: "fsGroup"
description: "The group that should own ALL storage."
schema:
type: int
default: 568
# Include{resources}
# Include{postgresql}
# Include{advanced}
# Include{addons}
# Include{codeserver}
# Include{netshoot}
# Include{vpn}
# Include{documentation}
@@ -0,0 +1 @@
{{- include "tc.v1.common.lib.chart.notes" $ -}}
@@ -0,0 +1,5 @@
{{/* Make sure all variables are set properly */}}
{{- include "tc.v1.common.loader.init" . }}
{{/* Render the templates */}}
{{ include "tc.v1.common.loader.apply" . }}
+39
View File
@@ -0,0 +1,39 @@
image:
repository: archivebox/archivebox
pullPolicy: IfNotPresent
tag: latest
config:
admin_username: "admin"
admin_password: "changeme"
securityContext:
container:
readOnlyRootFilesystem: false
runAsGroup: 0
runAsUser: 0
service:
main:
ports:
main:
port: 9598
targetPort: 8000
workload:
main:
podSpec:
containers:
main:
env:
ADMIN_USERNAME: "{{ .Values.config.admin_username }}"
ADMIN_PASSWORD: "{{ .Values.config.admin_password }}"
persistence:
data:
enabled: true
mountPath: "/data"
portal:
open:
enabled: true