Skip to content

Commit 58b7325

Browse files
committed
rebase fix
2 parents 155dd4e + 093cf0c commit 58b7325

100 files changed

Lines changed: 3322 additions & 1489 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

.github/workflows/release.yaml

Lines changed: 104 additions & 106 deletions
Original file line numberDiff line numberDiff line change
@@ -6,115 +6,113 @@ on:
66

77
env:
88
PROJECT_ID: ${{ secrets.GKE_PROD_PROJECT }}
9-
# ` `` GKE_ZONE: us-central1-c # TODO: update to cluster zone
10-
RELEASE_VER : ${{ github.event.release.tag_name }}
9+
# ` `` GKE_ZONE: us-central1-c # TODO: update to cluster zone
10+
RELEASE_VER: ${{ github.event.release.tag_name }}
1111
jobs:
12-
1312
setup-build-publish-deploy:
1413
name: Build images
1514
runs-on: ubuntu-latest
1615

1716
steps:
18-
- name: Checkout
19-
uses: actions/checkout@v2
20-
21-
- name: Get release version
22-
run: echo "$RELEASE_VER"
23-
24-
- uses: google-github-actions/setup-gcloud@v0.2.0
25-
with:
26-
service_account_key: ${{ secrets.GKE_PROD_SA_KEY }}
27-
project_id: ${{ secrets.GKE_PROD_PROJECT }}
28-
export_default_credentials: true
29-
30-
# Configure Docker to use the gcloud command-line tool as a credential helper for authentication
31-
- run: |-
32-
gcloud auth configure-docker us-central1-docker.pkg.dev
33-
34-
- run: |-
35-
gcloud config get-value project
36-
37-
- run: |-
38-
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64
39-
chmod a+x skaffold
40-
41-
- name: Update package version
42-
run: |
43-
sed -i 's/0.0.0/${{env.RELEASE_VER}}/g' src/robusta/_version.py helm/robusta/Chart.yaml helm/robusta/values.yaml
44-
sed -i 's/version = "0.0.0"/version = "${{env.RELEASE_VER}}"/g' pyproject.toml
45-
sed -i 's/0.0.1/${{env.RELEASE_VER}}/g' helm/robusta/Chart.yaml
46-
47-
# Set up the buildx to run build for multiple platforms
48-
- name: Set up QEMU
49-
uses: docker/setup-qemu-action@c5ffa2a61740d9877bd1f40899a87c8ec93b0d9f
50-
51-
- name: Docker Setup Buildx
52-
uses: docker/setup-buildx-action@bea6a01aa40b4d58b0382d47e1c4a70137af67b1
53-
with:
54-
config-inline: |
55-
[worker.oci]
56-
enabled = true
57-
platforms = [ "linux/amd64", "linux/arm64" ]
58-
59-
# see https://github.com/GoogleContainerTools/skaffold/issues/4842
60-
- name: Cache skaffold image builds & config
61-
uses: actions/cache@v2
62-
with:
63-
path: ~/.skaffold/
64-
key: fixed-${{ github.sha }}
65-
restore-keys: |
66-
fixed-${{ github.sha }}
67-
fixed-
68-
69-
- name: Login to Docker Hub
70-
uses: docker/login-action@v1
71-
with:
72-
username: ${{ secrets.DOCKER_USERNAME }}
73-
password: ${{ secrets.DOCKER_PASSWORD }}
74-
75-
- name: Build with skaffold
76-
run: ./skaffold build --profile release --file-output=container-ids.json --tag='${{env.RELEASE_VER}}'
77-
78-
79-
- name: Save artifact with tags of built containers
80-
uses: actions/upload-artifact@v4
81-
with:
82-
name: container-ids
83-
path: container-ids.json
84-
85-
- name: Set up Python
86-
uses: actions/setup-python@v2
87-
with:
88-
python-version: 3.9
89-
90-
- name: Install dependencies
91-
run: |
92-
python -m pip install --upgrade pip
93-
pip install twine
94-
95-
- name: Prepare pypi dist
96-
run: |
97-
curl -sSL https://install.python-poetry.org | python3 - --version 1.4.0
98-
poetry config virtualenvs.create false
99-
poetry install --extras "all"
100-
poetry publish --build -u __token__ -p ${{ secrets.PYPI_PROJECT_TOKEN }}
101-
102-
- name: Save artifact with helm chart
103-
uses: actions/upload-artifact@v4
104-
with:
105-
name: helm-chart
106-
path: helm/robusta/
107-
108-
- name: Release Docker to Dockerhub
109-
run: |-
110-
docker buildx build \
111-
--build-arg BUILDKIT_INLINE_CACHE=1 \
112-
--platform linux/arm64,linux/amd64 \
113-
--cache-from us-central1-docker.pkg.dev/genuine-flight-317411/devel/robusta:cache \
114-
--tag robustadev/robusta-runner:${{env.RELEASE_VER}} \
115-
--push \
116-
.
117-
118-
- name: Upload helm chart
119-
run: |
120-
cd helm && ./upload_chart.sh
17+
- name: Checkout
18+
uses: actions/checkout@v2
19+
20+
- name: Get release version
21+
run: echo "$RELEASE_VER"
22+
23+
- uses: google-github-actions/setup-gcloud@v0.2.0
24+
with:
25+
service_account_key: ${{ secrets.GKE_PROD_SA_KEY }}
26+
project_id: ${{ secrets.GKE_PROD_PROJECT }}
27+
export_default_credentials: true
28+
29+
# Configure Docker to use the gcloud command-line tool as a credential helper for authentication
30+
- run: |-
31+
gcloud auth configure-docker us-central1-docker.pkg.dev
32+
33+
- run: |-
34+
gcloud config get-value project
35+
36+
- run: |-
37+
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64
38+
chmod a+x skaffold
39+
40+
- name: Update package version
41+
run: |
42+
sed -i 's/0.0.0/${{env.RELEASE_VER}}/g' src/robusta/_version.py helm/robusta/Chart.yaml helm/robusta/values.yaml
43+
sed -i 's/version = "0.0.0"/version = "${{env.RELEASE_VER}}"/g' pyproject.toml
44+
sed -i 's/0.0.1/${{env.RELEASE_VER}}/g' helm/robusta/Chart.yaml
45+
46+
# Set up the buildx to run build for multiple platforms
47+
- name: Set up QEMU
48+
uses: docker/setup-qemu-action@c5ffa2a61740d9877bd1f40899a87c8ec93b0d9f
49+
50+
- name: Docker Setup Buildx
51+
uses: docker/setup-buildx-action@bea6a01aa40b4d58b0382d47e1c4a70137af67b1
52+
with:
53+
config-inline: |
54+
[worker.oci]
55+
enabled = true
56+
platforms = [ "linux/amd64", "linux/arm64" ]
57+
58+
# see https://github.com/GoogleContainerTools/skaffold/issues/4842
59+
- name: Cache skaffold image builds & config
60+
uses: actions/cache@v4
61+
with:
62+
path: ~/.skaffold/
63+
key: fixed-${{ github.sha }}
64+
restore-keys: |
65+
fixed-${{ github.sha }}
66+
fixed-
67+
68+
- name: Login to Docker Hub
69+
uses: docker/login-action@v1
70+
with:
71+
username: ${{ secrets.DOCKER_USERNAME }}
72+
password: ${{ secrets.DOCKER_PASSWORD }}
73+
74+
- name: Build with skaffold
75+
run: ./skaffold build --profile release --file-output=container-ids.json --tag='${{env.RELEASE_VER}}'
76+
77+
- name: Save artifact with tags of built containers
78+
uses: actions/upload-artifact@v4
79+
with:
80+
name: container-ids
81+
path: container-ids.json
82+
83+
- name: Set up Python
84+
uses: actions/setup-python@v2
85+
with:
86+
python-version: 3.9
87+
88+
- name: Install dependencies
89+
run: |
90+
python -m pip install --upgrade pip
91+
pip install twine
92+
93+
- name: Prepare pypi dist
94+
run: |
95+
curl -sSL https://install.python-poetry.org | python3 - --version 1.4.0
96+
poetry config virtualenvs.create false
97+
poetry install --extras "all"
98+
poetry publish --build -u __token__ -p ${{ secrets.PYPI_PROJECT_TOKEN }}
99+
100+
- name: Save artifact with helm chart
101+
uses: actions/upload-artifact@v4
102+
with:
103+
name: helm-chart
104+
path: helm/robusta/
105+
106+
- name: Release Docker to Dockerhub
107+
run: |-
108+
docker buildx build \
109+
--build-arg BUILDKIT_INLINE_CACHE=1 \
110+
--platform linux/arm64,linux/amd64 \
111+
--cache-from us-central1-docker.pkg.dev/genuine-flight-317411/devel/robusta:cache \
112+
--tag robustadev/robusta-runner:${{env.RELEASE_VER}} \
113+
--push \
114+
.
115+
116+
- name: Upload helm chart
117+
run: |
118+
cd helm && ./upload_chart.sh

