Clean up Helm directory and update documentation
- Removed deprecated chart files from helm/ root directory - Updated all Helm documentation to reference warehouse13 chart - Changed database name from 'datalake' to 'warehouse13' in values.yaml - Updated helm command examples in SUMMARY.md - Fixed migration instructions in helm/README.md - Updated PostgreSQL backup/restore commands with correct database name 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -164,7 +164,7 @@ curl -X POST "http://localhost:8000/api/v1/artifacts/query" \
|
|||||||
make deploy
|
make deploy
|
||||||
|
|
||||||
# Or directly with Helm
|
# Or directly with Helm
|
||||||
helm install datalake ./helm --namespace datalake --create-namespace
|
helm install warehouse13 ./helm/warehouse13 --namespace warehouse13 --create-namespace
|
||||||
```
|
```
|
||||||
|
|
||||||
## Feature Flags Usage
|
## Feature Flags Usage
|
||||||
@@ -190,9 +190,8 @@ AWS_REGION=us-east-1
|
|||||||
S3_BUCKET_NAME=your-bucket
|
S3_BUCKET_NAME=your-bucket
|
||||||
|
|
||||||
# Deploy
|
# Deploy
|
||||||
helm install datalake ./helm \
|
helm install warehouse13 ./helm/warehouse13 \
|
||||||
--set config.deploymentMode=cloud \
|
--set global.deploymentMode=cloud
|
||||||
--set aws.enabled=true
|
|
||||||
```
|
```
|
||||||
|
|
||||||
## What's Next
|
## What's Next
|
||||||
|
|||||||
@@ -1,14 +0,0 @@
|
|||||||
apiVersion: v2
|
|
||||||
name: warehouse13
|
|
||||||
description: Warehouse13 - Enterprise Test Artifact Storage (Legacy Chart - Use ./warehouse13 instead)
|
|
||||||
type: application
|
|
||||||
version: 1.0.0
|
|
||||||
appVersion: "1.0.0"
|
|
||||||
keywords:
|
|
||||||
- testing
|
|
||||||
- artifacts
|
|
||||||
- storage
|
|
||||||
- datalake
|
|
||||||
deprecated: true
|
|
||||||
maintainers:
|
|
||||||
- name: Warehouse13 Team
|
|
||||||
@@ -20,23 +20,19 @@ helm install warehouse13 ./warehouse13
|
|||||||
|
|
||||||
**Documentation:** See [warehouse13/README.md](./warehouse13/README.md)
|
**Documentation:** See [warehouse13/README.md](./warehouse13/README.md)
|
||||||
|
|
||||||
## Legacy Chart (Deprecated)
|
## Migration from Legacy Chart
|
||||||
|
|
||||||
The files in this root `helm/` directory are from an older version and are marked as deprecated. Please use the `./warehouse13/` chart instead.
|
If you were using an older version of the chart, migration is straightforward:
|
||||||
|
|
||||||
## Migration
|
|
||||||
|
|
||||||
If you're using the old chart, migration is straightforward:
|
|
||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Uninstall old chart
|
# Uninstall old chart (if named "datalake" or other name)
|
||||||
helm uninstall datalake
|
helm uninstall <old-release-name>
|
||||||
|
|
||||||
# Install new chart
|
# Install new chart
|
||||||
helm install warehouse13 ./warehouse13
|
helm install warehouse13 ./warehouse13 --namespace warehouse13 --create-namespace
|
||||||
|
|
||||||
# Or upgrade in place (if compatible)
|
# Or upgrade in place (if compatible)
|
||||||
helm upgrade datalake ./warehouse13
|
helm upgrade <old-release-name> ./warehouse13
|
||||||
```
|
```
|
||||||
|
|
||||||
Note: Check your values.yaml configuration and update image repositories, resource limits, and other settings as needed.
|
Note: Check your values.yaml configuration and update image repositories, resource limits, and other settings as needed.
|
||||||
|
|||||||
@@ -1,60 +0,0 @@
|
|||||||
{{/*
|
|
||||||
Expand the name of the chart.
|
|
||||||
*/}}
|
|
||||||
{{- define "w13.name" -}}
|
|
||||||
{{- default .Chart.Name .Values.nameOverride | trunc 63 | trimSuffix "-" }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create a default fully qualified app name.
|
|
||||||
*/}}
|
|
||||||
{{- define "w13.fullname" -}}
|
|
||||||
{{- if .Values.fullnameOverride }}
|
|
||||||
{{- .Values.fullnameOverride | trunc 63 | trimSuffix "-" }}
|
|
||||||
{{- else }}
|
|
||||||
{{- $name := default .Chart.Name .Values.nameOverride }}
|
|
||||||
{{- if contains $name .Release.Name }}
|
|
||||||
{{- .Release.Name | trunc 63 | trimSuffix "-" }}
|
|
||||||
{{- else }}
|
|
||||||
{{- printf "%s-%s" .Release.Name $name | trunc 63 | trimSuffix "-" }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create chart name and version as used by the chart label.
|
|
||||||
*/}}
|
|
||||||
{{- define "w13.chart" -}}
|
|
||||||
{{- printf "%s-%s" .Chart.Name .Chart.Version | replace "+" "_" | trunc 63 | trimSuffix "-" }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Common labels
|
|
||||||
*/}}
|
|
||||||
{{- define "w13.labels" -}}
|
|
||||||
helm.sh/chart: {{ include "w13.chart" . }}
|
|
||||||
{{ include "w13.selectorLabels" . }}
|
|
||||||
{{- if .Chart.AppVersion }}
|
|
||||||
app.kubernetes.io/version: {{ .Chart.AppVersion | quote }}
|
|
||||||
{{- end }}
|
|
||||||
app.kubernetes.io/managed-by: {{ .Release.Service }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Selector labels
|
|
||||||
*/}}
|
|
||||||
{{- define "w13.selectorLabels" -}}
|
|
||||||
app.kubernetes.io/name: {{ include "w13.name" . }}
|
|
||||||
app.kubernetes.io/instance: {{ .Release.Name }}
|
|
||||||
{{- end }}
|
|
||||||
|
|
||||||
{{/*
|
|
||||||
Create the name of the service account to use
|
|
||||||
*/}}
|
|
||||||
{{- define "w13.serviceAccountName" -}}
|
|
||||||
{{- if .Values.serviceAccount.create }}
|
|
||||||
{{- default (include "w13.fullname" .) .Values.serviceAccount.name }}
|
|
||||||
{{- else }}
|
|
||||||
{{- default "default" .Values.serviceAccount.name }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
@@ -1,111 +0,0 @@
|
|||||||
apiVersion: apps/v1
|
|
||||||
kind: Deployment
|
|
||||||
metadata:
|
|
||||||
name: {{ include "w13.fullname" . }}
|
|
||||||
labels:
|
|
||||||
{{- include "w13.labels" . | nindent 4 }}
|
|
||||||
spec:
|
|
||||||
{{- if not .Values.autoscaling.enabled }}
|
|
||||||
replicas: {{ .Values.replicaCount }}
|
|
||||||
{{- end }}
|
|
||||||
selector:
|
|
||||||
matchLabels:
|
|
||||||
{{- include "w13.selectorLabels" . | nindent 6 }}
|
|
||||||
template:
|
|
||||||
metadata:
|
|
||||||
{{- with .Values.podAnnotations }}
|
|
||||||
annotations:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
labels:
|
|
||||||
{{- include "w13.selectorLabels" . | nindent 8 }}
|
|
||||||
spec:
|
|
||||||
{{- with .Values.imagePullSecrets }}
|
|
||||||
imagePullSecrets:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
serviceAccountName: {{ include "w13.serviceAccountName" . }}
|
|
||||||
securityContext:
|
|
||||||
{{- toYaml .Values.podSecurityContext | nindent 8 }}
|
|
||||||
containers:
|
|
||||||
- name: {{ .Chart.Name }}
|
|
||||||
securityContext:
|
|
||||||
{{- toYaml .Values.securityContext | nindent 12 }}
|
|
||||||
image: "{{ .Values.image.repository }}:{{ .Values.image.tag | default .Chart.AppVersion }}"
|
|
||||||
imagePullPolicy: {{ .Values.image.pullPolicy }}
|
|
||||||
ports:
|
|
||||||
- name: http
|
|
||||||
containerPort: {{ .Values.service.targetPort }}
|
|
||||||
protocol: TCP
|
|
||||||
livenessProbe:
|
|
||||||
httpGet:
|
|
||||||
path: /health
|
|
||||||
port: http
|
|
||||||
initialDelaySeconds: 30
|
|
||||||
periodSeconds: 10
|
|
||||||
readinessProbe:
|
|
||||||
httpGet:
|
|
||||||
path: /health
|
|
||||||
port: http
|
|
||||||
initialDelaySeconds: 5
|
|
||||||
periodSeconds: 5
|
|
||||||
env:
|
|
||||||
- name: DATABASE_URL
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: {{ include "w13.fullname" . }}-secrets
|
|
||||||
key: database-url
|
|
||||||
- name: STORAGE_BACKEND
|
|
||||||
value: {{ .Values.config.storageBackend | quote }}
|
|
||||||
- name: MAX_UPLOAD_SIZE
|
|
||||||
value: {{ .Values.config.maxUploadSize | quote }}
|
|
||||||
{{- if eq .Values.config.storageBackend "s3" }}
|
|
||||||
- name: AWS_ACCESS_KEY_ID
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: {{ include "w13.fullname" . }}-secrets
|
|
||||||
key: aws-access-key-id
|
|
||||||
- name: AWS_SECRET_ACCESS_KEY
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: {{ include "w13.fullname" . }}-secrets
|
|
||||||
key: aws-secret-access-key
|
|
||||||
- name: AWS_REGION
|
|
||||||
value: {{ .Values.aws.region | quote }}
|
|
||||||
- name: S3_BUCKET_NAME
|
|
||||||
value: {{ .Values.aws.bucketName | quote }}
|
|
||||||
{{- else }}
|
|
||||||
- name: MINIO_ENDPOINT
|
|
||||||
value: "{{ include "w13.fullname" . }}-minio:9000"
|
|
||||||
- name: MINIO_ACCESS_KEY
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: {{ include "w13.fullname" . }}-secrets
|
|
||||||
key: minio-access-key
|
|
||||||
- name: MINIO_SECRET_KEY
|
|
||||||
valueFrom:
|
|
||||||
secretKeyRef:
|
|
||||||
name: {{ include "w13.fullname" . }}-secrets
|
|
||||||
key: minio-secret-key
|
|
||||||
- name: MINIO_BUCKET_NAME
|
|
||||||
value: "test-artifacts"
|
|
||||||
- name: MINIO_SECURE
|
|
||||||
value: "false"
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.env }}
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
resources:
|
|
||||||
{{- toYaml .Values.resources | nindent 12 }}
|
|
||||||
{{- with .Values.nodeSelector }}
|
|
||||||
nodeSelector:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.affinity }}
|
|
||||||
affinity:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- with .Values.tolerations }}
|
|
||||||
tolerations:
|
|
||||||
{{- toYaml . | nindent 8 }}
|
|
||||||
{{- end }}
|
|
||||||
@@ -1,41 +0,0 @@
|
|||||||
{{- if .Values.ingress.enabled -}}
|
|
||||||
apiVersion: networking.k8s.io/v1
|
|
||||||
kind: Ingress
|
|
||||||
metadata:
|
|
||||||
name: {{ include "datalake.fullname" . }}
|
|
||||||
labels:
|
|
||||||
{{- include "datalake.labels" . | nindent 4 }}
|
|
||||||
{{- with .Values.ingress.annotations }}
|
|
||||||
annotations:
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
spec:
|
|
||||||
{{- if .Values.ingress.className }}
|
|
||||||
ingressClassName: {{ .Values.ingress.className }}
|
|
||||||
{{- end }}
|
|
||||||
{{- if .Values.ingress.tls }}
|
|
||||||
tls:
|
|
||||||
{{- range .Values.ingress.tls }}
|
|
||||||
- hosts:
|
|
||||||
{{- range .hosts }}
|
|
||||||
- {{ . | quote }}
|
|
||||||
{{- end }}
|
|
||||||
secretName: {{ .secretName }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
rules:
|
|
||||||
{{- range .Values.ingress.hosts }}
|
|
||||||
- host: {{ .host | quote }}
|
|
||||||
http:
|
|
||||||
paths:
|
|
||||||
{{- range .paths }}
|
|
||||||
- path: {{ .path }}
|
|
||||||
pathType: {{ .pathType }}
|
|
||||||
backend:
|
|
||||||
service:
|
|
||||||
name: {{ include "datalake.fullname" $ }}
|
|
||||||
port:
|
|
||||||
number: {{ $.Values.service.port }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
@@ -1,16 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Secret
|
|
||||||
metadata:
|
|
||||||
name: {{ include "datalake.fullname" . }}-secrets
|
|
||||||
labels:
|
|
||||||
{{- include "datalake.labels" . | nindent 4 }}
|
|
||||||
type: Opaque
|
|
||||||
stringData:
|
|
||||||
database-url: "postgresql://{{ .Values.postgresql.auth.username }}:{{ .Values.postgresql.auth.password }}@{{ include "datalake.fullname" . }}-postgresql:5432/{{ .Values.postgresql.auth.database }}"
|
|
||||||
{{- if .Values.aws.enabled }}
|
|
||||||
aws-access-key-id: {{ .Values.aws.accessKeyId | quote }}
|
|
||||||
aws-secret-access-key: {{ .Values.aws.secretAccessKey | quote }}
|
|
||||||
{{- else }}
|
|
||||||
minio-access-key: {{ .Values.minio.rootUser | quote }}
|
|
||||||
minio-secret-key: {{ .Values.minio.rootPassword | quote }}
|
|
||||||
{{- end }}
|
|
||||||
@@ -1,15 +0,0 @@
|
|||||||
apiVersion: v1
|
|
||||||
kind: Service
|
|
||||||
metadata:
|
|
||||||
name: {{ include "datalake.fullname" . }}
|
|
||||||
labels:
|
|
||||||
{{- include "datalake.labels" . | nindent 4 }}
|
|
||||||
spec:
|
|
||||||
type: {{ .Values.service.type }}
|
|
||||||
ports:
|
|
||||||
- port: {{ .Values.service.port }}
|
|
||||||
targetPort: http
|
|
||||||
protocol: TCP
|
|
||||||
name: http
|
|
||||||
selector:
|
|
||||||
{{- include "datalake.selectorLabels" . | nindent 4 }}
|
|
||||||
@@ -1,12 +0,0 @@
|
|||||||
{{- if .Values.serviceAccount.create -}}
|
|
||||||
apiVersion: v1
|
|
||||||
kind: ServiceAccount
|
|
||||||
metadata:
|
|
||||||
name: {{ include "datalake.serviceAccountName" . }}
|
|
||||||
labels:
|
|
||||||
{{- include "datalake.labels" . | nindent 4 }}
|
|
||||||
{{- with .Values.serviceAccount.annotations }}
|
|
||||||
annotations:
|
|
||||||
{{- toYaml . | nindent 4 }}
|
|
||||||
{{- end }}
|
|
||||||
{{- end }}
|
|
||||||
111
helm/values.yaml
111
helm/values.yaml
@@ -1,111 +0,0 @@
|
|||||||
replicaCount: 1
|
|
||||||
|
|
||||||
image:
|
|
||||||
repository: w13
|
|
||||||
pullPolicy: IfNotPresent
|
|
||||||
tag: "latest"
|
|
||||||
|
|
||||||
imagePullSecrets: []
|
|
||||||
nameOverride: ""
|
|
||||||
fullnameOverride: ""
|
|
||||||
|
|
||||||
serviceAccount:
|
|
||||||
create: true
|
|
||||||
annotations: {}
|
|
||||||
name: ""
|
|
||||||
|
|
||||||
podAnnotations: {}
|
|
||||||
|
|
||||||
podSecurityContext:
|
|
||||||
fsGroup: 1000
|
|
||||||
|
|
||||||
securityContext:
|
|
||||||
capabilities:
|
|
||||||
drop:
|
|
||||||
- ALL
|
|
||||||
readOnlyRootFilesystem: false
|
|
||||||
runAsNonRoot: true
|
|
||||||
runAsUser: 1000
|
|
||||||
|
|
||||||
service:
|
|
||||||
type: ClusterIP
|
|
||||||
port: 8000
|
|
||||||
targetPort: 8000
|
|
||||||
|
|
||||||
ingress:
|
|
||||||
enabled: false
|
|
||||||
className: ""
|
|
||||||
annotations: {}
|
|
||||||
hosts:
|
|
||||||
- host: w13.local
|
|
||||||
paths:
|
|
||||||
- path: /
|
|
||||||
pathType: Prefix
|
|
||||||
tls: []
|
|
||||||
|
|
||||||
resources:
|
|
||||||
limits:
|
|
||||||
cpu: 1000m
|
|
||||||
memory: 1Gi
|
|
||||||
requests:
|
|
||||||
cpu: 500m
|
|
||||||
memory: 512Mi
|
|
||||||
|
|
||||||
autoscaling:
|
|
||||||
enabled: false
|
|
||||||
minReplicas: 1
|
|
||||||
maxReplicas: 10
|
|
||||||
targetCPUUtilizationPercentage: 80
|
|
||||||
|
|
||||||
nodeSelector: {}
|
|
||||||
|
|
||||||
tolerations: []
|
|
||||||
|
|
||||||
affinity: {}
|
|
||||||
|
|
||||||
# Application configuration
|
|
||||||
config:
|
|
||||||
storageBackend: minio # or "s3"
|
|
||||||
maxUploadSize: 524288000 # 500MB
|
|
||||||
|
|
||||||
# PostgreSQL configuration
|
|
||||||
postgresql:
|
|
||||||
enabled: true
|
|
||||||
auth:
|
|
||||||
username: user
|
|
||||||
password: password
|
|
||||||
database: w13
|
|
||||||
primary:
|
|
||||||
persistence:
|
|
||||||
enabled: true
|
|
||||||
size: 10Gi
|
|
||||||
|
|
||||||
# MinIO configuration (for self-hosted storage)
|
|
||||||
minio:
|
|
||||||
enabled: true
|
|
||||||
mode: standalone
|
|
||||||
rootUser: minioadmin
|
|
||||||
rootPassword: minioadmin
|
|
||||||
persistence:
|
|
||||||
enabled: true
|
|
||||||
size: 50Gi
|
|
||||||
service:
|
|
||||||
type: ClusterIP
|
|
||||||
port: 9000
|
|
||||||
consoleService:
|
|
||||||
port: 9001
|
|
||||||
|
|
||||||
# AWS S3 configuration (when using AWS)
|
|
||||||
aws:
|
|
||||||
enabled: false
|
|
||||||
accessKeyId: ""
|
|
||||||
secretAccessKey: ""
|
|
||||||
region: us-east-1
|
|
||||||
bucketName: test-artifacts
|
|
||||||
|
|
||||||
# Environment variables
|
|
||||||
env:
|
|
||||||
- name: API_HOST
|
|
||||||
value: "0.0.0.0"
|
|
||||||
- name: API_PORT
|
|
||||||
value: "8000"
|
|
||||||
@@ -328,10 +328,10 @@ kubectl delete pvc -l app.kubernetes.io/instance=my-warehouse13
|
|||||||
|
|
||||||
```bash
|
```bash
|
||||||
# Create backup
|
# Create backup
|
||||||
kubectl exec -it warehouse13-postgres-0 -- pg_dump -U user datalake > backup.sql
|
kubectl exec -it warehouse13-postgres-0 -- pg_dump -U user warehouse13 > backup.sql
|
||||||
|
|
||||||
# Restore
|
# Restore
|
||||||
kubectl exec -i warehouse13-postgres-0 -- psql -U user datalake < backup.sql
|
kubectl exec -i warehouse13-postgres-0 -- psql -U user warehouse13 < backup.sql
|
||||||
```
|
```
|
||||||
|
|
||||||
### MinIO Backup
|
### MinIO Backup
|
||||||
|
|||||||
@@ -16,7 +16,7 @@ postgres:
|
|||||||
auth:
|
auth:
|
||||||
username: user
|
username: user
|
||||||
password: password
|
password: password
|
||||||
database: datalake
|
database: warehouse13
|
||||||
persistence:
|
persistence:
|
||||||
enabled: true
|
enabled: true
|
||||||
size: 10Gi
|
size: 10Gi
|
||||||
@@ -70,7 +70,7 @@ app:
|
|||||||
pullPolicy: always
|
pullPolicy: always
|
||||||
replicas: 2
|
replicas: 2
|
||||||
env:
|
env:
|
||||||
databaseUrl: "postgresql://user:password@warehouse13-postgres:5432/datalake"
|
databaseUrl: "postgresql://user:password@warehouse13-postgres:5432/warehouse13"
|
||||||
storageBackend: "minio"
|
storageBackend: "minio"
|
||||||
minioEndpoint: "warehouse13-minio:9000"
|
minioEndpoint: "warehouse13-minio:9000"
|
||||||
resources:
|
resources:
|
||||||
|
|||||||
Reference in New Issue
Block a user