45 Commits

Author SHA1 Message Date
metal3d 4336490a72 feat(actions): Change action to Gitea
- Build and packages on Gitea action
- Use go 1.25
- Update dependencies
2025-08-19 21:52:33 +02:00
metal3d e9ad85a0ac chore(make): Split and enhancements
- split Makefile in several sub files
- use a separated container for tests
-
2025-08-03 14:15:35 +02:00
metal3d b7e948954b chore(make): manpage requirements are now in requirements 2025-07-15 13:57:35 +02:00
metal3d a754dc9275 fix(make): no need to auto retrieve key now 2025-07-15 13:44:25 +02:00
metal3d 22e1ebdce1 chore(make): huge refactor, add more tests
- more test on gpg signature
- change build target in the help message
- refactor upx compression
-
2025-07-15 13:41:49 +02:00
metal3d e4280f2c4e chore(build): Fixes cache, add better cleanup, add PHONY 2025-07-15 10:27:24 +02:00
metal3d 796cbb6d30 chore(package): Rewrite package targets
- rewrite to make packages building more consistent
- add rpm signature with GPG
- auto test packages in several distributions to ensure the packages are
OK

Even if loops to build stuffs are sometimes easier to automate, it's
simpler to fixup if some rules (targets) are explicitly defined.
2025-07-12 09:12:12 +02:00
metal3d 8582010d90 fix(versionning): Fix version
Version should be x.y.z for releases. It makes things homogenous for
debian version (that needs a number as first char) and it is
semantically better.

At this time, the Makefile is OK. Maybe we don't need `PKG_VERSION`
later.
2025-07-10 15:15:25 +02:00
metal3d b7186eb8b4 chore(makefile): Refacto
Refactor the makefile:

- use the "package" container image to build windows installer
- cleanup and reorder targets
- enhance the way we named packages (add version and architecture to the
name)
2025-07-10 08:13:49 +02:00
metal3d 13d231a62c feat(package): Add RPM, deb, pacman and tar packages and manpage
Build package using fpm. As I don't want ruby/gem in my computer, the
build system creates an OCI image with Podman (at this time), and
generate dist pacakges.

