Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
38 commits
Select commit Hold shift + click to select a range
e80d89b
fix(registry): make AgentStatus::from_str case-insensitive
CodeMaster4711 May 17, 2026
e4940e7
feat(ssh): add ephemeral key-based SSH access to cluster nodes
CodeMaster4711 May 23, 2026
e11c40e
fix(updater): correct GitHub refs API path and treat 304 as no-op
CodeMaster4711 May 24, 2026
bdaa676
fix(updater): set explicit nixosConfigurations attr in flake URL to m…
CodeMaster4711 May 28, 2026
fd08546
fix(api-gateway): exempt update status routes from rate limiting
CodeMaster4711 May 29, 2026
0b8e472
fix(csfx-updater): add --no-out-link to nixos-rebuild build to avoid…
CodeMaster4711 May 29, 2026
918afec
chore: add delete workload log in scheduler service
CodeMaster4711 May 29, 2026
74b7bd1
fix: set working directory to /tmp for nixos-rebuild to avoid symlin…
CodeMaster4711 May 29, 2026
920e730
fix: added logging for testing
CodeMaster4711 May 29, 2026
fcd2495
feat(csfx-updater): add observability logs across update pipeline
CodeMaster4711 May 29, 2026
0cfbcb6
feat(agent): log update signal when desired flake rev changes
CodeMaster4711 May 30, 2026
9ad7152
fix(updater): surface version resolution failures to etcd
CodeMaster4711 May 31, 2026
924865b
feat: added frontend for one mono repo
CodeMaster4711 Jun 1, 2026
3ace818
feat: added all frontend auth pages
CodeMaster4711 Jun 1, 2026
9f18045
feat: login flow
CodeMaster4711 Jun 1, 2026
8140686
fix: migration in docker dev enviroment and auth fix frontend
CodeMaster4711 Jun 1, 2026
60f7e41
feat: added user name in sidebar and added nodes page demo for testing
CodeMaster4711 Jun 1, 2026
8a331f4
feat: add animated custom icons for all sidebar navigation items
CodeMaster4711 Jun 2, 2026
07fc8b6
style: added sidebar in nodes
CodeMaster4711 Jun 2, 2026
f633d18
style: revert icon changes
CodeMaster4711 Jun 3, 2026
779bb16
style: added refresh buttons and nodes managment overview with small …
CodeMaster4711 Jun 3, 2026
353f803
fix: nodes offline check
CodeMaster4711 Jun 3, 2026
e896836
style: refactor nodes stats sidebar
CodeMaster4711 Jun 3, 2026
4e73dc5
feat: added graph with histroy
CodeMaster4711 Jun 3, 2026
721aa7d
Merge pull request #126 from CSFX-cloud/feat/csfx-frontend
CodeMaster4711 Jun 9, 2026
ca13d40
feat: added admin page and update page for cluster
CodeMaster4711 Jun 9, 2026
f98739f
ci: added renovate
CodeMaster4711 Jun 11, 2026
69f0ad8
feat: serve frontend statically from api-gateway on port 8000
CodeMaster4711 Jun 12, 2026
4c51605
Merge pull request #182 from CSFX-cloud/feat/update-window
CodeMaster4711 Jun 12, 2026
ca0e8d1
ci: add frontend build to pre-release pipeline
CodeMaster4711 Jun 12, 2026
16495a4
fix: use relative API URLs for same-origin deployment
CodeMaster4711 Jun 12, 2026
cdebae4
feat: add auto-generated self-signed TLS to api-gateway
CodeMaster4711 Jun 12, 2026
ba21420
fix(api-gateway): make TLS config generation async to avoid block_on …
CodeMaster4711 Jun 13, 2026
a1109d2
fix: rollback on failed update flow
CodeMaster4711 Jun 13, 2026
5ccb37d
fix: install rustls aws-lc-rs crypto provider before TLS init
CodeMaster4711 Jun 13, 2026
7c6c62b
fix: switch rustls provider from aws-lc-rs to ring for musl compat
CodeMaster4711 Jun 13, 2026
8028bae
fix: wire TLS through dev environment for gateway, agents, and registry
CodeMaster4711 Jun 13, 2026
d65b24c
fix: proxy api requests to https gateway with insecure flag for dev
CodeMaster4711 Jun 13, 2026
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
55 changes: 53 additions & 2 deletions .github/workflows/docker-build.yml
Original file line number Diff line number Diff line change
Expand Up @@ -111,6 +111,44 @@ jobs:
${{ matrix.binary }}-${{ matrix.arch }}.sha256
retention-days: 7

build-frontend:
name: Build frontend
runs-on: ubuntu-latest
needs: prepare
if: needs.prepare.outputs.should_build == 'true'
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: app/package-lock.json

- name: Install dependencies
working-directory: app
run: npm ci

- name: Build
working-directory: app
env:
VITE_API_URL: ""
run: npm run build

- name: Archive
run: tar -czf csfx-frontend.tar.gz -C app/build .

- name: Checksum
run: sha256sum csfx-frontend.tar.gz > csfx-frontend.tar.gz.sha256

- uses: actions/upload-artifact@v4
with:
name: csfx-frontend
path: |
csfx-frontend.tar.gz
csfx-frontend.tar.gz.sha256
retention-days: 7

