Skip to content

Releases: laetho/metagraf

v0.1.0-rc1

19 May 10:49
Compare
Choose a tag to compare

This release contains too many changes in multiple areas of the codebase to get into everything that has changed. Most important is the removal of organization specific features.

goreleaser have been adopted and there should be more frequent releases going forward.

Changelog

0a1aca1 * Refactored GenDeploymentConfig, removed namespace argument. * Refactored how to get image ref in container section
92833cd 1.16
eb136d1 Added --imagename argument to mg create deploymentconfig
66251e4 Added --recurse option to "mg argocd create application" subcommand.
ee362d0 Added --revision to mg argocd create application subcommand.
f20ce8a Added -r (registry) flag to mg dev up.
4ebb59c Added GetArgoCDClient() (ArgoprojV1alpha1Client)
331e7e7 Added LocalManifests to Metagraf.Spec section. Useful for referencing manually created kubernetes resources in the repository.
921b02e Added Namespace to ObjectMeta.
5b38fb0 Added a few comments
69715bd Added a way to get base resourcename from a metagraf. Also supports override and version modification. mg get resourcename
7b8d291 Added an argument to mg create deployment and deploymentconfig to populate some opinionated pod spec fields as environment variables.
31791fa Added app.kubernetes.io/instance label.
1eb8588 Added functionality for creating a naive default PodDisruptionBudget that ensures atleast one working pod
b08ec05 Added functionality for querying a metagraf document with jsonpath'ish (gjson). Added functionality for getting json patches for strategic merge operations for labels. A bit fringe, but might have generic use cases.
cc30b46 Added functionality for stripping hostname namespacing from labels and annotations when creating a jsonpatch for labels. Also support filters so you can fetch only what you want.
4c3584c Added lic stanza
6f2741c Added more text to cmd line option. Still not happy with it
d22e849 Added require* functions for evaluating cli input.
2c09eb0 Added som parameters for the argocd application cr generation
74ad776 Added some logging
72e1c80 Added support for reading template from file, instead of cluster configmap
ec2fa95 Added test for sanitizeLabelValue
08816fc Added test workflow for github actions
fd217a7 Added type aliasing to create our own method sets for operating on the oci or docker image information. Added functions for transforming kubernetes corev1.Volume and corev1.VolumeMount from the data.
348b8d7 Added wrapper around oc start-build from mg dev build
25fe094 Allow extra/surplous configuration when validating properties.
5d02ab5 Building static for linux.
3511559 Bumped deadlineseconds to 1200
570f2eb Bumped go.mod to go 1.14
587a6e2 Changed annotation for servicemonitor path to servicemonitor.monitoring.coreos.com/path
24d5416 Changed argument name from --image to --imagename since we want to use --image later on for the full image reference
727b27a Changed the Metagraf method set to work with both value of type Metagraf and *Metagraf.
a8a629f Changed to pull policy to IfNotPresent as default
3a5bfe2 Changed verb since it's not really JSONPath
241ac53 Cleaned up defaultServicePort() function and added some very basic testing.
6823c82 Cleaned up flags for creating argocd application
4e499fe Cleaned up variable naming and command arguments for anti-affinity rules.
7a5a429 Cleanup for servicemonitor generation logic
8e52c85 Cleanup metagraf structs and added Dockerfile field.
d036253 Create codeql-analysis.yml
10591c4 Create dependabot.yml
4afe059 Create deployment and deploymentconfig and pdb now takes a --replicas argument. The default value is 1.
13a24d7 Create fortify-analysis.yml
33e33c3 Created cobra command structure for argocd
8e1a65a Deleted moved functions
1942820 Dependency wrangling, disabling knative codepaths
cfceeff Deployment generation will now produce the correct amount of EnvVar's even when we add properties not defined in metagraf.json.
fdc5fd4 Dirty Hack to skip docker image inspection when just providing .spec.image.
59bfc5c Empty struct checking for probes.
bd0073c Empty struct checking for probes.
b244bb6 Experimenting with github actions.
4cffb67 Extended dirty hack to volumes handling.
05a85a3 Fix GetServicePorts and ServicePortsBySpec if we have no imageinfo.
7bee0a3 Fixed --- when outputing multiple kubernetes objects when creating a service + servicemonitor
f910b57 Fixed --namespace flag on mg create pdb/poddisruptionbudget
2d6e60d Fixed APIVersion for PodDisruptionBudget. (policy/v1beta1)
d79ab92 Fixed ImageNS handling in Deployment generation
9669412 Fixed a bug where we tried to convert non existing value to int if annotation was not set.
f945a6c Fixed apiversion for ServiceMonitor CRD
495e35a Fixed default handling for ports when containerimage has no exposed ports
76efbba Fixed defects when using ready made container image. All of this need a bit of refactoring.
e2edb8d Fixed format flag for mg create pdb
6a5f56f Fixed label. deploymentconfig not deployment.
1458ba8 Fixed log statements
9094b4f Fixed logic error in allow not yet needed properties
1b4602c Fixed logic for port conventions. No annotation resulted in no ports previously.
bb815ae Fixed logical fallacy regarding startupProbes
6193b39 Fixed numeric logic for pdb creation
08d79d2 Fixed return statement
ac804e1 Fixed some logging level and command feedback strings.
6e52dbd Fixed validLabelValue check and introduces /metrics as default metrics endpoint.
bf1c43e Generic way to fetch Labels from a metagraf spec.
55092ea Had the same bug in deploymentconfig, fixing
a4c719c I need sleep. Route generation should now be short term fixed.
ed75ac4 Implemented a "hard" pod anti-affinity setup. HardPodAntiAffinity().
d99c480 Implemented configuring ports through spec.ports as well as annotations. We'll gut one of the methods for desribing how to instrument the service object with standardized protocol numbers.
e9f67cf Import cleanups.
bdf7148 Initial implementation for defining "soft" pod anti-affinity rules when generating Deployments with mg.
89caaea Initial implementation of ArgoCD Application CR generation.
2207b9f Initial implementation of PodDisruptionBudget generation
05267fa Initial implementation of support trusted-ca bundles into pod's
8bdbb25 Initial implementation of the internal imageinfo package. This package will generalize the way mg does introspection on referenced image.
bb9845c Integrated with the wrong project. changed the imports and generated some basic scaffolding.
6febc25 Introduced MGImageInfo()
2311402 Introduced pdb alias for mg create poddisruptionbudget.
0ddba2d Introduced reading scrape path from annotation. Also fixed precedence of cli > annotation > default values for scrape path.
55a4643 Introduces the concept of image aliasing. If a metagraf spec uses a ready made container image in .spec.image it wil by default re tag it with mg conventions for naming things. In other words parity with a build image based metagraf. --image-aliasing=false will revert to using the .spec.image value as is.
caf4bc8 Lic and cleanups
9d1ba90 Made disable of aliasing behavior more clear. I hope
154b640 Made input properties handling and logic more clean. Some removal of unused code. And a working fix for JVM_SYS_PROP stuff.
ea14969 Made it possible to use an explicit user and password for registry operations for new internal imageinfo package.
31aecdc Merge branch 'master' of github.com:laetho/metagraf
9e970dd Merge branch 'master' of github.com:laetho/metagraf into master
dbb85b5 Merge branch 'master' of github.com:laetho/metagraf into master
74993c1 Merge branch 'master' of https://github.com/laetho/metagraf into master
aea2201 Merge pull request #22 from laetho/refactor-properties
bb30202 More sanitation of annotations to labels
dc89b32 Moved params package to internal
7b8dfb8 Moved some packages to /internal.
8cb0470 Moved the k8sclient package
d7473d2 Moved to NewSerializerWithOptions since NewSerializer will be deprecated in the future.
89b4840 Name needs to ble explicitly specified to ApplictionGenerator.Application() now. Using init to set defaults for AppOpts that the constructor ApplicationOptions constructor uses.
d7c5a43 Playing around wih OAM (oam.dev) to see if there is an easy bridge to Crossplane here.
9d79584 Previously forgot to hook up the JVM_SYS_PROP handling to the refactored properties system.
567affc Quick fix of route generation given port standardization in Service objects
db94c1c Quick hack to sanitize label values better. Need to redo/rethink use of labels to eco system practices.
16fb0a8 Raenamed module in go.mod and fixed imports.
a72e52e Really handled () in label values this time (HACK). Need to control input better.
32c48da Redid envvars generation for deploymentconfig, removed old function to do the same. NOTE: removes handling of external environment variables (introduces/consumes) mapping.
2ba94de Refactored ServiceMonitor generation. Was not directly tied to Service port information as it operates on pod level.
7d9fe8a Refactored and simplified JVM_SYS_PROP generation. Cleaned up test that made us aware of the problem.
ed18ce2 Refactored function name
c2e4c97 Refactored how we get container image infromation during deployment and deploymentconfig generation. Now supports referencing a container image that we did not build ourselves, so we can wrap upstream solutions in a metagraf.json
81387d6 Refactored mg create ref. Moved logic to own files and added output argument.
fd1aa25 Refactored the TRUSTED-CA injection and moved to common.go
ad7059d Refactored use of OverrideProperties
65b1be5 Reintroduced adding non defined envvars through --cvars.
88b73fa Reintroduced an old convention to keep compatibility. Providing just "secretfrom" the "key" vill be set to the value of "secretfrom" as well.
bc073c5 Remote surplus output
97fcff5 Removed Directory from spec
87aa3b6 R...

