diff --git a/.github/workflows/build_releases.yml b/.github/workflows/build_releases.yml index 5b41dbe..54c4b74 100644 --- a/.github/workflows/build_releases.yml +++ b/.github/workflows/build_releases.yml @@ -8,7 +8,7 @@ on: env: GITHUB_REF: ${{ github.ref }} - GO_VERSION: '1.24.2' + GO_VERSION: '1.23.5' jobs: build-common: @@ -40,10 +40,8 @@ jobs: name: CHANGELOG.md path: ./CHANGELOG.md -### - build-linux-arm64: - runs-on: ubuntu-24.04-arm + runs-on: ubuntu-24.04 steps: - name: Checkout Repo uses: actions/checkout@v4 @@ -52,6 +50,12 @@ jobs: ref: ${{ env.GITHUB_REF }} fetch-depth: 0 + - name: Update apt + run: sudo apt update + + - name: Install cross-compiler for linux/arm64 + run: sudo apt-get -y install gcc-aarch64-linux-gnu + - name: Set up Go uses: actions/setup-go@v5 with: @@ -62,6 +66,7 @@ jobs: env: GOOS: linux GOARCH: arm64 + CC: aarch64-linux-gnu-gcc CGO_ENABLED: 0 - name: Save Compiled Binary @@ -166,90 +171,6 @@ jobs: name: apc-p15-install-windows-amd64 path: ./apc-p15-install.exe - build-darwin-arm64: - runs-on: macos-15 - steps: - - name: Checkout Backend Repo - uses: actions/checkout@v4 - with: - repository: gregtwallace/apc-p15-tool - ref: ${{ env.GITHUB_REF }} - fetch-depth: 0 - - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: '${{ env.GO_VERSION }}' - - - name: Build Tool - run: go build -o ./apc-p15-tool -v ./cmd/tool - env: - GOOS: darwin - GOARCH: arm64 - CGO_ENABLED: 0 - - - name: Save Compiled Binary - uses: actions/upload-artifact@v4 - with: - name: apc-p15-tool-darwin-arm64 - path: ./apc-p15-tool - - - name: Build Install Only - run: go build -o ./apc-p15-install -v ./cmd/install_only - env: - GOOS: darwin - GOARCH: arm64 - CGO_ENABLED: 0 - - - name: Save Compiled Binary - uses: actions/upload-artifact@v4 - with: - name: apc-p15-install-darwin-arm64 - path: ./apc-p15-install - - build-darwin-amd64: - runs-on: macos-13 - steps: - - name: Checkout Backend Repo - uses: actions/checkout@v4 - with: - repository: gregtwallace/apc-p15-tool - ref: ${{ env.GITHUB_REF }} - fetch-depth: 0 - - - name: Set up Go - uses: actions/setup-go@v5 - with: - go-version: '${{ env.GO_VERSION }}' - - - name: Build Tool - run: go build -o ./apc-p15-tool -v ./cmd/tool - env: - GOOS: darwin - GOARCH: amd64 - CGO_ENABLED: 0 - - - name: Save Compiled Binary - uses: actions/upload-artifact@v4 - with: - name: apc-p15-tool-darwin-amd64 - path: ./apc-p15-tool - - - name: Build Install Only - run: go build -o ./apc-p15-install -v ./cmd/install_only - env: - GOOS: darwin - GOARCH: amd64 - CGO_ENABLED: 0 - - - name: Save Compiled Binary - uses: actions/upload-artifact@v4 - with: - name: apc-p15-install-darwin-amd64 - path: ./apc-p15-install - -### - release-file-linux-arm64: needs: [build-common, build-linux-arm64] runs-on: ubuntu-24.04 @@ -381,91 +302,3 @@ jobs: with: name: apc-p15-tool_windows_amd64 path: ./release - - release-file-darwin-arm64: - needs: [build-common, build-darwin-arm64] - runs-on: ubuntu-24.04 - - steps: - - name: Make release directory - run: mkdir ./release - - - name: Download Tool Binary - uses: actions/download-artifact@v4 - with: - name: apc-p15-tool-darwin-arm64 - path: ./release - - - name: Download Install Binary - uses: actions/download-artifact@v4 - with: - name: apc-p15-install-darwin-arm64 - path: ./release - - - name: Download README - uses: actions/download-artifact@v4 - with: - name: README.md - path: ./release - - - name: Download LICENSE - uses: actions/download-artifact@v4 - with: - name: LICENSE.md - path: ./release - - - name: Download CHANGELOG - uses: actions/download-artifact@v4 - with: - name: CHANGELOG.md - path: ./release - - - name: Save Release - uses: actions/upload-artifact@v4 - with: - name: apc-p15-tool_darwin_arm64 - path: ./release - - release-file-darwin-amd64: - needs: [build-common, build-darwin-amd64] - runs-on: ubuntu-24.04 - - steps: - - name: Make release directory - run: mkdir ./release - - - name: Download Tool Binary - uses: actions/download-artifact@v4 - with: - name: apc-p15-tool-darwin-amd64 - path: ./release - - - name: Download Install Binary - uses: actions/download-artifact@v4 - with: - name: apc-p15-install-darwin-amd64 - path: ./release - - - name: Download README - uses: actions/download-artifact@v4 - with: - name: README.md - path: ./release - - - name: Download LICENSE - uses: actions/download-artifact@v4 - with: - name: LICENSE.md - path: ./release - - - name: Download CHANGELOG - uses: actions/download-artifact@v4 - with: - name: CHANGELOG.md - path: ./release - - - name: Save Release - uses: actions/upload-artifact@v4 - with: - name: apc-p15-tool_darwin_amd64 - path: ./release diff --git a/CHANGELOG.md b/CHANGELOG.md index cc534a6..9260307 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,19 +1,5 @@ # APC P15 Tool Changelog -## [v1.2.2] - 2025-04-22 - -All dependencies updated. - -Add darwin arm64 and amd64 builds. - - -## [v1.2.1] - 2025-03-17 - -Fix time check for UPS when it is set to GMT timezone. - -All dependencies updated. - - ## [v1.2.0] - 2025-01-27 Add a new feature to `install` that checks the time of the UPS to confirm diff --git a/README.md b/README.md index 8a9218f..1d494ed 100644 --- a/README.md +++ b/README.md @@ -171,11 +171,6 @@ separate script.  -## Links - -@Owl-Tec's write up using this tool with ACDS: -https://owltec.ca/Windows+Server/Deploying+An+Internal+HTTPS+Certificate+for+a+UPS+APC+with+ADCS+(Active+Directory+Certificate+Services)+with+APC+P15+Tool - ## Thanks Special thanks to the following people and resources which helped me diff --git a/build.ps1 b/build.ps1 index 0c8774b..7147a33 100644 --- a/build.ps1 +++ b/build.ps1 @@ -34,25 +34,3 @@ $env:GOARCH = "arm64" $env:GOOS = "linux" $env:CGO_ENABLED = 0 go build -o $outDir/apc-p15-install-arm64 ./cmd/install_only - -# Darwin (MacOS) amd64 -$env:GOARCH = "amd64" -$env:GOOS = "darwin" -$env:CGO_ENABLED = 0 -go build -o $outDir/apc-p15-tool-darwin-amd64 ./cmd/tool - -$env:GOARCH = "amd64" -$env:GOOS = "darwin" -$env:CGO_ENABLED = 0 -go build -o $outDir/apc-p15-install-darwin-amd64 ./cmd/install_only - -# Darwin (MacOS) arm64 -$env:GOARCH = "arm64" -$env:GOOS = "darwin" -$env:CGO_ENABLED = 0 -go build -o $outDir/apc-p15-tool-darwin-arm64 ./cmd/tool - -$env:GOARCH = "arm64" -$env:GOOS = "darwin" -$env:CGO_ENABLED = 0 -go build -o $outDir/apc-p15-install-darwin-arm64 ./cmd/install_only diff --git a/go.mod b/go.mod index 76eb3ca..f500bf1 100644 --- a/go.mod +++ b/go.mod @@ -1,14 +1,14 @@ module apc-p15-tool -go 1.24.2 +go 1.23.5 require ( github.com/peterbourgon/ff/v4 v4.0.0-alpha.4 github.com/sigurn/crc16 v0.0.0-20240131213347-83fcde1e29d1 - golang.org/x/crypto v0.37.0 + golang.org/x/crypto v0.32.0 ) -require golang.org/x/sys v0.32.0 // indirect +require golang.org/x/sys v0.29.0 // indirect replace apc-p15-tool/cmd/install_only => /cmd/install_only diff --git a/go.sum b/go.sum index 0b94b0b..3b8cd0d 100644 --- a/go.sum +++ b/go.sum @@ -4,11 +4,11 @@ github.com/peterbourgon/ff/v4 v4.0.0-alpha.4 h1:aiqS8aBlF9PsAKeMddMSfbwp3smONCn3 github.com/peterbourgon/ff/v4 v4.0.0-alpha.4/go.mod h1:H/13DK46DKXy7EaIxPhk2Y0EC8aubKm35nBjBe8AAGc= github.com/sigurn/crc16 v0.0.0-20240131213347-83fcde1e29d1 h1:NVK+OqnavpyFmUiKfUMHrpvbCi2VFoWTrcpI7aDaJ2I= github.com/sigurn/crc16 v0.0.0-20240131213347-83fcde1e29d1/go.mod h1:9/etS5gpQq9BJsJMWg1wpLbfuSnkm8dPF6FdW2JXVhA= -golang.org/x/crypto v0.37.0 h1:kJNSjF/Xp7kU0iB2Z+9viTPMW4EqqsrywMXLJOOsXSE= -golang.org/x/crypto v0.37.0/go.mod h1:vg+k43peMZ0pUMhYmVAWysMK35e6ioLh3wB8ZCAfbVc= -golang.org/x/sys v0.32.0 h1:s77OFDvIQeibCmezSnk/q6iAfkdiQaJi4VzroCFrN20= -golang.org/x/sys v0.32.0/go.mod h1:BJP2sWEmIv4KK5OTEluFJCKSidICx8ciO85XgH3Ak8k= -golang.org/x/term v0.31.0 h1:erwDkOK1Msy6offm1mOgvspSkslFnIGsFnxOKoufg3o= -golang.org/x/term v0.31.0/go.mod h1:R4BeIy7D95HzImkxGkTW1UQTtP54tio2RyHz7PwK0aw= +golang.org/x/crypto v0.32.0 h1:euUpcYgM8WcP71gNpTqQCn6rC2t6ULUPiOzfWaXVVfc= +golang.org/x/crypto v0.32.0/go.mod h1:ZnnJkOaASj8g0AjIduWNlq2NRxL0PlBrbKVyZ6V/Ugc= +golang.org/x/sys v0.29.0 h1:TPYlXGxvx1MGTn2GiZDhnjPA9wZzZeGKHHmKhHYvgaU= +golang.org/x/sys v0.29.0/go.mod h1:/VUhepiaJMQUp4+oa/7Zr1D23ma6VTLIYjOOTFZPUcA= +golang.org/x/term v0.28.0 h1:/Ts8HFuMR2E6IP/jlo7QVLZHggjKQbhu/7H0LJFr3Gg= +golang.org/x/term v0.28.0/go.mod h1:Sw/lC2IAUZ92udQNf3WodGtn4k/XoLyZoh8v/8uiwek= gopkg.in/yaml.v2 v2.4.0 h1:D8xgwECY7CYvx+Y2n4sBz93Jn9JRvxdiyyo8CTfuKaY= gopkg.in/yaml.v2 v2.4.0/go.mod h1:RDklbk79AGWmwhnvt/jBztapEOGDOx6ZbXqjP6csGnQ= diff --git a/img/apc-p15-tool.png b/img/apc-p15-tool.png index c537585..807fb84 100644 Binary files a/img/apc-p15-tool.png and b/img/apc-p15-tool.png differ diff --git a/pkg/apcssh/cmd_gettime.go b/pkg/apcssh/cmd_gettime.go index 139b0ba..7da6397 100644 --- a/pkg/apcssh/cmd_gettime.go +++ b/pkg/apcssh/cmd_gettime.go @@ -28,12 +28,6 @@ func (cli *Client) GetTime() (time.Time, error) { formatUPSVal := datePieces[3] timeZoneVal := datePieces[4] - // GMT time requires + prefix - // APC UPS fails to use the required +, so add it - if timeZoneVal == "00:00" { - timeZoneVal = "+" + timeZoneVal - } - // known APC UPS format strings dateFormatVal := "" switch formatUPSVal { diff --git a/pkg/app/app.go b/pkg/app/app.go index 052a00e..2392056 100644 --- a/pkg/app/app.go +++ b/pkg/app/app.go @@ -12,7 +12,7 @@ import ( ) const ( - appVersion = "1.2.2" + appVersion = "1.2.0" ) // struct for receivers to use common app pieces