6 Commits

Author SHA1 Message Date
Dreaded_X abdc2c2119 chore(docs): Added README
CI / prek (push) Successful in 10m25s
CI / cargo shear (push) Successful in 11m51s
Release-plz / Release-plz PR (push) Successful in 11m50s
Release-plz / Release-plz Release (push) Successful in 12m13s
Audit / cargo audit (push) Successful in 10m45s
2026-04-05 05:28:52 +02:00
Dreaded_X 4ee160a736 chore(actions): Setup workflows 2026-04-05 05:28:52 +02:00
Dreaded_X 748316beae chore(deps): Update dependencies 2026-04-05 05:27:53 +02:00
Dreaded_X ba35d3d0a6 chore: Disable building tests 2026-04-05 05:27:52 +02:00
Dreaded_X cb1575db25 feat(performance): Disable request features to reduce binary size 2026-04-05 05:27:52 +02:00
Dreaded_X dbcefef43c chore: Publish to gitea registry 2026-04-05 05:27:52 +02:00
8 changed files with 372 additions and 815 deletions
+3
View File
@@ -1,2 +1,5 @@
[alias]
xtask = "run --package xtask --"
[registries.infra]
index = "sparse+https://git.huizinga.dev/api/packages/infra/cargo/"
+23
View File
@@ -0,0 +1,23 @@
name: Audit
on:
push:
paths:
- "**/Cargo.toml"
- "**/Cargo.lock"
schedule:
- cron: "0 0 * * *"
jobs:
audit:
name: cargo audit
runs-on: ubuntu-latest
permissions:
issues: write
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
- uses: rustsec/audit-check@v2.0.0
with:
token: ${{ secrets.GITEA_TOKEN }}
+32
View File
@@ -0,0 +1,32 @@
name: CI
on:
push:
branches:
- "main"
tags:
- "*"
pull_request:
jobs:
prek:
name: prek
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@nightly
with:
components: rustfmt, clippy
- uses: Swatinem/rust-cache@v2
- uses: j178/prek-action@v2
cargo-shear:
name: cargo shear
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v6
- uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
- uses: taiki-e/install-action@v2
with:
tool: cargo-shear
- run: cargo shear --deny-warnings
+53
View File
@@ -0,0 +1,53 @@
name: Release-plz
on:
push:
branches:
- main
jobs:
release-plz:
name: Release-plz Release
runs-on: ubuntu-latest
permissions:
contents: write
pull-requests: read
steps:
- &checkout
uses: actions/checkout@v6
with:
fetch-depth: 0
persist-credentials: false
- uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
- uses: taiki-e/install-action@v2
with:
tool: release-plz
- &git-setup
name: Configure git
run: |
git config user.name "Release-plz"
git config user.email "release-plz@noreply.huizinga.dev"
git config url.https://${{ gitea.actor }}:${{ secrets.GITEA_TOKEN }}@git.huizinga.dev/.insteadOf https://git.huizinga.dev/
- env:
CARGO_REGISTRIES_INFRA_TOKEN: "Bearer ${{ secrets.REGISTRY_TOKEN }}"
run: release-plz release --git-token "${{ secrets.GITEA_TOKEN }}" --forge gitea --dry-run
release-plz-pr:
name: Release-plz PR
runs-on: ubuntu-latest
concurrency:
group: release-plz-${{ github.ref }}
cancel-in-progress: false
permissions:
contents: write
pull-requests: write
steps:
- *checkout
- uses: dtolnay/rust-toolchain@nightly
- uses: Swatinem/rust-cache@v2
- uses: taiki-e/install-action@v2
with:
tool: release-plz
- *git-setup
- run: release-plz release-pr --git-token "${{ secrets.GITEA_TOKEN }}" --forge gitea
+3
View File
@@ -0,0 +1,3 @@
[[package]]
name = "xtask"
release = false
Generated
+228 -813
View File
File diff suppressed because it is too large Load Diff
+11 -2
View File
@@ -3,6 +3,7 @@ name = "crete"
version = "0.1.0"
edition = "2024"
default-run = "crete"
publish = ["infra"]
[workspace]
members = ["xtask"]
@@ -14,10 +15,14 @@ serde_json = "1.0.149"
[dependencies]
clap = { version = "4.6.0", features = ["derive"] }
clap_complete = "4.6.0"
gix-discover = "0.48.0"
gix-discover = { version = "0.49.0", features = ["sha1"] }
minijinja = { version = "2.18.0", features = ["json", "loader"] }
optional_struct = "0.5.2"
reqwest = { version = "0.13.2", features = ["blocking"] }
reqwest = { version = "0.13.2", default-features = false, features = [
"blocking",
"stream",
"native-tls",
] }
schemars = { workspace = true }
semver = { version = "1.0.27", features = ["serde"] }
serde = { version = "1.0.228", features = ["derive"] }
@@ -25,3 +30,7 @@ serde_json = { workspace = true }
serde_yaml = "0.9.34"
thiserror = "2.0.18"
walkdir = "2.5.0"
[lib]
test = false
doctest = false
+19
View File
@@ -0,0 +1,19 @@
# Crete
A tool that takes node and cluster configs and uses it to generate talos configs
and render jinja templates.
## Installation
Add the following to `~/.cargo.config.toml`:
```toml
[registries.infra]
index = "sparse+https://git.huizinga.dev/api/packages/infra/cargo/"
```
You can then install `crete` by running:
```bash
cargo install --registry infra crete
```