.github/workflows/test_robusta.yaml

Lines changed: 60 additions & 60 deletions
Original file line numberDiff line numberDiff line change
@@ -3,69 +3,69 @@ name: Test robusta with pytest
33
on: [push, pull_request, workflow_dispatch]
44

55
jobs:
6-
check:
7-
name: Pre-commit checks
8-
runs-on: ubuntu-latest
9-
steps:
10-
- uses: actions/checkout@v4
11-
- uses: actions/setup-python@v5
12-
- uses: pre-commit/action@v3.0.1
6+
check:
7+
name: Pre-commit checks
8+
runs-on: ubuntu-latest
9+
steps:
10+
- uses: actions/checkout@v4
11+
- uses: actions/setup-python@v5
12+
- uses: pre-commit/action@v3.0.1
1313

14-
run_tests:
15-
needs: check
16-
runs-on: ubuntu-latest
17-
steps:
18-
- uses: actions/checkout@v2
19-
- name: Set up Python
20-
uses: actions/setup-python@v2
21-
with:
22-
python-version: 3.9
14+
run_tests:
15+
needs: check
16+
runs-on: ubuntu-latest
17+
steps:
18+
- uses: actions/checkout@v2
19+
- name: Set up Python
20+
uses: actions/setup-python@v2
21+
with:
22+
python-version: 3.9
2323

