Feature: add HARP/ExApps support
Chưa có ai nhận issue này.
Đánh giá
- Độ khó
- 5/5
- Thời gian dự kiến
- Hơn một tuần
- Mức phù hợp với người mới
- 35/100
- Loại issue
- Tính năng
- Độ rõ ràng
- Cần làm rõ
- Mức độ hoạt động
- Ít trao đổi
- Công nghệ
- docker, helm, kubernetes
- Lĩnh vực
- devops, infrastructure
Hướng nghiên cứu
Không có tệp hoặc bài kiểm thử nào được nêu tên. Hãy bắt đầu bằng cách xem xét các template service và ingress hiện có của Helm cùng cấu hình Kubernetes của chart, sau đó so sánh StatefulSet được đề xuất và Docker rootless/socket exposure trên các thiết lập được hỗ trợ. Hoàn tất khi ExApps có thể được triển khai với cấu hình service và ingress hoạt động mà không phụ thuộc vào manifest dành riêng cho một cluster.
Do mô hình lập chỉ mục viết ra từ nội dung của issue.
Mô tả
Description of the change
I tried to add a StatefulSet with HARP to run exapps on kubernetes.
My tests were successful.
StatefulSet code:
apiVersion: v1
kind: ConfigMap
metadata:
name: docker-daemon-config
data:
daemon.json: |
{
"memory": "512m"
}
---
apiVersion: apps/v1
kind: StatefulSet
metadata:
labels:
app: clouduvet
name: clouduvet-harp
spec:
serviceName: harp
replicas: 1
selector:
matchLabels:
app: clouduvet
template:
metadata:
labels:
app: clouduvet
spec:
volumes:
- name: docker-config
configMap:
name: docker-daemon-config
restartPolicy: Always
securityContext:
fsGroup: 1000
containers:
- name: appapi-harp
image: ghcr.io/nextcloud/nextcloud-appapi-harp:release
imagePullPolicy: Always
env:
- name: DOCKER_HOST
value: unix:///run/user/1000/docker.sock
- name: HP_SHARED_KEY
valueFrom:
secretKeyRef:
name: harp-shared-key
key: shared-key
- name: NC_INSTANCE_URL
value: "http://nextcloud.nextcloud.svc.cluster.local"
resources:
requests:
cpu: "250m"
memory: "512Mi"
limits:
cpu: "250m"
memory: "512Mi"
#securityContext:
# privileged: true
#---
#apiVersion: v1
#kind: Pod
#metadata:
# name: appapi-harp
# labels:
# app: appapi-harp
#spec:
# restartPolicy: Always
# hostNetwork: false
# containers:
# - name: appapi-harp
# image: ghcr.io/nextcloud/nextcloud-appapi-harp:release
# imagePullPolicy: IfNotPresent
# env:
# - name: HP_SHARED_KEY
# valueFrom:
# secretKeyRef:
# name: harp-shared-key
# key: shared-key
# - name: NC_INSTANCE_URL
# value: "http://nextcloud.nextcloud.svc.cluster.local"
# ports:
# - containerPort: 8780
# - containerPort: 8782
# volumeMounts:
# - name: docker-sock
# mountPath: /var/run/docker.sock
# - name: certs
# mountPath: /certs
# volumes:
# - name: docker-sock
# hostPath:
# path: /var/run/docker.sock
# type: Socket
# - name: certs
# hostPath:
# path: /absolute/path/to/certs # Change to absolute path on host
# type: Directory
It allowed me to expose a docker rootless using harp. I put that here mostly so others may be able to reference it, feel free to use it :)
You also need to change the service and the ingress.
Benefits
ExApps support.
Possible drawbacks
The StatefulState approach is losely based on what I've done for gitlab runners on my cluster, it might not be the best approach.
I cannot guarantee that the manifest I provided can be used across every clusters.
Additional information
I am willing to create a pull request for this change. However, I'd appreciate some guidance on how to expose the docker socket of the host node in a manner that is compatible with a maximum of setups.
- Ngôn ngữ chính
- Go Template
- Star
- 537
- Fork
- 317
- Merge trung bình
- 2 ngày 3 giờ
- Pull request đã merge (30 ngày)
- 1
Chuẩn bị môi trường
- Không có Dockerfile hay tệp Docker Compose
- Có mẫu pull request
- Đọc hướng dẫn đóng góp
Bắt đầu từ đâu
- Đọc hết issue, rồi đọc hướng dẫn đóng góp của dự án.
- Bình luận trên issue rằng bạn sẽ nhận — tránh hai người làm cùng một việc.
- Fork repository và làm thay đổi trên một nhánh.
- Mở pull request có tham chiếu số hiệu của issue.
Issue khác của nextcloud/helm
-
No native support for REDIS_USER enviroment varCó thể đã có người làm @jholmes802 đã nhận 11 ngày trước. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 70/100
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
-
Failed to inspect imageĐang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
-
Nextcloud pods run as the namespace's default service account: the chart's account is only created with rbac.enabled, which binds the removed PodSecurityPolicyCó thể đã có người làm @martin-mat đã nhận 2 ngày trước. Đang mở
Độ khó 3/5 Nửa ngày Mức phù hợp với người mới 55/100
-
nextcloud.openmetrics.allowedClients is silently ignored unless nextcloud.configs is setCó thể đã có người làm @JanWelker đã nhận 27 ngày trước. Đang mở
Độ khó 3/5 1-2 ngày Mức phù hợp với người mới 78/100
Tất cả issue của nextcloud/helm
Issue tương tự
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 78/100
StellarCanary/ProtocolCanary-Action#444 ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Linux companion publish: latest.json public readback convergence window too short for GitHub CDNĐang mởclawsweeper:source-repro impact:other issue-rating: 🦞 diamond lobster P2
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 72/100
openclaw/openclaw#176572 · 2 bình luận · 1 reaction ·
Maintainer thường phản hồi trong vòng 1 ngày
-
[MAINT] Make `validate_citation_cff.yml` workflow only run if `CITATION.cff` file has changedĐang mởT.2 - Maintenance
Độ khó 1/5 Dưới một giờ Mức phù hợp với người mới 88/100
Maintainer thường phản hồi trong vòng 3 ngày
-
OptimizationCUTEst jobs fail: gfortran not installed on the runnerCó thể đã có người làm @ChrisRackauckas-Claude đã nhận hôm nay. Đang mở
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 68/100
SciML/SciMLBenchmarks.jl#1946 · 1 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày
-
Độ khó 2/5 1-3 giờ Mức phù hợp với người mới 76/100
monero-project/monero-site#2731 · 4 bình luận ·
Maintainer thường phản hồi trong vòng 1 ngày