540 Commits

Author SHA1 Message Date
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
metal3d 5f464253c4 version(k8s/api) Update kubernetes api package 2024-11-08 13:26:14 +01:00
metal3d 75869975f6 version(netdb) Update version 2024-11-08 13:24:04 +01:00
metal3d ac43256511 version(cobra) Update cobra version 2024-11-08 13:20:38 +01:00
metal3d 5b51ba6d98 doc(fix): Regenerate the doc 2024-11-08 13:13:27 +01:00
metal3d dd63bb6343 chore(fixes): Unwrap yaml before converting and fix volume name variable
2 fixes:

- the first problem to resolve is that some volume names can have "-" in
the name. We now replace them by "_"
- the second problem is that k8s.io library truncates the lines and so
we cannot split the files by lines. We now "unwrap" the result.

TODO: globalize the `yaml.Marshal()` code to our own specific function
2024-11-08 13:11:14 +01:00
metal3d 817ebe0e53 Remove logs
Made for debug, we must remove them.

Todo, add a logger system for debug.
2024-11-08 13:08:20 +01:00
metal3d 6023ca4508 Merge pull request #77 from metal3d/develop
Merge Develop to prepare V3
2024-10-29 17:45:05 +01:00
metal3d e0c829c2ce Merge branch 'master' into develop 2024-10-29 17:42:17 +01:00
metal3d 2d33367422 chore(optim): manage space in struct
Warning given by sonarlint, saves a few bytes.
2024-10-24 17:24:36 +02:00
metal3d d72f371c59 fix(generation): fix the volume var/path name
Underscores are forbidden by Kubernetes (should be a valid URL string),
we replace "_" by "-" in names, and we leave the values file using the
original name. So a volume named "foo_bar" in compose file, is
registered as "foo_bar" in the values file, but "foo-bar" is used as
volume name in deployments, volume claims, ...
2024-10-24 17:23:26 +02:00
metal3d db168c91c9 fix(generation): use tpl in note for hostnames
The value in hostname in values file can be a templated string. So, we
should execute the content.
2024-10-24 17:21:04 +02:00
metal3d d31993953b fix(doc): livenessProbe and readinessProbe must be set
In the health-check label, we now need to specify the kind of check to
do - in the expected form from Kubernetes specification.
2024-10-23 16:32:50 +02:00
metal3d 63c6d5d0ef chore(format): moved import
Formatter changed the import order
2024-10-23 16:20:29 +02:00
metal3d 164a617869 fix(values): Remove tplString in environment directive
We badly set a "tpl string" in values.yaml file for "values" labels set
in compose.yaml file.
2024-10-23 16:17:01 +02:00
metal3d 865473b41b Enhance documentation
- upgraded mkdocs and dependencise (+ add mermaid)
- linted markdown
- add more details
2024-10-18 09:36:56 +02:00
metal3d 533e1422d0 Sonar complience
Use valid names and factorize some constants checks
2024-10-18 09:36:55 +02:00
metal3d d2c8d08b7f Validate markdown
Use markdownlint / marksman in your editor please
2024-10-18 09:36:55 +02:00
metal3d 4703aa7df5 MkDocs needs 4 spaces for lists 2024-10-18 09:36:55 +02: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 78dfb15cf5 Add the command package 2024-05-07 13:19:04 +02:00
metal3d adc44a5e8b Refactorization and ordering 2024-05-07 13:18:00 +02:00
metal3d 4367a01769 Big refactorization
- reduce complexity
- use better tools to format the code
- add more tests
- and too many things to list here

We are rewriting for V3, so these commits are sometimes big and not
fully detailed. Of course, further work will be more documented.
2024-05-06 21:11:36 +02:00
metal3d d98268f45b Add more tests on probes and dependencies 2024-04-25 00:20:04 +02:00