24-
# setup a KIND cluster for tests which need a kubernetes image
25-
- name: Create k8s Kind Cluster
26-
uses: helm/kind-action@v1.2.0
27-
- name: Output KIND info
28-
run: |
29-
kubectl config get-contexts
24+
# setup a KIND cluster for tests which need a kubernetes image
25+
- name: Create k8s Kind Cluster
26+
uses: helm/kind-action@v1.2.0
27+
- name: Output KIND info
28+
run: |
29+
kubectl config get-contexts
3030
31-
# install robusta so that we can run tests on it
32-
- name: Install Robusta
33-
run: |
34-
curl -sSL https://install.python-poetry.org | python3 - --version 1.4.0
35-
poetry config virtualenvs.create false
36-
poetry install --extras "all"
37-
# Install tabulate version that fixes column width wrapping. Cannot be added to pypi as a git dependency, so adding it here
38-
pip install git+https://github.com/astanin/python-tabulate.git@b2c26bcb70e497f674b38aa7e29de12c0123708a#egg=tabulate
39-
# robusta-cli is a separate project now, it needs to be installed for gen-config
40-
pip install robusta-cli
31+
# install robusta so that we can run tests on it
32+
- name: Install Robusta
33+
run: |
34+
curl -sSL https://install.python-poetry.org | python3 - --version 1.4.0
35+
poetry config virtualenvs.create false
36+
poetry install --extras "all"
37+
# Install tabulate version that fixes column width wrapping. Cannot be added to pypi as a git dependency, so adding it here
38+
pip install git+https://github.com/astanin/python-tabulate.git@b2c26bcb70e497f674b38aa7e29de12c0123708a#egg=tabulate
39+
# robusta-cli is a separate project now, it needs to be installed for gen-config
40+
pip install robusta-cli
4141
42-
# build robusta docker images for tests which run in-cluster on KIND
43-
- run: |-
44-
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64
45-
chmod a+x skaffold
46-
- name: Cache skaffold image builds & config
47-
uses: actions/cache@v2
48-
with:
49-
path: ~/.skaffold/
50-
key: fixed-${{ github.sha }}
51-
restore-keys: |
52-
fixed-${{ github.sha }}
53-
fixed-
54-
- name: Build with skaffold
55-
run: |
56-
echo 'building with tag test-${{ github.sha }}'
57-
./skaffold build --push=false --file-output=container-ids.json --tag='test-${{ github.sha }}'
58-
kind load docker-image --name chart-testing 'us-central1-docker.pkg.dev/genuine-flight-317411/devel/robusta-runner:test-${{ github.sha }}'
42+
# build robusta docker images for tests which run in-cluster on KIND
43+
- run: |-
44+
curl -Lo skaffold https://storage.googleapis.com/skaffold/releases/latest/skaffold-linux-amd64
45+
chmod a+x skaffold
46+
- name: Cache skaffold image builds & config
47+
uses: actions/cache@v4
48+
with:
49+
path: ~/.skaffold/
50+
key: fixed-${{ github.sha }}
51+
restore-keys: |
52+
fixed-${{ github.sha }}
53+
fixed-
54+
- name: Build with skaffold
55+
run: |
56+
echo 'building with tag test-${{ github.sha }}'
57+
./skaffold build --push=false --file-output=container-ids.json --tag='test-${{ github.sha }}'
58+
kind load docker-image --name chart-testing 'us-central1-docker.pkg.dev/genuine-flight-317411/devel/robusta-runner:test-${{ github.sha }}'
5959
60-
# update helm chart to use the image we just built
61-
- name: Update package version
62-
run: |
63-
sed -i 's/0.0.0/test-${{ github.sha }}/g' helm/robusta/Chart.yaml helm/robusta/values.yaml
60+
# update helm chart to use the image we just built
61+
- name: Update package version
62+
run: |
63+
sed -i 's/0.0.0/test-${{ github.sha }}/g' helm/robusta/Chart.yaml helm/robusta/values.yaml
6464
65-
# run the actual tests
66-
- name: Test Robusta
67-
env:
68-
PYTEST_SLACK_TOKEN: ${{ secrets.PYTEST_SLACK_TOKEN }}
69-
PYTEST_IN_CLUSTER_SLACK_TOKEN: ${{ secrets.PYTEST_IN_CLUSTER_SLACK_TOKEN }}
70-
run: |
71-
pytest -s --image='us-central1-docker.pkg.dev/genuine-flight-317411/devel/robusta-runner:test-${{ github.sha }}'
65+
# run the actual tests
66+
- name: Test Robusta
67+
env:
68+
PYTEST_SLACK_TOKEN: ${{ secrets.PYTEST_SLACK_TOKEN }}
69+
PYTEST_IN_CLUSTER_SLACK_TOKEN: ${{ secrets.PYTEST_IN_CLUSTER_SLACK_TOKEN }}
70+
run: |
71+
pytest -s --image='us-central1-docker.pkg.dev/genuine-flight-317411/devel/robusta-runner:test-${{ github.sha }}'

