Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
63 commits
Select commit Hold shift + click to select a range
43c7011
Establish dual-mirror build plumbing for potctl and iofogctl.
emirhandurmus Jun 19, 2026
da3eb65
Retire Azure Pipelines and legacy CI workflow.
emirhandurmus Jun 20, 2026
cafaa39
Add GitHub Actions CI and security workflows.
emirhandurmus Jun 20, 2026
852abed
Add CI scripts and Makefile targets for lint and security checks.
emirhandurmus Jun 20, 2026
5a2a856
Migrate golangci-lint configuration to v2.
emirhandurmus Jun 20, 2026
8ad38e6
Stop hardcoding iofog.org/v3 in internal YAML and config paths.
emirhandurmus Jun 20, 2026
8597407
Fix golangci-lint and go vet findings across the codebase.
emirhandurmus Jun 20, 2026
2d2d97f
Bump operator and SDK to v3.8 and add CLI_CP_CR_NAME ldflag.
emirhandurmus Jun 22, 2026
856e1f1
Align KubernetesControlPlane structs with v3.8 reference YAML.
emirhandurmus Jun 22, 2026
bd581e6
Add password complexity validation for embedded auth bootstrap and io…
emirhandurmus Jun 22, 2026
033216e
Deploy K8s ControlPlane via flavor CRD, operator RBAC, and CLI_CP_CR_…
emirhandurmus Jun 22, 2026
53cd9d3
Translate KubernetesControlPlane YAML to operator ControlPlane CR.
emirhandurmus Jun 22, 2026
71d9d50
Add namespace trust store and TLS probe for HTTPS controller endpoints.
emirhandurmus Jun 22, 2026
44c7390
Wire embedded auth hook and interactive iofogUser password on K8s dep…
emirhandurmus Jun 22, 2026
cd91075
K8s delete and connect with trust-aware login and opt-in namespace re…
emirhandurmus Jun 22, 2026
f5db877
Migrate CLI paths from Flow API to Application API and agent arch fie…
emirhandurmus Jun 22, 2026
9abf9e0
Update k8s.bats deploy YAML for v3.8 embedded auth and image set.
emirhandurmus Jun 22, 2026
3117798
Split edgelet binary and image versions and refresh build dependencies.
emirhandurmus Jun 22, 2026
a7f2664
Replace legacy Java agent install scripts with embedded edgelet assets.
emirhandurmus Jun 22, 2026
47a698e
Add Docker container engine client and edgelet binary download helpers.
emirhandurmus Jun 22, 2026
d8e4665
Implement edgelet install procedures and remove legacy Java agent ins…
emirhandurmus Jun 22, 2026
085940e
Extend agent resource model for edgelet deployments and SDK arch mapp…
emirhandurmus Jun 22, 2026
ed3264c
Wire edgelet into local, remote, and airgap deploy flows.
emirhandurmus Jun 22, 2026
8f13bc1
Update agent lifecycle commands, observability, and legacy CLI for ed…
emirhandurmus Jun 22, 2026
e0bfbbc
Fix embedded iofog user registration to set a permanent password.
emirhandurmus Jun 22, 2026
aacf947
Extend LocalControlPlane schema, validation, and YAML fixtures.
emirhandurmus Jun 23, 2026
ca8f0b2
Add edgelet manifest deploy helpers and harden local command execution.
emirhandurmus Jun 23, 2026
2654bc4
Deploy local control plane via edgelet translate, registry, and syste…
emirhandurmus Jun 23, 2026
72c5bf4
Route LocalControlPlane deploy through validation and dedicated syste…
emirhandurmus Jun 23, 2026
d3a1eb8
Sync local control plane agents from controller backend on connect.
emirhandurmus Jun 23, 2026
f4fc2bc
Split agent delete into deprovision and uninstall and add edgelet CP …
emirhandurmus Jun 23, 2026
06475a8
Enable install package verbosity when debug flag is set.
emirhandurmus Jun 23, 2026
dc0cdef
Align RemoteControlPlane spec with v3.8 and add shared validation.
emirhandurmus Jun 23, 2026
3256e5d
Centralize system and edge agent defaults for deploy paths.
emirhandurmus Jun 23, 2026
b89e6d6
Add remote edgelet manifest deploy helpers and tune default status po…
emirhandurmus Jun 23, 2026
399a7c1
Deploy router and NATS global certificates once via Controller API.
emirhandurmus Jun 23, 2026
475e3e7
Implement multi-host remote control plane deploy via edgelet.
emirhandurmus Jun 23, 2026
2427ca9
Wire standalone RemoteController deploy after control plane provision…
emirhandurmus Jun 23, 2026
e7e2ec3
Replace remote controller uninstall with edgelet teardown and add rem…
emirhandurmus Jun 23, 2026
3a2ead2
Remove rename and legacy CLI commands.
emirhandurmus Jun 25, 2026
055bd2e
Remove EdgeResource deploy, attach, and get support.
emirhandurmus Jun 25, 2026
4a1c6e5
Retire legacy controller SSH and container install assets.
emirhandurmus Jun 25, 2026
a637721
Bump iofog-go-sdk to v3.8.0-rc.6 and refresh component tags.
emirhandurmus Jun 25, 2026
c3cf0a0
Update bats and func tests for retired CLI commands.
emirhandurmus Jun 25, 2026
a5558d6
Add Lima VM fixtures for local remote control plane testing.
emirhandurmus Jun 25, 2026
6a683e6
Wait for async agent and service platform provisioning after deploy.
emirhandurmus Jun 25, 2026
3791032
Add validated file I/O helpers and verify SSH host keys.
emirhandurmus Jun 25, 2026
e9ef28a
Persist controller trust CA on connect and configure.
emirhandurmus Jun 25, 2026
08aecb2
Use build-time binary name in CLI help and split generated docs.
emirhandurmus Jun 25, 2026
ff13c4d
Validate edgelet download URLs and harden remote deploy transfers.
emirhandurmus Jun 25, 2026
e54dff0
Apply shared I/O helpers across exec, logs, and websocket paths.
emirhandurmus Jun 25, 2026
922ecb5
Replace legacy GoReleaser configs with unified flavor-aware release w…
emirhandurmus Jun 25, 2026
ca2d56e
Update golangci-lint config for v2 and moby import grouping.
emirhandurmus Jun 25, 2026
8472385
Document v3.8.0-rc.1 release notes and security reporting policy.
emirhandurmus Jun 25, 2026
b3a1b2a
Bump golang.org/x crypto, sys, term, sync, and text dependencies.
emirhandurmus Jun 25, 2026
734e738
Bump controller to 3.8.0-rc.5 and edgelet to v1.0.0-rc.6.
emirhandurmus Jun 27, 2026
f3e3b4e
Validate edgelet download URLs against the configured release base path.
emirhandurmus Jun 27, 2026
7333749
Resolve EdgeOps Console URLs from control plane spec and backfill on …
emirhandurmus Jun 27, 2026
03767a8
Route exec through SDK dial sessions and remove attach/detach exec mi…
emirhandurmus Jun 27, 2026
7beb610
Stream remote logs through SDK log sessions and align --tail max with…
emirhandurmus Jun 27, 2026
5c269b1
Regenerate potctl and iofogctl CLI reference documentation.
emirhandurmus Jun 27, 2026
1c25745
Document exec, logs, and console changes in the changelog.
emirhandurmus Jun 27, 2026
f9a0e46
Derive release flavor from GitHub repo instead of a CI matrix.
emirhandurmus Jun 27, 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
  •  
  •  
  •  
152 changes: 0 additions & 152 deletions .github/workflows/ci.yaml

This file was deleted.

152 changes: 152 additions & 0 deletions .github/workflows/ci.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,152 @@
name: CLI CI

on:
push:
branches: [develop, release*]
tags: ['v*']
paths-ignore:
- README.md
- CHANGELOG.md
- LICENSE
pull_request:
branches: [develop, release*]
paths-ignore:
- README.md
- CHANGELOG.md
- LICENSE
workflow_dispatch:

permissions: read-all

env:
GO_VERSION: '1.26.4'

jobs:
grep-gates:
name: Grep gates
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- name: Forbidden flavor strings
run: make grep-gates

lint:
name: Lint
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: go.sum
- run: go version
- name: golangci-lint
uses: golangci/golangci-lint-action@db582008a42febd596419635a5abc9d9815daa9c # v9.2.1
with:
version: v2.12.2
args: --timeout=5m0s

security:
name: Security
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: go.sum
- name: gosec
run: make security-code
- name: govulncheck
run: make vulncheck

unit-iofog:
name: Unit (iofog)
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: go.sum
- name: Unit tests
run: make FLAVOR=iofog test-unit

unit-datasance:
name: Unit (datasance)
if: github.repository == 'Datasance/potctl'
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: go.sum
- name: Unit tests
run: make FLAVOR=datasance test-unit

