Commit Graph
100 Commits
Author SHA1 Message Date
metal3d a66fec07e1 chore(optim): Optimizing some piece of code
Simply use modern methods
2025-06-26 23:57:19 +02:00
metal3d a3d1e9342f fix(doc): Follow Go recommendations 2025-06-26 23:56:06 +02:00
metal3d 72bc88661a fix(convension): Fix APIVersion
Sonarlint complains about "ApiVersion"
2025-06-26 23:37:20 +02:00
metal3d e2b897eb9d fix(generation): Fix container name
Container names were built using the service name. We didn't checked the
name and leave underscores inside.

This commit does:
- fix all service and rename containers (`container_name`)
- use `ContainerName` everywhere we need to get the container by name

See #106
2025-06-26 23:37:20 +02:00
metal3d 9fcce059e5 fix(doc): Fixing method name in comment 2025-06-26 23:18:11 +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 ac5317e600 feat(doc): regenerate docs 2025-06-15 14:48:35 +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 d94bb8ac32 feat(doc): regenerate documentation 2025-06-04 15:18:11 +02:00
metal3d b143f743ef feat(chore): Add tests and use "any" instead of "inteface" 2025-06-04 15:17:26 +02:00
metal3d a8341a9b44 feat(tests): .Close() can be "unchecked" 2025-06-04 14:41:53 +02:00
metal3d def5d097a4 feat(tests): Fixing linter problems
Using golangci-lint
2025-06-04 14:29:13 +02:00
metal3d d77029b597 feat(version): update dependencies
New versions for:
- Cobra
- K8S API
- indirect subpackages
2025-06-04 09:48:52 +02:00
metal3d b5f62d43af fix(test): Fix non constant string format
Go 1.24 made several changes about formatting messages:
https://tip.golang.org/doc/go1.24#vet

These changes make tests (and vet) craching.

