Releases: krisnova/naml
The TGIK Release
Cutting from head for vendoring a new repo
0.2.7 The -oyaml release
Naml now supports -o yaml
naml -o yaml
naml output AppName -o json
naml output
naml output AppName -o yaml
Other features
- Integration test for yaml -> go -> compile -> run
- Improvements to generating packages
- Improvements to CLI langauge
0.2.6 The Duffie Release
Adding new features with codify
- Output
- Better debug
- GoName
0.2.5 The go modules make me sad release
Go modules make me cry - like in the sad way. They really hurt me.
Anyway this release exists just to prevent the HTTP 410 error whilst trying to vendor 0.2.4
v0.2.4 Codify improvements
Closing #45
Embedding improvements
Updating go mod release tag
0.2.3 Updating vendoring and bug fixes
This addresses the
../go/pkg/mod/github.com/kris-nova/naml@v0.2.1/codify.go:104:23: undefined: FormatMainGo
error with 0.2.1 and 0.2.2
This also now adds logging to stderr for the naml codify
command (if something goes wrong)
0.2.2 The Codify Release
Updating the naml codify
feature.
Now working with the following Kubernetes objects in the codify
package. I was able to generate working go code from entire namespaces.
- corev1.Pod
- appsv1.Deployment
- appsv1.StatefulSet
- appsv1.DaemonSet
- corev1.ConfigMap
- corev1.Service
- corev1.PersistentVolume
- corev1.PersistentVolumeClaim
- batchv1.Job
- batchv1.CronJob
- rbacv1.Role
- rbacv1.ClusterRole
- rbacv1.RoleBinding
- rbacv1.ClusterRoleBinding
- networkingv1.Ingress
- appsv1.ReplicaSet
- corev1.Endpoints
0.2.1 with "codify" in alpha
Releasing the new codify
feature. This feature is still in alpha. Use responsibly.
There is a new (alpha) feature codify
that will attempt to generate as much go code as possible for existing Kubernetes YAML.
You can pipe valid Kubernetes .yaml
to naml codify
and it will do it's best to generate as much code as possible for you. This will work best if you know what you are doing and just want a place to get started coding.
Currently the following types are supported. If there is a type that you are looking for that isn't here feel free to open a pull request or submit an issue and I will add it as soon as I can.
- Service
- ConfigMap
- Deployment
- StatefulSet
- DaemonSet
- Deployment
- Pod
- List
You can use the codify
feature like this:
kubectl get deploy -oyaml | naml codify > main.go
cat configmap.yaml | naml codify > main.go
helm template chart | naml codify > main.go
First firm Deployable interface
Adding .Description() string
to the Deployable interface.
After some thought I do believe that the interface is a viable starting point.
I have decided NOT to add the following for this initial release
- Reconcile()
- List()
- Get()
- IsInstalled()
I believe these are out of scope, and in theory should be handled by another system (such as a controller or operator).
Determining if an application needs to be installed or uninstalled is out of scope.
We just are here for a user to call .Install()
or .Uninstall()
when they deem necessary.