build-cp-binaries:
name: Build CP ${{ matrix.binary }} (${{ matrix.arch }})
runs-on: ${{ matrix.runner }}
Expand Down Expand Up @@ -184,7 +222,7 @@ jobs:
attach-binaries-release:
name: Attach binaries to release
runs-on: ubuntu-latest
needs: [prepare, build-binaries, build-cp-binaries]
needs: [prepare, build-binaries, build-cp-binaries, build-frontend]
steps:
- uses: actions/checkout@v4

Expand Down Expand Up @@ -214,6 +252,8 @@ jobs:
csfx-agent-amd64.sha256 \
csfx-agent-arm64 \
csfx-agent-arm64.sha256 \
csfx-frontend.tar.gz \
csfx-frontend.tar.gz.sha256 \
${CP_BINS} \
--clobber
env:
Expand All @@ -222,7 +262,7 @@ jobs:
update-infra:
name: Update CSFX-Infra versions.nix
runs-on: ubuntu-latest
needs: [prepare, build-binaries, build-cp-binaries, attach-binaries-release]
needs: [prepare, build-binaries, build-cp-binaries, build-frontend, attach-binaries-release]
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -248,6 +288,11 @@ jobs:
path: /tmp/cp-binaries
merge-multiple: true

- uses: actions/download-artifact@v4
with:
name: csfx-frontend
path: /tmp/frontend

- name: Write versions.nix
run: |
VERSION="${{ needs.prepare.outputs.version }}"
Expand All @@ -264,6 +309,8 @@ jobs:
awk '{print $1}' "/tmp/cp-binaries/${file}.sha256" 2>/dev/null
}

FRONTEND_SHA256=$(awk '{print $1}' /tmp/frontend/csfx-frontend.tar.gz.sha256 2>/dev/null)

cat > infra/versions.nix <<EOF
{
csfx = {
Expand Down Expand Up @@ -360,6 +407,10 @@ jobs:
};
};
};
frontend = {
url = "${RELEASE_BASE}/csfx-frontend.tar.gz";
sha256 = "${FRONTEND_SHA256}";
};
};
}
EOF
Expand Down
54 changes: 52 additions & 2 deletions .github/workflows/prerelease.yml
Original file line number Diff line number Diff line change
Expand Up @@ -107,6 +107,43 @@ jobs:
${{ matrix.binary }}-${{ matrix.arch }}.sha256
retention-days: 7

build-frontend:
name: Build frontend
runs-on: ubuntu-latest
needs: version
steps:
- uses: actions/checkout@v4

- uses: actions/setup-node@v4
with:
node-version: "20"
cache: "npm"
cache-dependency-path: app/package-lock.json

- name: Install dependencies
working-directory: app
run: npm ci

- name: Build
working-directory: app
env:
VITE_API_URL: ""
run: npm run build

- name: Archive
run: tar -czf csfx-frontend.tar.gz -C app/build .

- name: Checksum
run: sha256sum csfx-frontend.tar.gz > csfx-frontend.tar.gz.sha256

- uses: actions/upload-artifact@v4
with:
name: csfx-frontend
path: |
csfx-frontend.tar.gz
csfx-frontend.tar.gz.sha256
retention-days: 7

build-cp-binaries:
name: Build CP ${{ matrix.binary }} (${{ matrix.arch }})
runs-on: ${{ matrix.runner }}
Expand Down Expand Up @@ -179,7 +216,7 @@ jobs:
github-release:
name: GitHub Pre-release
runs-on: ubuntu-latest
needs: [version, build-binaries, build-cp-binaries]
needs: [version, build-binaries, build-cp-binaries, build-frontend]
steps:
- uses: actions/checkout@v4

Expand Down Expand Up @@ -210,14 +247,16 @@ jobs:
csfx-agent-amd64.sha256 \
csfx-agent-arm64 \
csfx-agent-arm64.sha256 \
csfx-frontend.tar.gz \
csfx-frontend.tar.gz.sha256 \
${CP_BINS}
env:
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}

update-infra:
name: Update CSFX-Infra versions.nix
runs-on: ubuntu-latest
needs: [version, build-binaries, build-cp-binaries, github-release]
needs: [version, build-binaries, build-cp-binaries, build-frontend, github-release]
steps:
- uses: actions/checkout@v4
with:
Expand All @@ -244,6 +283,11 @@ jobs:
path: /tmp/cp-binaries
merge-multiple: true

- uses: actions/download-artifact@v4
with:
name: csfx-frontend
path: /tmp/frontend

- name: Write versions.nix
run: |
VERSION="${{ needs.version.outputs.version }}"
Expand All @@ -260,6 +304,8 @@ jobs:
awk '{print $1}' "/tmp/cp-binaries/${file}.sha256" 2>/dev/null
}

FRONTEND_SHA256=$(awk '{print $1}' /tmp/frontend/csfx-frontend.tar.gz.sha256 2>/dev/null)

cat > infra/versions.nix <<EOF
{
csfx = {
Expand Down Expand Up @@ -356,6 +402,10 @@ jobs:
};
};
};
frontend = {
url = "${RELEASE_BASE}/csfx-frontend.tar.gz";
sha256 = "${FRONTEND_SHA256}";
};
};
}
EOF
Expand Down
103 changes: 103 additions & 0 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

Loading
Loading