The fix is to use a string format and give error message as argument.
2025-06-04 09:46:13 +02:00
metal3d 9220dc3278 fix(test): Fix bad test
We were failing if the test is OK...
2025-06-04 09:24:33 +02:00
metal3d 9ef961ae7c issue(107): Really drop ignored services
It's, at this time, not needed to keep the ignored services inside the
project. Maybe later someone will ask to keep env variables, or
something like this... But at this time, it's a source of bug like #107.
2025-01-19 23:38:17 +01:00
metal3d fe6663f9f4 issue(106): Fix service names with dashes
See #106, I need to add a test on "same-pod" label.
2025-01-19 23:24:09 +01:00
metal3d 7068dc229c Merge pull request #104 from metal3d/dependabot/go_modules/develop/k8s.io/api-0.32.1
chore(deps): bump k8s.io/api from 0.32.0 to 0.32.1
2025-01-17 22:12:36 +01:00
metal3d 116ef658d8 Merge pull request #103 from metal3d/dependabot/go_modules/develop/github.com/invopop/jsonschema-0.13.0
chore(deps): bump github.com/invopop/jsonschema from 0.12.0 to 0.13.0
2025-01-17 22:09:53 +01:00
metal3d d7b354de8c Merge pull request #105 from metal3d/dependabot/go_modules/develop/k8s.io/apimachinery-0.32.1
chore(deps): bump k8s.io/apimachinery from 0.32.0 to 0.32.1
2025-01-17 22:09:28 +01:00
metal3d 41a4292939 chore(test): enhance error handling and avoid repetitions 2024-12-17 18:22:45 +01:00
metal3d 131ea5d569 mod(version): update k8s.io api modules 2024-12-17 18:22:20 +01:00
metal3d e36bbf41f4 Update go-test.yaml
Use mod tidy as dependabot may change the go.mod file
2024-12-17 18:09:40 +01:00
metal3d d27ed76cf4 doc(readme): better comments 2024-12-05 07:24:23 +01:00
metal3d 17b6ea51af fix(doc): Bad variable name in secrets 2024-12-05 07:23:58 +01:00
metal3d dcd282779f test(gh): Ordering steps...
I'm stupid... I need to upload artifacts after the creation.
2024-12-05 07:08:16 +01:00
metal3d b93a3df98c test(gh): Checkout project 2024-12-05 07:04:47 +01:00
metal3d 4768330c1a test(gh): Fix job name 2024-12-05 06:55:50 +01:00
metal3d 23d0afd85f test(gh): Use 2 steps
I prefer to split tests and sonar upload
2024-12-05 06:54:38 +01:00
metal3d 5c939383be chore(tls): Add secretName to the values
The seret name for TLS wasn't editable, it may be useful to change it
when we generate TLS certificates for specific installation.
2024-12-05 06:43:43 +01:00
metal3d 4d0e5b2e6a chore(presentation): Update README 2024-12-03 15:13:28 +01:00
metal3d 58d1e8e450 Merge pull request #92 from metal3d/develop
doc(refresh): Refresh doc after changing functions
2024-12-03 14:47:52 +01:00
metal3d d0790f37a8 doc(refresh): Refresh doc after changing functions 2024-12-03 14:45:27 +01:00
metal3d 62b0576c2d Merge pull request #91 from metal3d/develop
Fix binary data, Add tests, Error management
2024-12-03 14:44:19 +01:00
metal3d e574a2e2a8 chore(errors): Better error management
We must remove all "Fatal" calls and use errors instead, to be returned
and managed globally.
This is the first step, but it is, at this time, a real problem. Tests
are complicated without this.
2024-12-03 14:37:13 +01:00
metal3d eb760d4299 test(subdir): Add globally mount binary files 2024-12-03 14:03:36 +01:00
metal3d 3833037862 doc(refresh): after changing names and adding functions 2024-12-03 13:52:22 +01:00
metal3d 6dc92df4b5 chore(icons): Better icons for warning and info 2024-12-03 13:51:39 +01:00
metal3d d458cdbd73 chore(configmap): Manage binary data in configMap
We should be now able to detect and manage binary files to be injected
in configMaps
2024-12-03 13:50:58 +01:00
metal3d 628b35d471 doc(readme): fix the schema location 2024-12-01 08:48:33 +01:00
metal3d 84363be0e8 Fix Readme after merging master into develop 2024-11-27 09:27:28 +01:00
metal3d 5284cdf5cc Merge pull request #90 from metal3d/develop
Remove update functions and fix dependabot target branch
2024-11-27 09:23:44 +01:00
metal3d 632ffc2b66 chore(module): update dependencies
Updated k8s.io/api, x/exp, x/net, and structured-merge-diff
2024-11-27 09:21:33 +01:00
metal3d 2ff705164e chore(module): Cleanup 2024-11-27 09:17:45 +01:00
metal3d 73ab867509 chore(update): remove the update methods
The update functions were not linked and absolutely not stable anyway. I
will find a better way to propose a check-update method later.
2024-11-27 09:16:49 +01:00
metal3d 45e44dee14 wip(update): the update function is not clean 2024-11-27 00:46:15 +01:00
metal3d 689c2a4803 Use develop branch please 2024-11-27 00:26:25 +01:00
metal3d e023544c8a Merge pull request #88 from metal3d/develop
Enhance doc, description, examples
2024-11-27 00:00:58 +01:00
metal3d 10b7a49bbf doc(enhancement): Katenary is complete, and we can add values-from example
- Katenary is no longer a "bootstraper", it **should** generate a
complete Helm chart
- Add a `values-from` example, because this label is very useful
2024-11-26 23:43:57 +01:00
metal3d bb1354e228 doc(refacto): Rewrite label types, and format table
- I prefer using Go types, more explicit in my humble opinion
- The markdown table wasn't well-formed
2024-11-26 23:42:39 +01:00
metal3d 957cc4bcf6 Merge pull request #87 from metal3d/develop
Add schema to the root, fix test coverage
2024-11-26 17:55:46 +01:00
metal3d 9f1f6c7e78 test(version): cover the version function 2024-11-26 17:53:43 +01:00
metal3d a80ddcc054 test(main): More tests in main command package 2024-11-26 17:45:57 +01:00
metal3d 921eaff367 chore(output): Version should be printed in stdout
It seems that "println" failed to write on stdout
2024-11-26 17:45:42 +01:00
metal3d b63d8e4210 doc(readme): Explain the use of the yaml/json schema
And set heading level to 2
2024-11-26 17:10:54 +01:00
metal3d 9766dac763 yaml(schema): Propose a schema to use with LSP
This schema works, at least, with yaml-lsp (yamlls) in NeoVim.
2024-11-26 17:02:25 +01:00
metal3d 441be30720 chore(version): Get the version following how katenary is installed 2024-11-26 16:47:37 +01:00
metal3d e13653fba1 doc(readme): fix the command line help output 2024-11-26 16:47:05 +01:00
metal3d 6b301f3171 Merge pull request #86 from metal3d/develop
Add "values-from" and more tests
2024-11-26 16:29:14 +01:00
metal3d 9181c389d4 doc(refresh): Refresh documentation 2024-11-26 16:11:46 +01:00
metal3d 3b4dade699 chore(label): new label "values-from"
This labels allow to use some environment variables from another service
and use the configMap / secret instead of the original value. This is
useful to avoid duplication of values for several variables.
2024-11-26 16:11:12 +01:00
metal3d 4f0298c0a9 test(utils): Add some tests 2024-11-26 16:09:12 +01:00
metal3d 5f20585fb2 Merge pull request #85 from metal3d/develop
test(codecov): remove codecov
2024-11-26 09:10:48 +01:00
metal3d 0714eac615 test(codecov): remove codecov
Codecov is very nice but we already use SonarQube to evaluate the code
coverage.
2024-11-26 09:08:49 +01:00
metal3d 456e7f41f2 Merge pull request #82 from metal3d/develop
Some fixes on "same-pod" and volumes + add some tests
2024-11-25 23:17:56 +01:00
metal3d fc335247f8 chore(tests): exlude tests for sonarqube 2024-11-25 23:11:14 +01:00
metal3d ad16005091 test(schema): Add test on ingress 2024-11-25 12:10:41 +01:00
metal3d a676372bbe chore(clean): remove unused functions 2024-11-25 12:02:19 +01:00
metal3d 7fadc45e9e chore(typo): bad markdow, bad label name 2024-11-25 12:02:04 +01:00
metal3d 41a0dc58a5 chore(typo): fix some typos 2024-11-25 12:00:04 +01:00
metal3d dc34d32c5c test(secrets): add tests 2024-11-25 11:54:38 +01:00
metal3d 36984e3825 chore(clean): remove unused functions 2024-11-25 11:54:18 +01:00
metal3d 046410a5ec chore(refacto): use utils package 2024-11-25 11:54:00 +01:00
metal3d 827b5bc830 test(values): add map-env and exchange volumes tests 2024-11-22 16:23:00 +01:00
metal3d 8aee6d9983 fix(nil): The service can not exist 2024-11-22 16:11:55 +01:00
metal3d 7b890df1c5 fix(schema): Use ingress default values
Ingress has some default values, like path and classname. We need to
ensure that values are taken or nil, and to apply them if they are not
set explicitally. Port is a sepcial case.
2024-11-22 15:55:59 +01:00
metal3d e925f58e82 doc(add): Add more documentation about katenary file 2024-11-22 15:12:44 +01:00
metal3d 91fc0fd9f0 fix(doc): missed a new line 2024-11-22 14:58:43 +01:00
metal3d 1a1d2b5ee8 fix(configmap): do not write env var in file CM
File CM are configmap to store "static" data (file content), do not set
environment variables inside.
2024-11-22 14:55:42 +01:00
metal3d 95f3abfa74 feat(volume): add "exchange volumes"
This volumes are "emptyDir" and can have init command. For example, in a
"same-pod", it allow the user to copy data from image to a directory
that is mounted on others pods.
2024-11-22 14:54:36 +01:00
metal3d 3b51f41716 chore(names): Fix resource name
Use an utility function to fix some names
2024-11-21 11:12:38 +01:00
metal3d 3f63375b60 refacto(labels): use external files
Files are more readable as external. Use "go:embed" to inject them.
2024-11-21 11:08:55 +01:00
metal3d 8c97937b44 test(schema): Add tests 2024-11-21 11:08:09 +01:00
metal3d 96f843630a chore(misc): make the code more readable here 2024-11-21 11:04:19 +01:00
metal3d 48f6045cd3 fix(same-pod): environnment and volume mapping
We must ensure that the volume is owned by the container.
The environmment configMap wasn't bound.
2024-11-21 11:03:10 +01:00
metal3d 49045a2ccd Merge pull request #81 from metal3d/develop
Cleanup, re-factorization and allow the use of a katenary.yaml file.
Fixing a wrapping string problem.
Move the label management in a package.
2024-11-19 13:44:04 +01:00
metal3d af8dabba85 fix(secrets): Wrapping values is unecessary
It seems that go-compose now escape the string
2024-11-18 17:42:21 +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 14877fbfa3 Remove example for now 2024-11-10 00:49:38 +01:00
metal3d 7b5e45131c doc(fix): fixes the main-app documentation
There were a problem, sentence was truncated
2024-11-09 14:19:56 +01:00
metal3d b09316b416 refactor(yaml): globalize fixups
The ToK8SYaml() function makes the job, it's now simpler to manage fixes
2024-11-09 14:18:27 +01:00
metal3d 315f5da970 Merge pull request #79 from metal3d/develop
Activable tls
2024-11-09 13:57:35 +01:00
metal3d 9b392a1f64 Fix problem on getting tls mapping
The types were not compatible to get TLS activation
2024-11-08 16:55:18 +01:00
metal3d 9358076a36 chore(ingress): Allow tls activation 2024-11-08 15:51:36 +01:00
metal3d 427f2909d5 Merge pull request #78 from metal3d/develop
Fixes template injection and variable names on volumes
2024-11-08 15:03:20 +01:00
metal3d 8ab1763902 version(actions) Update actions and Go version
- checkout is now v4
- setup-go is now v5
- go version to use 1.23
2024-11-08 13:35:52 +01:00
metal3d e409be235e version(go) go 1.23 is now mandatory 2024-11-08 13:30:47 +01:00
metal3d 1ca71f264c version(mod) Update others dependencies 2024-11-08 13:29:06 +01:00