Skip to content

Commit 0fc3cdf

Browse files
committed
feedback: add deprecated flag and update NOTES.txt
1 parent c56da26 commit 0fc3cdf

File tree

3 files changed

+182
-167
lines changed

3 files changed

+182
-167
lines changed

.github/workflows/chart-test.yml

Lines changed: 166 additions & 166 deletions
Original file line numberDiff line numberDiff line change
@@ -3,13 +3,13 @@ name: Helm Chart Integration Test
33
on:
44
# Run on merge to main
55
push:
6-
branches: [ main ]
6+
branches: [main]
77
# Run on pull requests
88
pull_request:
9-
branches: [ main ]
9+
branches: [main]
1010
# Run nightly at 2 AM UTC
1111
schedule:
12-
- cron: '0 2 * * *'
12+
- cron: "0 2 * * *"
1313
# Allow manual trigger
1414
workflow_dispatch:
1515

@@ -18,166 +18,166 @@ jobs:
1818
runs-on: ubuntu-latest
1919

2020
steps:
21-
- name: Checkout code
22-
uses: actions/checkout@v4
23-
24-
- name: Set up Helm
25-
uses: azure/setup-helm@v3
26-
with:
27-
version: '3.12.0'
28-
29-
- name: Update appVersion for nightly builds
30-
if: github.event_name == 'schedule'
31-
run: |
32-
echo "Updating appVersion to 2-nightly for scheduled builds"
33-
sed -i 's/^appVersion:.*/appVersion: 2-nightly/' charts/clickstack/Chart.yaml
34-
echo "Updated Chart.yaml:"
35-
cat charts/clickstack/Chart.yaml
36-
37-
- name: Create kind cluster config
38-
run: |
39-
cat > kind-config.yaml << EOF
40-
kind: Cluster
41-
apiVersion: kind.x-k8s.io/v1alpha4
42-
nodes:
43-
- role: control-plane
44-
extraPortMappings:
45-
- containerPort: 30000
46-
hostPort: 3000
47-
protocol: TCP
48-
- containerPort: 30001
49-
hostPort: 4318
50-
protocol: TCP
51-
EOF
52-
53-
- name: Create kind cluster
54-
uses: helm/kind-action@v1
55-
with:
56-
cluster_name: hyperdx-test
57-
config: kind-config.yaml
58-
59-
- name: Install local-path-provisioner
60-
run: |
61-
kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.24/deploy/local-path-storage.yaml
62-
kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
63-
64-
- name: Run Helm unit tests
65-
run: |
66-
helm plugin install https://github.com/helm-unittest/helm-unittest.git || true
67-
helm unittest charts/clickstack
68-
69-
- name: Deploy ClickStack chart
70-
run: |
71-
# Create test values for faster deployment
72-
cat > test-values.yaml << EOF
73-
hyperdx:
74-
apiKey: "test-api-key-for-ci"
75-
frontendUrl: "http://localhost:3000"
76-
replicas: 1
77-
service:
78-
type: NodePort
79-
nodePort: 30000
80-
81-
clickhouse:
82-
persistence:
83-
enabled: true
84-
dataSize: 2Gi
85-
logSize: 1Gi
86-
87-
mongodb:
88-
persistence:
89-
enabled: true
90-
dataSize: 2Gi
91-
92-
otel:
93-
resources:
94-
requests:
95-
memory: "128Mi"
96-
cpu: "100m"
97-
limits:
98-
memory: "256Mi"
99-
cpu: "200m"
100-
EOF
101-
102-
# Install the chart
103-
helm install hyperdx-test ./charts/clickstack -f test-values.yaml --timeout=5m
104-
105-
# Give services time to initialize after pods are running
106-
echo "Waiting for services to initialize..."
107-
sleep 20
108-
109-
- name: Bootstrap team in MongoDB
110-
run: |
111-
# Wait for MongoDB to be ready
112-
kubectl wait --for=condition=Ready pods -l app=mongodb --timeout=300s
113-
114-
echo "Creating test team in MongoDB..."
115-
kubectl exec -n default deployment/hyperdx-test-clickstack-mongodb -- mongosh hyperdx --eval "
116-
db.teams.insertOne({
117-
name: 'CI Test Team',
118-
apiKey: 'test-api-key-for-ci',
119-
collectorAuthenticationEnforced: false,
120-
createdAt: new Date(),
121-
updatedAt: new Date()
122-
})
123-
"
124-
125-
echo "Verifying team creation..."
126-
kubectl exec -n default deployment/hyperdx-test-clickstack-mongodb -- mongosh hyperdx --eval "
127-
const team = db.teams.findOne({ apiKey: 'test-api-key-for-ci' });
128-
if (team) {
129-
print('Team created successfully:', team.name);
130-
} else {
131-
print('Team creation failed');
132-
exit(1);
133-
}
134-
"
135-
136-
echo "Waiting for OpAMP server to reconfigure collectors..."
137-
sleep 30
138-
139-
- name: Verify deployment
140-
run: |
141-
echo "Initial pod status:"
142-
kubectl get pods -o wide
143-
144-
echo "Waiting for all pods to be ready..."
145-
kubectl wait --for=condition=Ready pods --all --timeout=600s
146-
147-
echo "Final pod status:"
148-
kubectl get pods -o wide
149-
150-
kubectl get services
151-
152-
- name: Run comprehensive smoke tests
153-
run: |
154-
chmod +x ./scripts/smoke-test.sh
155-
156-
RELEASE_NAME=hyperdx-test NAMESPACE=default ./scripts/smoke-test.sh
157-
158-
- name: Collect logs on failure
159-
if: failure()
160-
run: |
161-
echo "=== Pod Status ==="
162-
kubectl get pods -o wide
163-
164-
echo "=== Events ==="
165-
kubectl get events --sort-by=.metadata.creationTimestamp
166-
167-
echo "=== ClickStack App Logs ==="
168-
kubectl logs -l app=app --tail=100 || true
169-
170-
echo "=== ClickHouse Logs ==="
171-
kubectl logs -l app=clickhouse --tail=100 || true
172-
173-
echo "=== MongoDB Logs ==="
174-
kubectl logs -l app=mongodb --tail=100 || true
175-
176-
echo "=== OTEL Collector Logs ==="
177-
kubectl logs -l app=otel-collector --tail=100 || true
178-
179-
- name: Cleanup
180-
if: always()
181-
run: |
182-
helm uninstall hyperdx-test || true
183-
kind delete cluster --name hyperdx-test || true
21+
- name: Checkout code
22+
uses: actions/checkout@v4
23+
24+
- name: Set up Helm
25+
uses: azure/setup-helm@v3
26+
with:
27+
version: "3.12.0"
28+
29+
- name: Update appVersion for nightly builds
30+
if: github.event_name == 'schedule'
31+
run: |
32+
echo "Updating appVersion to 2-nightly for scheduled builds"
33+
sed -i 's/^appVersion:.*/appVersion: 2-nightly/' charts/clickstack/Chart.yaml
34+
echo "Updated Chart.yaml:"
35+
cat charts/clickstack/Chart.yaml
36+
37+
- name: Create kind cluster config
38+
run: |
39+
cat > kind-config.yaml << EOF
40+
kind: Cluster
41+
apiVersion: kind.x-k8s.io/v1alpha4
42+
nodes:
43+
- role: control-plane
44+
extraPortMappings:
45+
- containerPort: 30000
46+
hostPort: 3000
47+
protocol: TCP
48+
- containerPort: 30001
49+
hostPort: 4318
50+
protocol: TCP
51+
EOF
52+
53+
- name: Create kind cluster
54+
uses: helm/kind-action@v1
55+
with:
56+
cluster_name: hyperdx-test
57+
config: kind-config.yaml
58+
59+
- name: Install local-path-provisioner
60+
run: |
61+
kubectl apply -f https://raw.githubusercontent.com/rancher/local-path-provisioner/v0.0.24/deploy/local-path-storage.yaml
62+
kubectl patch storageclass local-path -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
63+
64+
- name: Run Helm unit tests
65+
run: |
66+
helm plugin install https://github.com/helm-unittest/helm-unittest.git || true
67+
helm unittest charts/clickstack
68+
69+
- name: Deploy ClickStack chart
70+
run: |
71+
# Create test values for faster deployment
72+
cat > test-values.yaml << EOF
73+
hyperdx:
74+
apiKey: "test-api-key-for-ci"
75+
frontendUrl: "http://localhost:3000"
76+
replicas: 1
77+
service:
78+
type: NodePort
79+
nodePort: 30000
80+
81+
clickhouse:
82+
persistence:
83+
enabled: true
84+
dataSize: 2Gi
85+
logSize: 1Gi
86+
87+
mongodb:
88+
persistence:
89+
enabled: true
90+
dataSize: 2Gi
91+
92+
otel:
93+
resources:
94+
requests:
95+
memory: "128Mi"
96+
cpu: "100m"
97+
limits:
98+
memory: "256Mi"
99+
cpu: "200m"
100+
EOF
101+
102+
# Install the chart
103+
helm install hyperdx-test ./charts/clickstack -f test-values.yaml --timeout=5m
104+
105+
# Give services time to initialize after pods are running
106+
echo "Waiting for services to initialize..."
107+
sleep 20
108+
109+
- name: Bootstrap team in MongoDB
110+
run: |
111+
# Wait for MongoDB to be ready
112+
kubectl wait --for=condition=Ready pods -l app=mongodb --timeout=300s
113+
114+
echo "Creating test team in MongoDB..."
115+
kubectl exec -n default deployment/hyperdx-test-clickstack-mongodb -- mongosh hyperdx --eval "
116+
db.teams.insertOne({
117+
name: 'CI Test Team',
118+
apiKey: 'test-api-key-for-ci',
119+
collectorAuthenticationEnforced: false,
120+
createdAt: new Date(),
121+
updatedAt: new Date()
122+
})
123+
"
124+
125+
echo "Verifying team creation..."
126+
kubectl exec -n default deployment/hyperdx-test-clickstack-mongodb -- mongosh hyperdx --eval "
127+
const team = db.teams.findOne({ apiKey: 'test-api-key-for-ci' });
128+
if (team) {
129+
print('Team created successfully:', team.name);
130+
} else {
131+
print('Team creation failed');
132+
exit(1);
133+
}
134+
"
135+
136+
echo "Waiting for OpAMP server to reconfigure collectors..."
137+
sleep 30
138+
139+
- name: Verify deployment
140+
run: |
141+
echo "Initial pod status:"
142+
kubectl get pods -o wide
143+
144+
echo "Waiting for all pods to be ready..."
145+
kubectl wait --for=condition=Ready pods --all --timeout=600s
146+
147+
echo "Final pod status:"
148+
kubectl get pods -o wide
149+
150+
kubectl get services
151+
152+
- name: Run comprehensive smoke tests
153+
run: |
154+
chmod +x ./scripts/smoke-test.sh
155+
156+
RELEASE_NAME=hyperdx-test NAMESPACE=default ./scripts/smoke-test.sh
157+
158+
- name: Collect logs on failure
159+
if: failure()
160+
run: |
161+
echo "=== Pod Status ==="
162+
kubectl get pods -o wide
163+
164+
echo "=== Events ==="
165+
kubectl get events --sort-by=.metadata.creationTimestamp
166+
167+
echo "=== ClickStack App Logs ==="
168+
kubectl logs -l app=app --tail=100 || true
169+
170+
echo "=== ClickHouse Logs ==="
171+
kubectl logs -l app=clickhouse --tail=100 || true
172+
173+
echo "=== MongoDB Logs ==="
174+
kubectl logs -l app=mongodb --tail=100 || true
175+
176+
echo "=== OTEL Collector Logs ==="
177+
kubectl logs -l app=otel-collector --tail=100 || true
178+
179+
- name: Cleanup
180+
if: always()
181+
run: |
182+
helm uninstall hyperdx-test || true
183+
kind delete cluster --name hyperdx-test || true

charts/hdx-oss-v2/Chart.yaml

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,3 +4,4 @@ description: A Helm chart for HyperDX OSS V2
44
type: application
55
version: 0.8.4
66
appVersion: 2.7.1
7+
deprecated: true

charts/hdx-oss-v2/templates/NOTES.txt

Lines changed: 15 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,20 @@
1+
================================================================================
2+
WARNING: THIS CHART IS DEPRECATED
3+
================================================================================
4+
5+
The 'hdx-oss-v2' chart has been deprecated and renamed to 'clickstack'.
6+
7+
Please migrate to the new chart:
8+
helm repo update
9+
helm upgrade {{ .Release.Name }} hyperdx/clickstack --reuse-values
10+
11+
For more information, see: https://github.com/hyperdxio/helm-charts
12+
13+
================================================================================
14+
115
HyperDX has been installed.
216

3-
Note: By default, this chart also installs clickhouse and the otel-collector. However, for production,
17+
Note: By default, this chart also installs clickhouse and the otel-collector. However, for production,
418
it is recommended that you use the clickhouse and otel-collector operators instead.
519

620
To disable clickhouse and otel-collector, set the following values:

0 commit comments

Comments
 (0)