README.md

Lines changed: 18 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
<h2 align="center">Better grouping, enrichment, and remediation of your existing alerts</h2>
66
<p align="center">
77
<a href="#%EF%B8%8F-how-it-works"><strong>How it Works</strong></a> |
8-
<a href="#-installing-robusta"><strong>Installation</strong></a> |
8+
<a href="#-installing-robusta"><strong>Installation</strong></a> |
99
<a href="https://docs.robusta.dev/master/configuration/index.html"><strong>Integrations ↗</strong></a> |
1010
<a href="https://docs.robusta.dev/master/index.html"><strong>Docs ↗</strong></a> |
1111
<a href="https://bit.ly/robusta-slack"><strong>Slack Community ↗</strong></a>
@@ -16,10 +16,10 @@
1616

1717
Compatible with kube-prometheus-stack, Prometheus Operator, and more.
1818

19-
Robusta integrates with Prometheus by webhook and adds features like:
19+
Robusta integrates with Prometheus by webhook and adds features like:
2020

2121
* [**Smart Grouping**](https://docs.robusta.dev/master/configuration/notification-grouping.html) - reduce notification spam with Slack threads 🧵
22-
* [**AI Investigation**](https://docs.robusta.dev/master/configuration/ai-analysis.html#ai-analysis) - Kickstart alert investigation with AI (optional)
22+
* [**AI Investigation**](https://docs.robusta.dev/master/configuration/holmesgpt/index.html#ai-analysis) - Kickstart alert investigation with AI (optional)
2323
* [**Alert Enrichment**](https://docs.robusta.dev/master/how-it-works/index.html#automatically-investigate-a-prometheus-alert) - see pod logs and other data alongside your alerts
2424
* [**Self-Healing**](https://docs.robusta.dev/master/tutorials/alert-remediation.html#remediate-prometheus-alerts) - define auto-remediation rules for faster fixes
2525
* [**Advanced Routing**](https://docs.robusta.dev/master/notification-routing/configuring-sinks.html) based on team, namespace, and more
@@ -52,10 +52,25 @@ Robusta is installed with Helm. For convenience, we provide a CLI wizard to gene
5252

5353
You can install Robusta alongside your existing Prometheus, or as an all-in-one bundle with Robusta and a preconfigured `kube-prometheus-stack`.
5454

55+
To get *even more* out of Robusta, we recommend creating [a free Robusta UI account](#-free-robusta-ui). Learn more below.
56+
57+
[Create a free Robusta UI account »](https://platform.robusta.dev/signup?utm_source=github&utm_medium=robusta-readme&utm_content=installing_robusta_section)
58+
5559
[Installation instructions »](https://docs.robusta.dev/master/setup-robusta/installation/index.html)
5660

5761
<!-- <p align="right">(<a href="#top">back to top</a>)</p> -->
5862

63+
## 🖥 Free Robusta UI
64+
Take your Kubernetes monitoring to the next level with the [Robusta SaaS platform](https://platform.robusta.dev/signup?utm_source=github&utm_medium=robusta-readme&utm_content=free_robusta_ui_section). Creating an account is free, and includes:
65+
66+
- **AI Assistant**: Solve alerts faster with an AI assistant that highlights relevant observability data
67+
- **Alert Timeline**: View Prometheus alerts across multiple clusters and spot correlations with a powerful timeline view
68+
- **Change Tracking**: Correlate alerts with changes to your infrastructure or applications, with Robusta’s automatic change tracking for Kubernetes
69+
70+
<a href="https://www.loom.com/share/89c7e098d9494d79895738e0b06091f0">
71+
<img src="https://cdn.loom.com/sessions/thumbnails/89c7e098d9494d79895738e0b06091f0-f508768968f50b46-full-play.gif">
72+
</a>
73+
5974
## 📝 Documentation
6075
Interested? Learn more about Robusta.
6176

210 KB
Binary file not shown.

0 commit comments

Comments
 (0)