Commit Graph

43 Commits

Author SHA1 Message Date
b7e948954b chore(make): manpage requirements are now in requirements 2025-07-15 13:57:35 +02:00
a754dc9275 fix(make): no need to auto retrieve key now 2025-07-15 13:44:25 +02:00
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
e4280f2c4e chore(build): Fixes cache, add better cleanup, add PHONY 2025-07-15 10:27:24 +02:00
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
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
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
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
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
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
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
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
a00b03b2aa feat(chore): Add SAST with opengrep 2025-07-06 10:52:56 +02:00
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
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
bc0b65006d feat(doc): Add doc target
This only regenerates docs for packages.
2025-06-15 14:48:24 +02:00
933f04bf5e feat(version): change Go version 2025-06-15 14:43:58 +02:00
441be30720 chore(version): Get the version following how katenary is installed 2024-11-26 16:47:37 +01:00
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
e409be235e version(go) go 1.23 is now mandatory 2024-11-08 13:30:47 +01:00
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
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
3a0cf1a7db Set test(s) to PHONY 2024-04-03 14:15:28 +02:00
475a025d9e Go to Katenary V3
This is the next-gen of Katenary
2023-12-06 15:24:02 +01:00
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
f99f146af2 Force build with "build-all" by empty dist/* 2022-04-01 10:47:58 +02:00
ed22774a93 Use pure shell to read release.id 2022-03-31 14:17:15 +02:00
8dfca953dc Fix push-release 2022-03-31 14:14:54 +02:00
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
1343f99e39 Better build command + Doc 2022-02-16 18:32:51 +01:00
722c7424d0 Fix version flag 2022-02-14 17:15:11 +01:00
b602aa5e39 Fix the use of version flag 2022-02-14 17:02:29 +01:00
8164603b47 Add a clean directive 2022-02-14 14:36:43 +01:00
93a06b52fb Give a default value for GO var 2022-01-26 09:44:23 +01:00
cb88f2879d Give better information at build time 2022-01-26 09:43:01 +01:00
1e79e954c5 Fix the source change detection 2022-01-26 09:21:36 +01:00
69982e4514 Add information about the compiled version 2022-01-26 09:18:32 +01:00
714ccf771d Mount with SELinux label to build 2021-12-05 07:40:11 +01:00
cdfc2b8715 Add a new way to get VERSION 2021-12-03 14:16:12 +01:00
04d54bc2a3 Remove trailing slash 2021-12-02 12:36:32 +01:00
c9fae9e508 Fix version usage 2021-12-01 09:27:12 +01:00
6b0b61bdac Add some help and install 2021-12-01 09:09:30 +01:00
a3904bfc8e Add Makefile, build with podman
Docker can be use later... maybe...
2021-12-01 08:32:30 +01:00