forked from SunRed/discord-tweeter
feat: Major refactor, implement web, caching, better tests and build files
* Update golang version to 1.24 * Update multiarch Dockerfile to be more ISA agnostic * Refactor existing code and properly structure project into modules * Get rid of global variables except where necessary (go:embed) * Add default values to Config * Add webserver with templates to finally correctly serve videos and gifs * Add tiny caching library to decrease api load and improve latency * Improve Webhook data preparation by filtering out redundant links from the tweet text and properly attaching videos and gifs in separate webhook request by utilising new webserver * Improve tests for filter function * Improve bake definition for easier CI integration
This commit is contained in:
parent
7562b86894
commit
21d580d1a6
24 changed files with 752 additions and 209 deletions
|
@ -1,34 +1,44 @@
|
|||
variable "REG" {
|
||||
default = "git.snrd.eu"
|
||||
}
|
||||
variable "REPO" {
|
||||
default = "sunred/discord-tweeter"
|
||||
variable "IMAGE" {
|
||||
default = "git.snrd.eu/sunred/discord-tweeter"
|
||||
}
|
||||
variable "TAG" {
|
||||
default = "latest"
|
||||
}
|
||||
|
||||
function "generate_tags" {
|
||||
params = [images, versions]
|
||||
result = distinct(flatten(
|
||||
[for i in split(",", images) :
|
||||
[for v in split(",", versions) :
|
||||
"${i}:${v}"
|
||||
]
|
||||
]))
|
||||
}
|
||||
|
||||
group "default" {
|
||||
targets = ["prod"]
|
||||
}
|
||||
|
||||
target "default" {
|
||||
#platforms = [ "linux/amd64", "linux/arm64", "linux/arm/v7", "linux/riscv64" ]
|
||||
platforms = [ "linux/amd64", "linux/arm64" ]
|
||||
tags = ["${REG}/${REPO}:latest", "${REG}/${REPO}:${TAG}"]
|
||||
attest = [
|
||||
"type=provenance,disabled=true",
|
||||
"type=sbom,disabled=true"
|
||||
]
|
||||
tags = generate_tags(IMAGE, TAG)
|
||||
}
|
||||
target "prod" {
|
||||
inherits = ["default"]
|
||||
#dockerfile = "Dockerfile"
|
||||
//platforms = ["linux/amd64", "linux/arm64", "linux/arm/v7", "linux/riscv64"]
|
||||
platforms = ["linux/amd64", "linux/arm64"]
|
||||
dockerfile = "Dockerfile.multiarch"
|
||||
output = ["type=registry"]
|
||||
attest = [
|
||||
{ type = "provenance", mode = "max" },
|
||||
{ type = "sbom" }
|
||||
]
|
||||
}
|
||||
target "dev" {
|
||||
inherits = ["default"]
|
||||
dockerfile = "Dockerfile.multiarch"
|
||||
output = ["type=image"]
|
||||
dockerfile = "Dockerfile"
|
||||
output = ["type=docker"]
|
||||
attest = [
|
||||
{ type = "provenance", disabled = "true" },
|
||||
{ type = "sbom", disabled = "true" }
|
||||
]
|
||||
}
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue