Commit Graph

99 Commits

Author SHA1 Message Date
7b5e45131c doc(fix): fixes the main-app documentation
There were a problem, sentence was truncated
2024-11-09 14:19:56 +01:00
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
9b392a1f64 Fix problem on getting tls mapping
The types were not compatible to get TLS activation
2024-11-08 16:55:18 +01:00
9358076a36 chore(ingress): Allow tls activation 2024-11-08 15:51:36 +01:00
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
2d33367422 chore(optim): manage space in struct
Warning given by sonarlint, saves a few bytes.
2024-10-24 17:24:36 +02:00
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
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
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
63c6d5d0ef chore(format): moved import
Formatter changed the import order
2024-10-23 16:20:29 +02:00
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
533e1422d0 Sonar complience
Use valid names and factorize some constants checks
2024-10-18 09:36:55 +02: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
adc44a5e8b Refactorization and ordering 2024-05-07 13:18:00 +02:00
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
d98268f45b Add more tests on probes and dependencies 2024-04-25 00:20:04 +02:00
ccfebd1a70 We need helm linting at this time
Because the linting makes the dependency update. We will need to split
linting and dep update later.
2024-04-25 00:18:57 +02:00
e4f67dbd31 Fix the parsing of probes 2024-04-25 00:18:04 +02:00
d01a35e2d4 Use real types to parse labels
We were using `yaml.Unmarshal` on basic types or inline structs. This
was not efficient and not clear to defined what we expect in labels.
We now use types to unmarshal the labels.

Only the `values` label is, at this time, parsed by GetValuesFromLabel
because this `utils` function is clearly a special case.
2024-04-24 23:06:45 +02:00
0aa7023947 Avoid repetition 2024-04-24 21:53:24 +02:00
da7d92bbfa Add more tests, refactor to fix problems
Signed-off-by: Patrice Ferlet <metal3d@gmail.com>
2024-04-24 20:55:27 +02:00
f73d598bb4 Standardization
- changed variables that was uppercased, that's not OK for linters
- cleanup some documentation
- remove the "/" in label prefix, a function is now used to get the
  complete label (`labelName()`)
- some cleanup in tpl files, and so on...
2024-04-24 14:03:41 +02:00
e0c18ec2ad Avoid repetitions 2024-04-23 15:45:31 +02:00
a3e7435544 Add test for static volumes
And moved a test from deployment_test that was not the right place to be
created.
2024-04-23 15:38:50 +02:00
77de53c999 Create more tests 2024-04-23 14:26:23 +02:00
6a7fedee7e We shouldn't quote encoded values
Quoting before encoding in base64 adds the quotes in the encoded data.
That's a bad behavior.
2024-04-23 14:24:06 +02:00
49c1fa5fb0 Explain what happens 2024-04-23 10:10:58 +02:00
50975ae94a Fix static volume binding
It is possible there are many things like this to fix. I made too much
complexity on searching services in deployment while the map key is
enough to get the righ deployment for a compose service.

Need to check the "same-pod" possibilities later.
2024-04-23 08:05:00 +02:00
8ae9350d31 Add YAML keys in the comments
I eases developpers and admins to know the key to override when they
create an override file or to use `--set` argument for Helm.
2024-04-22 13:28:22 +02:00
9621493343 Add resources in containers and values 2024-04-22 13:27:44 +02:00
9826a54187 Fix notes.txt problems
We were using a bad method to read the ingress values. It's not ensured
by using the service names + checking the "ingress" key.
2024-04-21 16:35:32 +02:00
d48fd2f911 make a better override + add more values (serviceAccount, nodeSelector...) 2024-04-21 16:34:21 +02:00
58d19cce52 Fix the chart app version 2024-04-19 22:12:09 +02:00
77e8be4e63 Container can be null
In case of deployment with "same-pod" label, the container can be not
found in the deployment.
2024-04-19 11:27:48 +02:00
3c743fb135 Fixup hard problems on bound volumes
Recreated the method to bind local content to configMaps with subPath.
That simplify a few how we can bound files and not only directory
content.
2024-04-19 11:13:24 +02:00
ab15614076 Use "helm" filtype first for vim modeline + tests
"helm" can be managed by vim/neovim plugins, so it's a good idea to add
it as default, then use "gotmpl.yaml".

Add basic tests...
2024-04-11 09:37:10 +02:00
c41fa22c59 Update k8s.io/api + fix changed function 2024-04-11 09:34:58 +02:00
c780e6c2a2 Change doc, icon and logo 2024-04-10 13:53:58 +02:00
3317459b0b Code cleaning 2024-04-10 04:54:38 +02:00
564b939464 Remove useless composition call 2024-04-10 04:54:16 +02:00
45de7ab543 Fix samepod generation
The container was not merged to the target deployment. It necessary to
make one more loop to apply the container + remove the source
deployment.
2024-04-08 23:15:05 +02:00
984b50356a Do not pass by composed struct
It useless to use the composed struct field as the current "object" is
composed by this one. Get Name field directly. (Thanks staticcheck)
2024-04-05 07:58:37 +02:00
441b30a570 Code cleaning
Using gofumpt. Add documentation.
Some fixes on type checking and const icon type declaration.
2024-04-05 07:56:27 +02:00
3ae5ec99ff Typo, format of markdown
I prefer to limit 120 columns. A .nvimrc will be proposed to avoid
having to wide markdown lines.
2024-04-03 23:26:54 +02:00
ef7fcb6133 Some users want to use "host" instead of "hostname"
We accept both, nothing more.
2024-04-03 22:44:41 +02:00
9a3fc6a2b4 Fix "depends_on" check
If "depends_on" is set, we need to ensure that the target service has
got declared ports. It's necessary, at this time, to ensure the target
is started (with an initContainer)

As soon as Kubernetes proposes a better check, we will be able to fix
this requirement.
2024-04-03 22:22:48 +02:00
76aa332dc2 Fix dependencies parsing
The code was fetching a simple object while it should have been fetching an array of objects.
2024-04-03 21:34:15 +02:00
5d4f72e984 Fix unued variable, useless functions... 2024-04-03 21:33:26 +02:00
5a358f0a6a Add labels docs
This file was ignored by error in .gitignore
2024-04-03 16:16:28 +02:00
475a025d9e Go to Katenary V3
This is the next-gen of Katenary
2023-12-06 15:24:02 +01:00