Compare commits
3 commits
e46d924907
...
6f20779714
Author | SHA1 | Date | |
---|---|---|---|
6f20779714 | |||
b8ec72877d | |||
05a536a17d |
8 changed files with 63 additions and 53 deletions
41
.gitignore
vendored
41
.gitignore
vendored
|
@ -1,31 +1,28 @@
|
|||
# ---> Go
|
||||
# If you prefer the allow list template instead of the deny list, see community template:
|
||||
# https://github.com/github/gitignore/blob/main/community/Golang/Go.AllowList.gitignore
|
||||
# Allowlisting gitignore template for GO projects prevents us
|
||||
# from adding various unwanted local files, such as generated
|
||||
# files, developer configurations or IDE-specific files etc.
|
||||
#
|
||||
# Binaries for programs and plugins
|
||||
*.exe
|
||||
*.exe~
|
||||
*.dll
|
||||
*.so
|
||||
*.dylib
|
||||
# Recommended: Go.AllowList.gitignore
|
||||
|
||||
# Test binary, built with `go test -c`
|
||||
*.test
|
||||
# Ignore everything
|
||||
*
|
||||
|
||||
# Output of the go coverage tool, specifically when used with LiteIDE
|
||||
*.out
|
||||
# But not these files...
|
||||
!/.gitignore
|
||||
|
||||
# Dependency directories (remove the comment below to include it)
|
||||
# vendor/
|
||||
!*.go
|
||||
!go.sum
|
||||
!go.mod
|
||||
|
||||
# Go workspace file
|
||||
go.work
|
||||
!examples/*
|
||||
|
||||
bin/
|
||||
!*.md
|
||||
!LICENSE
|
||||
|
||||
examples/testing/
|
||||
!Makefile
|
||||
|
||||
*.yaml
|
||||
!examples/*.yaml
|
||||
# Woodpecker CI
|
||||
!.woodpecker/*
|
||||
|
||||
test/
|
||||
# ...even if they are in subdirectories
|
||||
!*/
|
||||
|
|
4
.vscode/launch.json
vendored
4
.vscode/launch.json
vendored
|
@ -9,7 +9,7 @@
|
|||
"type": "go",
|
||||
"request": "launch",
|
||||
"mode": "auto",
|
||||
"program": "${workspaceFolder}",
|
||||
"program": "${workspaceFolder}/cmd/certwarden-deploy/main.go",
|
||||
"args": ["--config", "${workspaceFolder}/config.yaml", "--dry-run"]
|
||||
},
|
||||
{
|
||||
|
@ -17,7 +17,7 @@
|
|||
"type": "go",
|
||||
"request": "launch",
|
||||
"mode": "auto",
|
||||
"program": "${workspaceFolder}",
|
||||
"program": "${workspaceFolder}/cmd/certwarden-deploy/main.go",
|
||||
"args": ["--config", "${workspaceFolder}/config.yaml", "--verbose"]
|
||||
}
|
||||
]
|
||||
|
|
|
@ -20,13 +20,13 @@ steps:
|
|||
- APP_NAME=certwarden-deploy
|
||||
- FORGE=https://code.lila.network
|
||||
commands:
|
||||
- apk add --update --no-cache xz curl jq
|
||||
- go mod download
|
||||
- go build -o output/$APP_NAME-${CI_COMMIT_TAG##v}-${GOOS}-${GOARCH}${GOARM} main.go
|
||||
- cd output
|
||||
- xz --keep --compress $APP_NAME-${CI_COMMIT_TAG##v}-${GOOS}-${GOARCH}${GOARM}
|
||||
- sha256sum $APP_NAME-${CI_COMMIT_TAG##v}-${GOOS}-${GOARCH}${GOARM} >> $APP_NAME-${CI_COMMIT_TAG##v}-${GOOS}-${GOARCH}${GOARM}.sha256
|
||||
- sha256sum $APP_NAME-${CI_COMMIT_TAG##v}-${GOOS}-${GOARCH}${GOARM}.xz >> $APP_NAME-${CI_COMMIT_TAG##v}-${GOOS}-${GOARCH}${GOARM}.xz.sha256
|
||||
- apk add --update --no-cache xz curl jq make
|
||||
- make build
|
||||
- cd bin/
|
||||
- mv $APP_NAME $APP_NAME-${GOOS}-${GOARCH}${GOARM}
|
||||
- xz --keep --compress $APP_NAME-${GOOS}-${GOARCH}${GOARM}
|
||||
- sha256sum $APP_NAME-${GOOS}-${GOARCH}${GOARM} >> $APP_NAME-${GOOS}-${GOARCH}${GOARM}.sha256
|
||||
- sha256sum $APP_NAME-${GOOS}-${GOARCH}${GOARM}.xz >> $APP_NAME-${GOOS}-${GOARCH}${GOARM}.xz.sha256
|
||||
- |-
|
||||
export RELEASE_ID=`curl --location "$FORGE/api/v1/repos/$CI_REPO/releases?limit=10" \
|
||||
--header 'Accept: application/json' -s -S \
|
||||
|
@ -35,23 +35,23 @@ steps:
|
|||
curl --location "$FORGE/api/v1/repos/$CI_REPO/releases/$RELEASE_ID/assets" \
|
||||
--header "Authorization: token $FORGEJO_APIKEY" \
|
||||
--header 'Content-Type: multipart/form-data' -s -S \
|
||||
--form "attachment=@$APP_NAME-${CI_COMMIT_TAG##v}-${GOOS}-${GOARCH}${GOARM};type=application/octet-stream" \
|
||||
--form "attachment=@$APP_NAME-${GOOS}-${GOARCH}${GOARM};type=application/octet-stream" \
|
||||
--fail-with-body
|
||||
- |-
|
||||
curl --location "$FORGE/api/v1/repos/$CI_REPO/releases/$RELEASE_ID/assets" \
|
||||
--header "Authorization: token $FORGEJO_APIKEY" \
|
||||
--header 'Content-Type: multipart/form-data' -s -S \
|
||||
--form "attachment=@$APP_NAME-${CI_COMMIT_TAG##v}-${GOOS}-${GOARCH}${GOARM}.xz;type=application/octet-stream" \
|
||||
--form "attachment=@$APP_NAME-${GOOS}-${GOARCH}${GOARM}.xz;type=application/octet-stream" \
|
||||
--fail-with-body
|
||||
- |-
|
||||
curl --location "$FORGE/api/v1/repos/$CI_REPO/releases/$RELEASE_ID/assets" \
|
||||
--header "Authorization: token $FORGEJO_APIKEY" \
|
||||
--header 'Content-Type: multipart/form-data' -s -S \
|
||||
--form "attachment=@$APP_NAME-${CI_COMMIT_TAG##v}-${GOOS}-${GOARCH}${GOARM}.sha256;type=application/octet-stream" \
|
||||
--form "attachment=@$APP_NAME-${GOOS}-${GOARCH}${GOARM}.sha256;type=application/octet-stream" \
|
||||
--fail-with-body
|
||||
- |-
|
||||
curl --location "$FORGE/api/v1/repos/$CI_REPO/releases/$RELEASE_ID/assets" \
|
||||
--header "Authorization: token $FORGEJO_APIKEY" \
|
||||
--header 'Content-Type: multipart/form-data' -s -S \
|
||||
--form "attachment=@$APP_NAME-${CI_COMMIT_TAG##v}-${GOOS}-${GOARCH}${GOARM}.xz.sha256;type=application/octet-stream" \
|
||||
--form "attachment=@$APP_NAME-${GOOS}-${GOARCH}${GOARM}.xz.sha256;type=application/octet-stream" \
|
||||
--fail-with-body
|
||||
|
|
13
CHANGELOG.md
13
CHANGELOG.md
|
@ -7,6 +7,16 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
|
||||
|
||||
## [Unreleased]
|
||||
## [0.2.2] - 2024-07-30
|
||||
|
||||
### Changed
|
||||
- changed the way the version string is handled internally
|
||||
- CI pipeline changed
|
||||
- documentation is now more sophisticated and has a new theme
|
||||
|
||||
### Added
|
||||
- Makefile
|
||||
|
||||
## [0.2.1] - 2024-07-12
|
||||
### Fixed
|
||||
- Configuration validation did not work as intended
|
||||
|
@ -40,7 +50,8 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||
- some documentation
|
||||
|
||||
|
||||
[unreleased]: https://code.lila.network/adoralaura/certwarden-deploy/compare/0.2.1...HEAD
|
||||
[unreleased]: https://code.lila.network/adoralaura/certwarden-deploy/compare/0.2.2...HEAD
|
||||
[0.2.2]: https://code.lila.network/adoralaura/certwarden-deploy/compare/0.2.1...0.2.2
|
||||
[0.2.1]: https://code.lila.network/adoralaura/certwarden-deploy/compare/0.2.0...0.2.1
|
||||
[0.2.0]: https://code.lila.network/adoralaura/certwarden-deploy/compare/0.1.1...0.2.0
|
||||
[0.1.1]: https://code.lila.network/adoralaura/certwarden-deploy/compare/0.1.0...0.1.1
|
||||
|
|
13
Makefile
Normal file
13
Makefile
Normal file
|
@ -0,0 +1,13 @@
|
|||
# Set the default Go build flags
|
||||
GOFLAGS = -ldflags='-w -s -X constants.Version=$(VERSION)'
|
||||
|
||||
# Build the application
|
||||
build:
|
||||
go build $(GOFLAGS) -o bin/certwarden-deploy cmd/certwarden-deploy/main.go
|
||||
|
||||
# Clean the build artifacts
|
||||
clean:
|
||||
rm -rf bin
|
||||
|
||||
# Set a version for the build
|
||||
VERSION := $(shell git describe --tags --always)
|
|
@ -2,7 +2,7 @@
|
|||
Copyright © 2024 Laura Kalb <dev@lauka.net>
|
||||
The code of this project is available under the MIT license. See the LICENSE file for more info.
|
||||
*/
|
||||
package cmd
|
||||
package main
|
||||
|
||||
import (
|
||||
"os"
|
||||
|
@ -11,9 +11,7 @@ import (
|
|||
"code.lila.network/adoralaura/certwarden-deploy/internal/configuration"
|
||||
)
|
||||
|
||||
// Execute adds all child commands to the root command and sets flags appropriately.
|
||||
// This is called by main.main(). It only needs to happen once to the rootCmd.
|
||||
func Execute() {
|
||||
func main() {
|
||||
err := cli.RootCmd.Execute()
|
||||
if err != nil {
|
||||
os.Exit(1)
|
|
@ -1,7 +1,9 @@
|
|||
package constants
|
||||
|
||||
const Version = "0.2.1"
|
||||
var Version string
|
||||
|
||||
var UserAgent = "certwarden-deploy/" + Version + " +https://code.lila.network/adoralaura/certwarden-deploy"
|
||||
|
||||
const CertificateApiPath = "/certwarden/api/v1/download/certificates/"
|
||||
const KeyApiPath = "/certwarden/api/v1/download/privatekeys/"
|
||||
const ApiKeyHeaderName = "X-API-Key"
|
||||
const UserAgent = "certwarden-deploy/" + Version + " +https://code.lila.network/adoralaura/certwarden-deploy"
|
||||
|
|
11
main.go
11
main.go
|
@ -1,11 +0,0 @@
|
|||
/*
|
||||
Copyright © 2024 Laura Kalb <dev@lauka.net>
|
||||
The code of this project is available under the MIT license. See the LICENSE file for more info.
|
||||
*/
|
||||
package main
|
||||
|
||||
import cmd "code.lila.network/adoralaura/certwarden-deploy/cmd/certwarden-deploy"
|
||||
|
||||
func main() {
|
||||
cmd.Execute()
|
||||
}
|
Loading…
Reference in a new issue