metal3d
1fa07c29e5
Work in progress on compose-go v2
...
As explained in #102 , the compose-go package changes types and needs
massive changes.
This branches is OK for now, but needs some tests.
It MUST be quickly fixed to be integrated in main branch.
2024-12-28 19:37:51 +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
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