-
Notifications
You must be signed in to change notification settings - Fork 1
Commit
This commit does not belong to any branch on this repository, and may belong to a fork outside of the repository.
feat: add new versions and goss checks (#72)
* feat: add new versions and goss checks * feat: add new versions and justfile * trigger ci * chore: trigger ci * chore: trigger ci * chore: trigger ci * chore: trigger ci * chore: trigger ci * add multiple rock versions and build on 24.04 * chore: trigger ci * chore: trigger ci * chore: trigger ci * chore: trigger ci * chore: trigger ci * chore: trigger ci * chore: trigger ci * chore: trigger ci * chore: trigger ci * chore: trigger ci * chore: trigger ci * chore: trigger ci * chore: trigger ci * chore: trigger ci * chore: trigger ci * use workflow from main * update readme * update rock-update
- Loading branch information
Showing
6 changed files
with
208 additions
and
2 deletions.
There are no files selected for viewing
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
name: grafana | ||
summary: Grafana in a ROCK. | ||
description: "The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more." | ||
version: "11.3.2" | ||
base: ubuntu@24.04 | ||
license: AGPL-3.0 | ||
services: | ||
grafana: | ||
command: /bin/grafana-server --config /etc/grafana/grafana-config.ini | ||
override: replace | ||
startup: enabled | ||
platforms: | ||
amd64: | ||
parts: | ||
grafana: | ||
plugin: go | ||
source: https://github.com/grafana/grafana.git | ||
source-tag: v11.3.2 | ||
source-depth: 1 | ||
build-snaps: | ||
- go/1.23/stable | ||
override-build: | | ||
set -x | ||
make build-go | ||
find bin -type f -executable | while read f; do install -D -m 755 $f ${CRAFT_PART_INSTALL}/usr/$(echo $f | sed -e 's%linux-amd64/%%'); done | ||
cp -rpv conf ${CRAFT_PART_INSTALL}/conf | ||
mkdir -p ${CRAFT_PART_INSTALL}/etc/grafana | ||
touch ${CRAFT_PART_INSTALL}/etc/grafana/grafana-config.ini | ||
stage: | ||
- bin/* | ||
- usr/bin/grafana* | ||
- conf/ | ||
- etc/grafana | ||
grafana-ui: | ||
after: [grafana] | ||
plugin: nil | ||
source-type: git | ||
source: https://github.com/grafana/grafana.git | ||
source-tag: v11.3.2 | ||
build-snaps: | ||
- node/18/stable | ||
build-environment: | ||
- NODE_OPTIONS: "--max-old-space-size=8192" | ||
override-build: | | ||
# We have to limit node's max memory usage otherwise we'll run | ||
# into OOM issues even with a 10GB RAM VM. | ||
npm install --location=global --prefix $CRAFT_PART_BUILD yarn | ||
[[ -v http_proxy ]] && yarn config set httpProxy ${http_proxy} | ||
[[ -v https_proxy ]] && yarn config set httpsProxy ${https_proxy} | ||
yarn config | ||
YARN_ENABLE_PROGRESS_BARS=false yarn install --immutable | ||
echo "Building frontend" | ||
make build-js | ||
mkdir -p ${CRAFT_PART_INSTALL}/{public,tools} | ||
cp -rpv public/* ${CRAFT_PART_INSTALL}/public/ | ||
stage: | ||
- public/ | ||
- tools/ | ||
ca-certs: | ||
plugin: nil | ||
overlay-packages: | ||
- ca-certificates | ||
deb-security-manifest: | ||
plugin: nil | ||
after: | ||
- grafana | ||
- grafana-ui | ||
- ca-certs | ||
override-prime: | | ||
set -x | ||
mkdir -p $CRAFT_PRIME/usr/share/rocks/ | ||
(echo "# os-release" && cat /etc/os-release && echo "# dpkg-query" && dpkg-query --admindir=$CRAFT_PRIME/var/lib/dpkg/ -f '${db:Status-Abbrev},${binary:Package},${Version},${source:Package},${Source:Version}\n' -W) > $CRAFT_PRIME/usr/share/rocks/dpkg.query |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,72 @@ | ||
name: grafana | ||
summary: Grafana in a ROCK. | ||
description: "The open and composable observability and data visualization platform. Visualize metrics, logs, and traces from multiple sources like Prometheus, Loki, Elasticsearch, InfluxDB, Postgres and many more." | ||
version: "11.4.0" | ||
base: ubuntu@24.04 | ||
license: AGPL-3.0 | ||
services: | ||
grafana: | ||
command: /bin/grafana-server --config /etc/grafana/grafana-config.ini | ||
override: replace | ||
startup: enabled | ||
platforms: | ||
amd64: | ||
parts: | ||
grafana: | ||
plugin: go | ||
source: https://github.com/grafana/grafana.git | ||
source-tag: v11.4.0 | ||
source-depth: 1 | ||
build-snaps: | ||
- go/1.23/stable | ||
override-build: | | ||
set -x | ||
make build-go | ||
find bin -type f -executable | while read f; do install -D -m 755 $f ${CRAFT_PART_INSTALL}/usr/$(echo $f | sed -e 's%linux-amd64/%%'); done | ||
cp -rpv conf ${CRAFT_PART_INSTALL}/conf | ||
mkdir -p ${CRAFT_PART_INSTALL}/etc/grafana | ||
touch ${CRAFT_PART_INSTALL}/etc/grafana/grafana-config.ini | ||
stage: | ||
- bin/* | ||
- usr/bin/grafana* | ||
- conf/ | ||
- etc/grafana | ||
grafana-ui: | ||
after: [grafana] | ||
plugin: nil | ||
source-type: git | ||
source: https://github.com/grafana/grafana.git | ||
source-tag: v11.4.0 | ||
build-snaps: | ||
- node/18/stable | ||
build-environment: | ||
- NODE_OPTIONS: "--max-old-space-size=8192" | ||
override-build: | | ||
# We have to limit node's max memory usage otherwise we'll run | ||
# into OOM issues even with a 10GB RAM VM. | ||
npm install --location=global --prefix $CRAFT_PART_BUILD yarn | ||
[[ -v http_proxy ]] && yarn config set httpProxy ${http_proxy} | ||
[[ -v https_proxy ]] && yarn config set httpsProxy ${https_proxy} | ||
yarn config | ||
YARN_ENABLE_PROGRESS_BARS=false yarn install --immutable | ||
echo "Building frontend" | ||
make build-js | ||
mkdir -p ${CRAFT_PART_INSTALL}/{public,tools} | ||
cp -rpv public/* ${CRAFT_PART_INSTALL}/public/ | ||
stage: | ||
- public/ | ||
- tools/ | ||
ca-certs: | ||
plugin: nil | ||
overlay-packages: | ||
- ca-certificates | ||
deb-security-manifest: | ||
plugin: nil | ||
after: | ||
- grafana | ||
- grafana-ui | ||
- ca-certs | ||
override-prime: | | ||
set -x | ||
mkdir -p $CRAFT_PRIME/usr/share/rocks/ | ||
(echo "# os-release" && cat /etc/os-release && echo "# dpkg-query" && dpkg-query --admindir=$CRAFT_PRIME/var/lib/dpkg/ -f '${db:Status-Abbrev},${binary:Package},${Version},${source:Package},${Source:Version}\n' -W) > $CRAFT_PRIME/usr/share/rocks/dpkg.query |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,15 @@ | ||
process: | ||
grafana: | ||
running: true | ||
package: | ||
ca-certificates: | ||
installed: true | ||
http: | ||
metrics: | ||
status: 200 | ||
url: http://localhost:3000/metrics | ||
timeout: 1000 | ||
health: | ||
status: 200 | ||
url: http://localhost:3000/api/health | ||
timeout: 1000 |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,35 @@ | ||
set quiet # Recipes are silent by default | ||
set export # Just variables are exported to environment variables | ||
|
||
kgoss := `which kgoss` # `kgoss` is required | ||
|
||
rock_name := `echo ${PWD##*/} | sed 's/-rock//'` | ||
latest_version := `find . -maxdepth 1 -type d | sort -V | tail -n1 | sed 's@./@@'` | ||
|
||
[private] | ||
default: | ||
just --list | ||
|
||
# Push an OCI image to a local registry | ||
[private] | ||
push-to-registry version: | ||
echo "Pushing $rock_name $version to local registry" | ||
rockcraft.skopeo --insecure-policy copy --dest-tls-verify=false \ | ||
"oci-archive:${version}/${rock_name}_${version}_amd64.rock" \ | ||
"docker://localhost:32000/${rock_name}-dev:${version}" | ||
|
||
# Pack a rock of a specific version | ||
pack version: | ||
cd "$version" && rockcraft pack | ||
|
||
# `rockcraft clean` for a specific version | ||
clean version: | ||
cd "$version" && rockcraft clean | ||
|
||
# Run a rock and open a shell into it with `kgoss` | ||
run version=latest_version: (push-to-registry version) | ||
kgoss edit -i localhost:32000/${rock_name}-dev:${version} | ||
|
||
# Test the rock with `kgoss` | ||
test version=latest_version: (push-to-registry version) | ||
GOSS_OPTS="--retry-timeout 60s" kgoss run -i localhost:32000/${rock_name}-dev:${version} |