Commit Graph

81 Commits

Author SHA1 Message Date
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
9c449eefab Fix secret that disapeared from Values
- must fix #24
- optimisation on memory locks
- add `AddEnvironment` function to help management
2022-06-22 10:55:11 +02:00
b21c821086 Split source file 2022-06-22 09:54:41 +02:00
f9fd6332d6 Feat cronjob (#23)
Make possible to declare cronTabs inside docker-compose file.

⇒ Also, add multiple compose file injection with `-c` arguments 

⇒ Also, fixes “ignore depends on” for same pod 

⇒ Also fixes
 
* fix [Be able to specify compose.yml files and its override #21](https://github.com/metal3d/katenary/issues/21)
* fix [Be able to ignore ports to expose in a katenary.io/ports list #16](https://github.com/metal3d/katenary/issues/16)

And more fixes… (later, we will use branches in a better way, that was a hard, long fix process)
2022-06-10 16:15:18 +02:00
0f9a46f52d Fix env with points to underscore 2022-06-01 16:13:10 +02:00
114fab4870 Fix the problem with environment as secret
We needed to filter the environment coming from a env file, but declared
as secet in `secret-vars` label

fix #17
2022-05-23 12:11:23 +02:00
63afc3066b Fix problems with local volumes to configmap
- make it possible to mount only one file as configmap
- remove "dots" from path to convert it to volume name
- see #11 that can be resolved
2022-05-23 11:13:42 +02:00
adrian-salas
1e8fd44857 ISSUE-12 - Trim space on port label (#14)
Co-authored-by: Adrian SALAS <adrian.salas@smile.fr>

fix #12
2022-05-22 22:53:05 +02: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
a87391e726 Fix healthcheck
see #8
2022-04-01 17:39:41 +02:00
e72a8a2e9c Fix envfile detection
+ The envfiles were not added!

see #8

TODO: what are the others properties to fix this way?
2022-04-01 10:43:08 +02:00
7dc5d509f7 Fix the problem with "ugly" environment syntax
We can now manage "- A=B" format as "A: B"

Some others properties than environment may have this problem (e.g.,
command) so we will fix this later.

fix #4
2022-04-01 09:22:00 +02:00
a9b75c48c4 Add test for bad volumes 2022-04-01 08:22:06 +02:00
6ea3a923cc Avoid "not mapped" volumes
fix #5
2022-04-01 08:18:45 +02:00
7ba68c2854 If there is no image name, fail!
fix #6
2022-04-01 08:04:37 +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
95c24be14a Make it possible to mount one file from configMap 2022-02-17 11:38:23 +01:00
bf44d442e5 Fix "/" in configMap names
Fix #2
2022-02-17 11:04:04 +01:00
5d574015ce Fix the missed volume mount for empty dirs
Fix #1
2022-02-17 10:43:07 +01:00