To enhance the packages, a manpage is now generated from the
documentation.
2025-07-09 14:11:46 +02:00
metal3d 42bf35593f chore(makefile): rewrite correctly some rules
- cleanup
- sign and check gpg signature
- fixup NSIS installer method
- also sign windows installer
2025-07-07 21:58:15 +02:00
metal3d 42c738211c fix(build): Fixing build, do not use alpine
Alpine image seems to break the Windows binary (striped by error) and
makes katenary unusable.
2025-07-07 17:59:16 +02:00
metal3d c54bc35c9f feat(nsis): Create installer for Windows
Use nsis to create an installer for Windows user. It installs the binary
for the user (for now) and set the Path to access katenary binary from
cmd or Powershell.
2025-07-07 17:58:21 +02:00
metal3d 0c0b50b0df fix(build): Windows is a shame
- Windows defender says that UPX compressed files are virus
(https://github.com/upx/upx/issues/437) so I stop using this for
Windows. Sorry, you will download a huge binary
- Windows, one more time, stop making the binary working when it's
stripped. Then, one more time, I cannot reduce the binary size

I'm thinking very seriously about no longer offering support for Windows
and letting people compile Katenary on their own.
2025-07-07 13:47:27 +02:00
metal3d a00b03b2aa feat(chore): Add SAST with opengrep 2025-07-06 10:52:56 +02:00
metal3d 36f6413917 feat(build): UPX compression
UPX can compress binaries from 22Mo to 7Mo on Linux / Windows and 14Mo
on MacOS. Let's use it to reduce binary size.

I don't know why it doesn't work on FreeBSD.
2025-06-15 16:02:45 +02:00
metal3d 8c729f3c57 fix(build): remove "-it" options
Building in parallel make a warn message as TTY is not OK
2025-06-15 16:01:16 +02:00
metal3d bc0b65006d feat(doc): Add doc target
This only regenerates docs for packages.
2025-06-15 14:48:24 +02:00
metal3d 933f04bf5e feat(version): change Go version 2025-06-15 14:43:58 +02:00
metal3d 441be30720 chore(version): Get the version following how katenary is installed 2024-11-26 16:47:37 +01:00
metal3d cc1019b5a8 chore(refacto): fix secret and use katenary schema
- add possibility to use a katenary.yaml file to setup values
- fix secret generation
2024-11-18 17:12:12 +01:00
metal3d e409be235e version(go) go 1.23 is now mandatory 2024-11-08 13:30:47 +01:00
metal3d 918f1b845b Fix problems and adding functionnalities
Many fixes and enhancements:

- Add icon option
- Add env file managment
- Ordering compose parsing options
- Fix path with underscores
- Fix image and tag discovery
- Better documentation for labels
2024-10-18 09:36:54 +02:00
metal3d c7c18f01cd Fixup documentation
- better gomarkdown generation that now fixed the escaped strings, no
  need to use pandoc anymore
- added workflow image
- upgraded versions of mkdocs requirements
2024-04-10 04:51:45 +02:00
metal3d 3a0cf1a7db Set test(s) to PHONY 2024-04-03 14:15:28 +02:00
metal3d 475a025d9e Go to Katenary V3
This is the next-gen of Katenary
2023-12-06 15:24:02 +01:00
metal3d 418a0a8029 Use compose-go + improvements (#9)
Use compose-go https://github.com/compose-spec/compose-go  to make Katenary parsing compose file the official way.
Add labels:
- `volume-from` (with `same-pod`) to avoid volume repetition
- `ignore` to ignore a service
- `mapenv` (replaces the `env-to-service`) to map environment to helm variable (as a template string)
- `secret-vars` declares variables as secret values

More:
- Now, environment (as secret vars) are set in values.yaml
- Ingress has got annotations in values.yaml
- Probes (liveness probe) are improved
- fixed code to optimize
- many others fixes about path, bad volume check, refactorisation, tests...
2022-05-08 09:55:25 +02:00
metal3d f99f146af2 Force build with "build-all" by empty dist/* 2022-04-01 10:47:58 +02:00
metal3d ed22774a93 Use pure shell to read release.id 2022-03-31 14:17:15 +02:00
metal3d 8dfca953dc Fix push-release 2022-03-31 14:14:54 +02:00
metal3d 7b774e84d8 Develop (#3)
* Update command added
* Ensure that the upgraded version is really greater
* Update command should not update prerelease
* Minor presentation changes
* Fix command generation in containers from docker-compose file
- Refactored service creation
* Place the full command to the "cmd" package
* Update cobra to v1.4.0
* Updated build and release creation
* Created an install script
* Add more doc
* Add some tests...
* Add a test directive in Makefile
2022-03-31 14:12:20 +02:00
metal3d 1343f99e39 Better build command + Doc 2022-02-16 18:32:51 +01:00
metal3d 722c7424d0 Fix version flag 2022-02-14 17:15:11 +01:00
metal3d b602aa5e39 Fix the use of version flag 2022-02-14 17:02:29 +01:00
metal3d 8164603b47 Add a clean directive 2022-02-14 14:36:43 +01:00
metal3d 93a06b52fb Give a default value for GO var 2022-01-26 09:44:23 +01:00
metal3d cb88f2879d Give better information at build time 2022-01-26 09:43:01 +01:00
metal3d 1e79e954c5 Fix the source change detection 2022-01-26 09:21:36 +01:00
metal3d 69982e4514 Add information about the compiled version 2022-01-26 09:18:32 +01:00
metal3d 714ccf771d Mount with SELinux label to build 2021-12-05 07:40:11 +01:00
metal3d cdfc2b8715 Add a new way to get VERSION 2021-12-03 14:16:12 +01:00
metal3d 04d54bc2a3 Remove trailing slash 2021-12-02 12:36:32 +01:00
metal3d c9fae9e508 Fix version usage 2021-12-01 09:27:12 +01:00
metal3d 6b0b61bdac Add some help and install 2021-12-01 09:09:30 +01:00
metal3d a3904bfc8e Add Makefile, build with podman
Docker can be use later... maybe...
2021-12-01 08:32:30 +01:00