Merge Develop to prepare V3 #77

Merged
metal3d merged 98 commits from develop into master 2024-10-29 16:45:05 +00:00

98 Commits

Author SHA1 Message Date
e0c829c2ce Merge branch 'master' into develop 2024-10-29 17:42:17 +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
865473b41b Enhance documentation
- upgraded mkdocs and dependencise (+ add mermaid)
- linted markdown
- add more details
2024-10-18 09:36:56 +02:00
533e1422d0 Sonar complience
Use valid names and factorize some constants checks
2024-10-18 09:36:55 +02:00
d2c8d08b7f Validate markdown
Use markdownlint / marksman in your editor please
2024-10-18 09:36:55 +02:00
4703aa7df5 MkDocs needs 4 spaces for lists 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
78dfb15cf5 Add the command package 2024-05-07 13:19:04 +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
451a1341bd Do not check coverage on test file dude 2024-04-24 21:52:59 +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
15a2f25e51 Exclude doc from the analysis 2024-04-24 14:23:31 +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
98c7c6ddc1 Use latest Go compiler 2024-04-24 13:57:06 +02:00
39d63c11b1 Remove coverage files 2024-04-24 13:51:46 +02:00
8f4d69d6e2 Add sonar profile 2024-04-24 13:51:25 +02:00
531756d8ea Use sonarcloud 2024-04-24 13:48:01 +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
c01cdf50c8 Only on PR and on push to master 2024-04-23 14:59:20 +02:00
2e3dd5032f Add codecov 2024-04-23 14:54:42 +02:00
8b01807568 Add workflows 2024-04-23 14:43:57 +02:00
46c878b56e Add coverage files 2024-04-23 14:42:55 +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
c31299197f Remove the bats tests
That was interesting but finally not so useful. We will make better
tests in Go. The hard part will be to make them working in CI/CD.
2024-04-23 10:13:38 +02:00
49c1fa5fb0 Explain what happens 2024-04-23 10:10:58 +02:00
d1186ee1e1 Refresh doc 2024-04-23 08:07:20 +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
7e8cb57979 Fixes 2024-04-22 15:43:02 +02:00
12814f4732 Cleanup 2024-04-22 15:36:49 +02:00
dc41826691 Back to normal 2024-04-22 15:32:39 +02:00
6770f8176a Make pure svg calls 2024-04-22 15:29:32 +02:00
cd946b2df6 Try another thing 2024-04-22 15:20:29 +02:00
734b0ed39d Try to embed logos 2024-04-22 15:17:28 +02:00
78d37c4405 Ease installation 2024-04-22 13:55:53 +02:00
fd3ba6d577 Fix doc after changes in source files 2024-04-22 13:31:30 +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
f291d17aa3 Fixup documentation after changing packages 2024-04-21 16:37:20 +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
ec62a79d82 Better override list and documentation 2024-04-19 22:26:45 +02:00
58d19cce52 Fix the chart app version 2024-04-19 22:12:09 +02:00
3bb635a627 Add FAQ page 2024-04-19 12:11:43 +02:00
35f464a1cb Add footnotes and search 2024-04-19 12:11:18 +02:00
85f1b2d43c Fixes the ingress doc 2024-04-19 11:28:27 +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
57b274e345 Fixing documentation 2024-04-19 11:17:54 +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
81ea0fbb6f fix fonts in svg, one more time... 2024-04-10 22:55:58 +02:00
821c038206 Fix fonts 2024-04-10 22:53:32 +02:00
19a37ace18 Better styles, logo, effects...
- Make a SVG with classes to invert the color of strokes
- Set a better logo + one vertical
2024-04-10 22:25:07 +02:00
d8bd66e66f Change license date, enhance and fix documentation 2024-04-10 14:19:07 +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
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
2f53638f82 Add documentation 2024-04-10 04:49:36 +02:00
5070101706 Add workflow image and zoom on click 2024-04-10 04:48:51 +02:00
cc3c42b8fd Add venv to ignore list 2024-04-10 04:47:52 +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
2aad5d4b9d Upgrading mod package 2024-04-04 09:53:33 +02:00
50169c8fbc Changing logo, fix doc, catchy text... 2024-04-04 09:50:17 +02:00
fc67cb668d Fix line width to 120 columns 2024-04-03 23:30:24 +02:00
8e4b3be108 Add nvimrc file
Editorconfig seems to not allow the line wrapping. I'm using neovim with
`set exrc`, so this local file is used to fix some behaviors.

If a contributor can give solutions for a global configuration that
works everywhere...
2024-04-03 23:28:04 +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
50c2f9d1dc Use new labels in documentation, and fix content 2024-04-03 22:38:23 +02:00
eeb044bab0 Add markdown editor configuration 2024-04-03 22:37:56 +02:00
6ce52cc037 Reindentation and change labels 2024-04-03 22:37:22 +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
4ded4d4e09 Set the compose file list using overrides
This is a hack to force the compose package to read all files provided
with the -c flag.
2024-04-03 22:08:01 +02:00
dc47e73b4b Temorary fixing overrides
WIP: this breaks the -c flag, but it's a start

We can now use compose.katenary.yaml file as a default override.
2024-04-03 21:35:04 +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
ed9b4681ad Unignore some yaml files
katenaryLabelsDoc.yaml is a file that is used to generate the documentation, it is not a file that should be ignored.
2024-04-03 16:15:24 +02:00
d135f5bc0a Remove the Smile sponsorship
One more time, thanks a lot for the adventure
2024-04-03 14:24:43 +02:00
f9cf3972d5 Removed Smile sponsorship
Thanks for the given time.
2024-04-03 14:18:16 +02:00
6e33fa474a Get the newest version of go-compose
- better integration of compose file
- needed to impose to not resolve path in "parser" package to get them
  from the working directory. This should be improved later
2024-04-03 14:15:50 +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