Read more

mg v0.0.44

26 May 13:19
Compare
Choose a tag to compare

Notable Changes:

  • This release actually use the v1.Probe{} definitions from the spec in deployment and deploymentconfig.
  • Parsing --cvfile is now also more robust.
  • Selector generation for Service{} now use a more generic app label.

Commits:
89b7147 (HEAD -> master, tag: v0.0.44, origin/master, origin/HEAD) Switched to scanner instead of reader with ReadString('\n') which caused problems when we only had one line without newline in the file. This should be more robust.
aef60e1 Changed selector to app label instead of deploymentconfig to make supporting deployment easier
f79b776 Deployment now populate probes
c310f94 Lowered deadline seconds. Was too high. Probes are now populated in DeploymentConfig

mg v0.0.43

25 May 10:33
Compare
Choose a tag to compare

Cleanups and command completeness release.

Commits:
dc4b21b (HEAD -> master, tag: v0.0.43, origin/master, origin/HEAD) lic
353b40c Fixed copyright years Moved create buildconfig subcommand to it's own file
63e32b9 Moved create imagestream subcommand to it's own file.
4e6c35f Moved global create flags to create.go
d4c809f Refactored mg create imagestream, moved to it's own file.
16eeb66 Removed unwanted buildconfig creation debug.
2faf84d Fixed selector for ServiceMonitor Fixed unwanted output for BuildConfig creation
05d4f96 Refactored ocpclient package to k8sclient.
9ecc170 Added more parameters for ServiceMonitor handling.
514ed28 Made creation of ServiceMonitor resources Service aware, using defaults from params now as well. Also added create and delete operations.
5e9a56a Harmonized mg dev up with changes to create service command options.
e44cbab Cleaned up and made optional ServiceMonitor creation more complete.