smoke-iofog:
name: Smoke (iofogctl)
needs: [lint, grep-gates, unit-iofog]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: go.sum
- name: Smoke
run: make FLAVOR=iofog smoke

smoke-datasance:
name: Smoke (potctl)
if: github.repository == 'Datasance/potctl'
needs: [lint, grep-gates, unit-datasance]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: go.sum
- name: Smoke
run: make FLAVOR=datasance BINARY_NAME=potctl PACKAGE_DIR=cmd/potctl smoke

build-iofogctl:
name: Build iofogctl
needs: [smoke-iofog]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: go.sum
- name: Verify embed assets
run: test -f assets/embed.go
- name: Build
run: make iofogctl
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: iofogctl-linux-amd64
path: bin/iofogctl

build-potctl:
name: Build potctl
if: github.repository == 'Datasance/potctl'
needs: [smoke-datasance]
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: go.sum
- name: Verify embed assets
run: test -f assets/embed.go
- name: Build
run: make potctl
- uses: actions/upload-artifact@ea165f8d65b6e75b540449e92b4886f43607fa02 # v4.6.2
with:
name: potctl-linux-amd64
path: bin/potctl
34 changes: 34 additions & 0 deletions .github/workflows/codeql.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: CodeQL

on:
push:
branches: [develop]
pull_request:
branches: [develop]

permissions: read-all

env:
GO_VERSION: '1.26.4'

jobs:
analyze:
name: Analyze
runs-on: ubuntu-latest
permissions:
security-events: write
actions: read
contents: read
steps:
- uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3
- uses: github/codeql-action/init@dd903d2e4f5405488e5ef1422510ee31c8b32357 # v3
with:
languages: go
- uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: go.sum
- uses: github/codeql-action/autobuild@dd903d2e4f5405488e5ef1422510ee31c8b32357 # v3
- uses: github/codeql-action/analyze@dd903d2e4f5405488e5ef1422510ee31c8b32357 # v3
with:
category: "/language:go"
39 changes: 39 additions & 0 deletions .github/workflows/govulncheck.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,39 @@
name: govulncheck

on:
push:
paths:
- go.sum
schedule:
- cron: "0 0 * * *"
workflow_dispatch: {}

permissions: read-all

env:
GO_VERSION: '1.26.4'

jobs:
govulncheck:
name: govulncheck
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@df4cb1c069e1874edd31b4311f1884172cec0e10 # v6.0.3

- name: Set up Go
uses: actions/setup-go@4a3601121dd01d1626a1e23e37211e3254c1c06c # v6.4.0
with:
go-version: ${{ env.GO_VERSION }}
cache-dependency-path: go.sum

- name: Install govulncheck
run: go install golang.org/x/vuln/cmd/[email protected]

- name: Run govulncheck
run: |
chmod +x scripts/vulncheck.sh
scripts/vulncheck.sh

- name: Verify module integrity
run: go mod verify
Loading
Loading