mg v0.0.42

15 May 08:04
Compare
Choose a tag to compare

Fixes a regression regarding connections in Name() function. Also includes initial work for creating ServiceMonitor resoruces.

12e42e6 (HEAD -> master, tag: v0.0.42, origin/master, origin/HEAD, servicemonitor) First pass on generating a ServiceMonitor Resource
a738d0d Fixed broken conventions in Name() function.
b40ad0c Addec lic notice and ServiceMonitor bool parameter. Used with mg create service to indicate you also want to create a ServiceMonitor resource for the prometheus-operator.
19c7b57 Moved create service to it's own file for readability
0827775 Added monitoring api's from prometheus-operator. Inital stubs.

mg v0.0.41

14 May 14:21
Compare
Choose a tag to compare

A few small fixes. Usability around mg dev up/down and buildconfig fix for git source refs.

3fde704 (HEAD -> master, tag: v0.0.41, origin/master, origin/HEAD) Removed some logging and clarified text
cb8a3e4 Fixed registry and adherance to --version
bf4f60f Refactored Name() function. Simpler and more flexible, now adheres to --version and --name better.
c7b14f4 Refactored to adhere to params.SourceRef
3eb1976 Made mg dev up/down commands more flexible and more inline with ci flow
9482da0 Refactored arguments for creating buildconfigs. Makes more sense now?
b7be90b Added OutputImagestream to params
79de68d Read default registry value from config
a53c67f Added params package
20c2d60 Fixed bug in object reference
5e58ee2 mg create buildconfig now tags an argument for overriding output to imagestream (-i) name and tag (-t)
e508617 Moved create buildconfig into it's own file.

mg v0.0.40

14 Apr 11:01
1b591cf
Compare
Choose a tag to compare

Fixed a behaviour issue regarding optional envvars. They are now omitted from deployment and deploymentconfig generation if a value for them has not been explicitly set. Old behaviour put empty EnvVar definitions in the genereated resources.

Commits:
1b591cf (HEAD -> master, tag: v0.0.40, origin/master, origin/HEAD) Merge pull request #20 from laetho/optdef
27e5481 (origin/optdef, optdef) Fix for omitting envvar's from deploymentconfig when no value for it has been set.

mg v0.0.39

01 Apr 19:08
Compare
Choose a tag to compare

Notable changes:

  • It's now possible to reference specific keys from ConfigMap or Secret in environment section and use them as a desired name. Previously it would just import all the keys and exposing all the keynames as environment variables.
  • This release resolves issue #18.

2d6f4d4 (HEAD -> master, tag: v0.0.39, origin/master, origin/HEAD) Fixed logic error in SourceKeys() function. Now it actually used the required argument.
74f3c99 Merge pull request #19 from laetho/envvarsource
fd8e90c (origin/envvarsource, envvarsource) Cleanup and removal of common code. Reintroduced use of imagestream tags again.
7f59e6d Moved functions
5a09041 Refactored environment variables generation. Moved out to several functions and added support for valueFrom selectors to Secrets and ConfigMaps.
264392a Removed surplus keys because of a rename and simplification down to one Key field.
6a364d1 Fixed project name in license stub.
dc23d16 Skip optional props on generate properties.

mg v0.0.38

26 Feb 14:13
Compare
Choose a tag to compare

Fixed a bug in "mg inspect properties" that skipped the last line that did not have a \n.

Changelog:
b9278d7 (HEAD -> master, tag: v0.0.38, origin/master, origin/HEAD) Fixed a bug when reading config that skipped the last line.
514d5ea Merge branch 'master' of https://github.com/laetho/metagraf
fecb47c Removed info level 1 for config file check
b7f0f21 Added todo for cmd flags

mg v0.0.37

24 Feb 10:31
Compare
Choose a tag to compare

Fixed a regression regarding defaults and configmap generation.

Changelog:
d82090f (HEAD -> master, tag: v0.0.37, origin/master, origin/HEAD) Fixed regression with no defaults for configuration files.

mg v0.0.36

18 Feb 12:24
Compare
Choose a tag to compare

Regression fix release.

07c64bf (HEAD -> master, tag: v0.0.36, origin/master, origin/HEAD) Removed skopeo imageinfo parsing from service generation. Regression.