Skip to content
This repository has been archived by the owner on Jan 25, 2019. It is now read-only.

Log what resources are created in K8s #52

Closed
jsm84 opened this issue Oct 15, 2018 · 6 comments
Closed

Log what resources are created in K8s #52

jsm84 opened this issue Oct 15, 2018 · 6 comments

Comments

@jsm84
Copy link

jsm84 commented Oct 15, 2018

I ran into an issue debugging the example Tomcat operator (and a MariaDB example of my own), where the operator processes cr.yaml and creates the resources transparently (K8s Deployment and Service objects defined by the chart), but pods themselves are never created as this action was blocked by an OpenShift Security Context Constraint. It appeared as though the operator wasn't actually deploying resources when processing cr.yaml, however it actually did, it just wasn't obvious by viewing the output of oc logs <operator-pod-id>.

After giving the code a rough glance, it appears that these messages are logged via logrus. It would be ideal to have something logged in addition to processing <namespace>/my-tomcat using values: replicaCount: 2 which states the Kind and the name of resources that are created by the Helm operator.

@robszumski
Copy link
Contributor

Seems to be a few concerns here:

  • do we rely on logging directly from Helm or can we customize it?
    • showing a git style diff in the logging output is pretty helpful
  • do we use log levels today?
    • if so, how can you control it?
  • does the Operator write out to the status block?

@jsm84
Copy link
Author

jsm84 commented Oct 15, 2018

To quickly answer whether the "status" field gets written to, it does get populated with info that differs somewhat versus that which gets logged to the pods stdout (which is what I believe populates the output of oc logs <operator-pod-id>).

Looking at the status: block of the tomcat-operator pod shows the following:

status:
  conditions:
  - lastProbeTime: null
    lastTransitionTime: 2018-10-13T01:10:50Z
    status: "True"
    type: Initialized
  - lastProbeTime: null
    lastTransitionTime: 2018-10-15T18:23:07Z
    status: "True"
    type: Ready
  - lastProbeTime: null
    lastTransitionTime: 2018-10-13T01:10:49Z
    status: "True"
    type: PodScheduled
  containerStatuses:
  - containerID: docker://081324cc0935ed07b299e0b964beb175d0d796e07494985f8b167409b8734b53
    image: scan.connect.redhat.com/p7153749677c0f9fde6d2669c3d7785cffc2124c4f/tomcat-operator:0.1.5
    imageID: docker-pullable://scan.connect.redhat.com/p7153749677c0f9fde6d2669c3d7785cffc2124c4f/tomcat-operator@sha256:bf76931832fa3559029d54e8f0908b0d108da9453c96ed34a2de26b662984ac6
    lastState:
      terminated:
        containerID: docker://a6f1f4cce926976505c914d4aac8a8398e129c4a7327c6037dbdcaa956d2ac48
        exitCode: 1
        finishedAt: 2018-10-15T18:20:44Z
        reason: Error
        startedAt: 2018-10-15T18:20:40Z
    name: tomcat-operator
    ready: true
    restartCount: 3
    state:
      running:
        startedAt: 2018-10-15T18:23:06Z
  hostIP: 192.168.124.122
  phase: Running
  podIP: 172.17.0.9
  qosClass: BestEffort
  startTime: 2018-10-13T01:10:50Z

Whereas the (truncated) log output of the operator is:

time="2018-10-15T18:23:07Z" level=info msg="Go Version: go1.10.4"
time="2018-10-15T18:23:07Z" level=info msg="Go OS/Arch: linux/amd64"
time="2018-10-15T18:23:07Z" level=info msg="operator-sdk Version: 0.0.6+git"
time="2018-10-15T18:23:08Z" level=info msg="Registering Components."
time="2018-10-15T18:23:09Z" level=info msg="Watching apache.org/v1alpha1, Tomcat, tomcat-operator, 5000000000"
time="2018-10-15T18:23:09Z" level=info msg="Starting the Cmd."
time="2018-10-15T18:23:09Z" level=info msg="processing tomcat-operator/my-tomcat"
time="2018-10-15T18:23:09Z" level=info msg="using values: replicaCount: 2\n"
time="2018-10-15T18:23:09Z" level=error msg="a release named helm-app-operator-my-tomcat already exists.\nRun: helm ls --all helm-app-operator-my-tomcat; to check the status of the release\nOr run: helm del --purge helm-app-operator-my-tomcat; to delete it"
time="2018-10-15T18:23:10Z" level=info msg="processing tomcat-operator/my-tomcat"
time="2018-10-15T18:23:10Z" level=info msg="using values: replicaCount: 2\n"
time="2018-10-15T18:23:10Z" level=info msg="adding ownerrefs to file: tomcat/templates/appsrv-svc.yaml"
time="2018-10-15T18:23:10Z" level=info msg="adding ownerrefs to file: tomcat/templates/appsrv.yaml"
time="2018-10-15T18:23:23Z" level=info msg="processing tomcat-operator/my-tomcat"
time="2018-10-15T18:23:23Z" level=info msg="skipping tomcat-operator/my-tomcat because resource version has not changed"
time="2018-10-15T18:23:28Z" level=info msg="processing tomcat-operator/my-tomcat"
time="2018-10-15T18:23:28Z" level=info msg="skipping tomcat-operator/my-tomcat because resource version has not changed"
time="2018-10-15T18:23:33Z" level=info msg="processing tomcat-operator/my-tomcat"
time="2018-10-15T18:23:33Z" level=info msg="skipping tomcat-operator/my-tomcat because resource version has not changed"
...

@joelanford
Copy link
Member

Great timing @jsm84. I don't think this will completely answer your need, but check out the latest PR I submitted this morning (#51), which includes a commit with a bunch of logging updates that makes it more obvious what's happening (and feel free to leave comments).

A few things not present in that PR that still need to be done are:

  • Configurable logging level. Right now there's no way to see debug logs.
  • Logging a git style diff when changes made to the CR trigger a release installation or update.

Looking at the status: block of the tomcat-operator pod...

I think the status @robszumski was referring to is the CR status, not the helm operator. It contains the full release information (e.g. release name and manifests) for the currently deployed release.

@joelanford
Copy link
Member

Here's an example from #51:

Log output:

$ API_VERSION=apache.org/v1alpha1 HELM_CHART=~/work/helm-app-operator/charts/tomcat/ KIND=Tomcat operator-sdk up local
INFO[0000] Go Version: go1.10.4                         
INFO[0000] Go OS/Arch: linux/amd64                      
INFO[0000] operator-sdk Version: 0.0.6+git              
INFO[0000] Registering Components.                      
INFO[0000] Watching apache.org/v1alpha1, Tomcat, default, 5000000000 
INFO[0000] Starting the Cmd.                            
INFO[0008] Installed release for apiVersion=apache.org/v1alpha1 kind=Tomcat name=default/app1 release=helm-app-operator-app1 
INFO[0008] Reconciled release for apiVersion=apache.org/v1alpha1 kind=Tomcat name=default/app1 release=helm-app-operator-app1 
INFO[0013] Reconciled release for apiVersion=apache.org/v1alpha1 kind=Tomcat name=default/app1 release=helm-app-operator-app1 
INFO[0018] Reconciled release for apiVersion=apache.org/v1alpha1 kind=Tomcat name=default/app1 release=helm-app-operator-app1 
INFO[0023] Reconciled release for apiVersion=apache.org/v1alpha1 kind=Tomcat name=default/app1 release=helm-app-operator-app1 
INFO[0028] Reconciled release for apiVersion=apache.org/v1alpha1 kind=Tomcat name=default/app1 release=helm-app-operator-app1 
INFO[0033] Reconciled release for apiVersion=apache.org/v1alpha1 kind=Tomcat name=default/app1 release=helm-app-operator-app1 
INFO[0037] Updated release for apiVersion=apache.org/v1alpha1 kind=Tomcat name=default/app1 release=helm-app-operator-app1 
INFO[0037] Reconciled release for apiVersion=apache.org/v1alpha1 kind=Tomcat name=default/app1 release=helm-app-operator-app1 
INFO[0039] Reconciled release for apiVersion=apache.org/v1alpha1 kind=Tomcat name=default/app1 release=helm-app-operator-app1 
INFO[0044] Reconciled release for apiVersion=apache.org/v1alpha1 kind=Tomcat name=default/app1 release=helm-app-operator-app1 
INFO[0049] Reconciled release for apiVersion=apache.org/v1alpha1 kind=Tomcat name=default/app1 release=helm-app-operator-app1 
INFO[0054] Reconciled release for apiVersion=apache.org/v1alpha1 kind=Tomcat name=default/app1 release=helm-app-operator-app1 
INFO[0059] Reconciled release for apiVersion=apache.org/v1alpha1 kind=Tomcat name=default/app1 release=helm-app-operator-app1 
INFO[0064] Reconciled release for apiVersion=apache.org/v1alpha1 kind=Tomcat name=default/app1 release=helm-app-operator-app1 
INFO[0069] Reconciled release for apiVersion=apache.org/v1alpha1 kind=Tomcat name=default/app1 release=helm-app-operator-app1 
INFO[0071] Uninstalled release for apiVersion=apache.org/v1alpha1 kind=Tomcat name=default/app1 release=helm-app-operator-app1

CR status:

  status:
    lastTransitionTime: 2018-10-15T19:21:11Z
    lastUpdateTime: 2018-10-15T19:21:11Z
    phase: Applied
    reason: ApplySuccessful
    release:
      chart:
        files:
        - type_url: README.md
          value: IyBUb21jYXQKCltUb21jYXRdKGh0dHA6Ly90b21jYXQuYXBhY2hlLm9yZykgaXMgaXMgYW4gb3BlbiBzb3VyY2UgaW1wbGVtZW50YXRpb24gb2YgdGhlIEphdmEgU2VydmxldCwgSmF2YVNlcnZlciBQYWdlcywgSmF2YSBFeHByZXNzaW9uIExhbmd1YWdlIGFuZCBKYXZhIFdlYlNvY2tldCB0ZWNobm9sb2dpZXMuCgojIyBJbnRyb2R1Y3Rpb24KClRoaXMgY2hhcnQgY3JlYXRlcyBhIFt0b21jYXQgYXBwbGljYXRpb24gc2VydmVyXShodHRwOi8vdG9tY2F0LmFwYWNoZS5vcmcpIERlcGxveW1lbnQsIHBsdXMgaHR0cCBTZXJ2aWNlcyBmb3IgdGhlIHNlcnZlci4KVGhlIGNoYXJ0IG9mZmVycyBhbiBvcHRpbWl6YXRpb24gZm9yIGFwcGxpY2F0aW9uIHVwZGF0ZXMgcnVubmluZyBpbiBhIHNlcnZsZXQgY29udGFpbmVyLXR5cGUgZW5naW5lcyBsaWtlIHRvbWNhdCBhbmQgW0pib3NzXShodHRwOi8vamJvc3Nhcy5qYm9zcy5vcmcpLiBUaGUgY2hhcnQgdXNlcyB0aGUgV0FSLCBFQVIsIGFuZCBvdGhlciBkZXBsb3lhYmxlIGNvbXBvbmVudHMgb3V0c2lkZSBvZiB0aGUgU2VydmxldCBlbmdpbmUgYXMgc2lkZWNhciBjb250YWluZXIgc28gYXBwbGljYXRpb24gdXBncmFkZXMgcmVxdWlyZXMgdGhlIHNpZGVjYXIgY29udGFpbmVyIGltYWdlIG9ubHkgdG8gYmUgdXBkYXRlZCBhbmQgbm90IHRoZSBTZXJ2bGV0IGVuZ2luZSBhcyBpZiBib3RoIHdvdWxkIHJ1biBhdCB0aGUgc2FtZSBpbWFnZS4gCgoKIyMgUHJlcmVxdWlzaXRlcwoKLSBLdWJlcm5ldGVzIDEuOCsgCgojIyBQcm92aWRlci1zcGVjaWZpYyBQcmVyZXF1aXNpdGVzCgoKIyMgSW5zdGFsbGluZyB0aGUgQ2hhcnQKClRvIGluc3RhbGwgdGhlIGNoYXJ0IHdpdGggdGhlIHJlbGVhc2UgbmFtZSBgbXktcmVsZWFzZWA6CgpgYGBiYXNoCiQgaGVsbSBpbnN0YWxsIC0tbmFtZSBteS1yZWxlYXNlIHN0YWJsZS90b21jYXQKYGBgCgpUaGlzIGNvbW1hbmQgZGVwbG95cyBhIHRvbWNhdCBkZWRpY2F0ZWQgc2VydmVyIHdpdGggc2FuZSBkZWZhdWx0cy4KCj4gKipUaXAqKjogTGlzdCBhbGwgcmVsZWFzZXMgdXNpbmcgYGhlbG0gbGlzdGAKCiMjIFVuaW5zdGFsbGluZyB0aGUgQ2hhcnQKClRvIHVuaW5zdGFsbC9kZWxldGUgdGhlIGBteS1yZWxlYXNlYCBkZXBsb3ltZW50OgoKYGBgYmFzaAokIGhlbG0gZGVsZXRlIG15LXJlbGVhc2UKYGBgCgpUaGUgY29tbWFuZCByZW1vdmVzIGFsbCB0aGUgS3ViZXJuZXRlcyBjb21wb25lbnRzIGFzc29jaWF0ZWQgd2l0aCB0aGUgY2hhcnQgYW5kIGRlbGV0ZXMgdGhlIHJlbGVhc2UuCgojIyBDb25maWd1cmF0aW9uCgpUaGUgZm9sbG93aW5nIHRhYmxlIGxpc3RzIHRoZSBjb25maWd1cmFibGUgcGFyYW1ldGVycyBvZiB0aGUgdG9tY2F0IGNoYXJ0IGFuZCB0aGVpciBkZWZhdWx0IHZhbHVlcy4KClBhcmFtZXRlciAgICAgICAgICAgICAgICAgICAgICAgfCBEZXNjcmlwdGlvbiAgICAgICAgICAgICAgICAgICAgICAgICAgIHwgRGVmYXVsdAotLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tIHwgLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLSB8IC0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KYGltYWdlLndlYmFyY2hpdmUucmVwb3NpdG9yeWAgICB8IFNpZGVjYXIgaW1hZ2Ugc291cmNlIHJlcG9zaXRvcnkgbmFtZSAgfCBgYW5hbndhcmVzeXN0ZW1zL3dlYmFyY2hpdmVgCmBpbWFnZS53ZWJhcmNoaXZlLnRhZ2AgICAgICAgICAgfCBgd2ViYXJjaGl2ZWAgcmVsZWFzZSB0YWcuICAgICAgICAgICAgIHwgYDEuMGAKYGltYWdlLnRvbWNhdC5yZXBvc2l0b3J5YCAgICAgICB8IFRvbWFjdCBpbWFnZSBzb3VyY2UgcmVwb3NpdG9yeSBuYW1lICAgfCBgdG9tY2F0YApgaW1hZ2UudG9tY2F0LnRhZ2AgICAgICAgICAgICAgIHwgYHRvbWNhdGAgcmVsZWFzZSB0YWcuICAgICAgICAgICAgICAgICB8IGA3LjBgCmBpbWFnZS5wdWxsUG9saWN5YCAgICAgICAgICAgICAgfCBJbWFnZSBwdWxsIHBvbGljeSAgICAgICAgICAgICAgICAgICAgIHwgYElmTm90UHJlc2VudGAKYGRlcGxveS5kaXJlY3RvcnlgICAgICAgICAgICAgICB8IFdlYmFyY2hpdmUgZGVwbG95bWVudCBkaXJlY3RvcnkgICAgICAgfCBgL3Vzci9sb2NhbC90b21jYXQvd2ViYXBwc2AKYHNlcnZpY2UubmFtZWAgICAgICAgICAgICAgICAgICB8IFRvbWNhdCBzZXJ2aWNlIG5hbWUgICAgICAgICAgICAgICAgICAgfCBgaHR0cGAKYHNlcnZpY2UuZXh0ZXJuYWxQb3J0YCAgICAgICAgICB8IEt1YmVybmV0ZXMgc2VydmljZSBwb3J0ICAgICAgICAgICAgICAgfCBgODBgCmBzZXJ2aWNlLmludGVybmFsUG9ydGAgICAgICAgICAgfCBUb21jYXQgZnJvbnQgcG9ydCAgICAgICAgICAgICAgICAgICAgIHwgYDgwODBgCmBzZXJ2aWNlLnR5cGVgICAgICAgICAgICAgICAgICAgfCBLdWJlcm5ldGVzIHNlcnZpY2UgdHlwZSAgICAgICAgICAgICAgIHwgYExvYWRCYWxhbmNlcmAKYHJlc291cmNlc2AgICAgICAgICAgICAgICAgICAgICB8IENQVS9NZW1vcnkgcmVzb3VyY2UgcmVxdWVzdHMvbGltaXRzICAgfCBge31gCmBub2RlU2VsZWN0b3JgICAgICAgICAgICAgICAgICAgfCBOb2RlIGFmZmluaXR5ICAgICAgICAgICAgICAgICAgICAgICAgIHwgYHt9YApgdG9sZXJhdGlvbnNgICAgICAgICAgICAgICAgICAgIHwgTm9kZSB0b2xlcmF0aW9ucyAgICAgICAgICAgICAgICAgICAgICB8IGB7fWAKClJlZmVyIHRvIFt2YWx1ZXMueWFtbF0odmFsdWVzLnlhbWwpIGZvciB0aGUgZnVsbCBydW4tZG93biBvbiBkZWZhdWx0cy4gVGhlc2UgYXJlIGEgbWl4dHVyZSBvZiBLdWJlcm5ldGVzIGFuZCB0b21jYXQtcmVsYXRlZCBkaXJlY3RpdmVzIHRoYXQgbWFwIHRvIGVudmlyb25tZW50IHZhcmlhYmxlcy4gCgpTcGVjaWZ5IGVhY2ggcGFyYW1ldGVyIHVzaW5nIHRoZSBgLS1zZXQga2V5PXZhbHVlWyxrZXk9dmFsdWVdYCBhcmd1bWVudCB0byBgaGVsbSBpbnN0YWxsYC4gRm9yIGV4YW1wbGUsCgpgYGBiYXNoCiQgaGVsbSBpbnN0YWxsIC0tbmFtZSBteS1yZWxlYXNlIFwKICAtLXNldCBWYWx1ZXMuc29tZXZhbD1NeSBTZXJ2ZXIsSW1hZ2VUYWc9MS4wIFwKICAgIHN0YWJsZS90b21jYXQKYGBgCgpUaGUgYWJvdmUgY29tbWFuZCBkZXBsb3lzIFRvbWNhdCBkZWRpY2F0ZWQgd2l0aCBhIHNlcnZlciBuYW1lIG9mIGBNeSBTZXJ2ZXJgIGFuZCBkb2NrZXItdG9tY2F0IGltYWdlIHZlcnNpb24gYDEuMGAuCgpBbHRlcm5hdGl2ZWx5LCBhIFlBTUwgZmlsZSB0aGF0IHNwZWNpZmllcyB0aGUgdmFsdWVzIGZvciB0aGUgcGFyYW1ldGVycyBjYW4gYmUgcHJvdmlkZWQgd2hpbGUgaW5zdGFsbGluZyB0aGUgY2hhcnQuIEZvciBleGFtcGxlLAoKYGBgYmFzaAokIGhlbG0gaW5zdGFsbCAtLW5hbWUgbXktcmVsZWFzZSAtZiB2YWx1ZXMueWFtbCBzdGFibGUvc3RhYmxlCmBgYAoKPiAqKlRpcCoqOiBZb3UgY2FuIHVzZSB0aGUgZGVmYXVsdCBbdmFsdWVzLnlhbWxdKHZhbHVlcy55YW1sKQoKIyMgUGVyc2lzdGVuY2UKCj4gKiJBbiBlbXB0eURpciB2b2x1bWUgaXMgZmlyc3QgY3JlYXRlZCB3aGVuIGEgUG9kIGlzIGFzc2lnbmVkIHRvIGEgTm9kZSwgYW5kIGV4aXN0cyBhcyBsb25nIGFzIHRoYXQgUG9kIGlzIHJ1bm5pbmcgb24gdGhhdCBub2RlLiBXaGVuIGEgUG9kIGlzIHJlbW92ZWQgZnJvbSBhIG5vZGUgZm9yIGFueSByZWFzb24sIHRoZSBkYXRhIGluIHRoZSBlbXB0eURpciBpcyBkZWxldGVkIGZvcmV2ZXIuIioKCiMjIENyZWRpdHMKCltKYXZhIFdlYiBBcHBsaWNhdGlvbiB3aXRoIFRvbWNhdCBhbmQgU2lkZWNhciBDb250YWluZXJdKGh0dHBzOi8vZ2l0aHViLmNvbS9rdWJlcm5ldGVzL2V4YW1wbGVzL3RyZWUvbWFzdGVyL3N0YWdpbmcvamF2YXdlYi10b21jYXQtc2lkZWNhcikK
        metadata:
          apiVersion: v1
          appVersion: "7"
          description: Deploy a basic tomcat application server with sidecar as web
            archive container
          home: https://github.com/yahavb
          icon: http://tomcat.apache.org/res/images/tomcat.png
          maintainers:
          - email: ybiran@ananware.systems
            name: yahavb
          name: tomcat
          version: 0.1.0
        templates:
        - data: MS4gR2V0IHRoZSBhcHBsaWNhdGlvbiBVUkwgYnkgcnVubmluZyB0aGVzZSBjb21tYW5kczoKe3stIGlmIC5WYWx1ZXMuaW5ncmVzcy5lbmFibGVkIH19Cnt7LSByYW5nZSAuVmFsdWVzLmluZ3Jlc3MuaG9zdHMgfX0KICBodHRwe3sgaWYgJC5WYWx1ZXMuaW5ncmVzcy50bHMgfX1ze3sgZW5kIH19Oi8ve3sgLiB9fXt7ICQuVmFsdWVzLmluZ3Jlc3MucGF0aCB9fQp7ey0gZW5kIH19Cnt7LSBlbHNlIGlmIGNvbnRhaW5zICJOb2RlUG9ydCIgLlZhbHVlcy5zZXJ2aWNlLnR5cGUgfX0KICBleHBvcnQgTk9ERV9QT1JUPSQoa3ViZWN0bCBnZXQgLS1uYW1lc3BhY2Uge3sgLlJlbGVhc2UuTmFtZXNwYWNlIH19IC1vIGpzb25wYXRoPSJ7LnNwZWMucG9ydHNbMF0ubm9kZVBvcnR9IiBzZXJ2aWNlcyB7eyB0ZW1wbGF0ZSAidG9tY2F0LmZ1bGxuYW1lIiAuIH19KQogIGV4cG9ydCBOT0RFX0lQPSQoa3ViZWN0bCBnZXQgbm9kZXMgLS1uYW1lc3BhY2Uge3sgLlJlbGVhc2UuTmFtZXNwYWNlIH19IC1vIGpzb25wYXRoPSJ7Lml0ZW1zWzBdLnN0YXR1cy5hZGRyZXNzZXNbMF0uYWRkcmVzc30iKQogIGVjaG8gaHR0cDovLyROT0RFX0lQOiROT0RFX1BPUlQKe3stIGVsc2UgaWYgY29udGFpbnMgIkxvYWRCYWxhbmNlciIgLlZhbHVlcy5zZXJ2aWNlLnR5cGUgfX0KICAgICBOT1RFOiBJdCBtYXkgdGFrZSBhIGZldyBtaW51dGVzIGZvciB0aGUgTG9hZEJhbGFuY2VyIElQIHRvIGJlIGF2YWlsYWJsZS4KICAgICAgICAgICBZb3UgY2FuIHdhdGNoIHRoZSBzdGF0dXMgb2YgYnkgcnVubmluZyAna3ViZWN0bCBnZXQgc3ZjIC13IHt7IHRlbXBsYXRlICJ0b21jYXQuZnVsbG5hbWUiIC4gfX0nCiAgZXhwb3J0IFNFUlZJQ0VfSVA9JChrdWJlY3RsIGdldCBzdmMgLS1uYW1lc3BhY2Uge3sgLlJlbGVhc2UuTmFtZXNwYWNlIH19IHt7IHRlbXBsYXRlICJ0b21jYXQuZnVsbG5hbWUiIC4gfX0gLW8ganNvbnBhdGg9J3suc3RhdHVzLmxvYWRCYWxhbmNlci5pbmdyZXNzWzBdLmhvc3RuYW1lfScpCiAgZWNobyBodHRwOi8vJFNFUlZJQ0VfSVA6e3sgLlZhbHVlcy5zZXJ2aWNlLnBvcnQgfX0Ke3stIGVsc2UgaWYgY29udGFpbnMgIkNsdXN0ZXJJUCIgLlZhbHVlcy5zZXJ2aWNlLnR5cGUgfX0KICBleHBvcnQgUE9EX05BTUU9JChrdWJlY3RsIGdldCBwb2RzIC0tbmFtZXNwYWNlIHt7IC5SZWxlYXNlLk5hbWVzcGFjZSB9fSAtbCAiYXBwPXt7IHRlbXBsYXRlICJ0b21jYXQubmFtZSIgLiB9fSxyZWxlYXNlPXt7IC5SZWxlYXNlLk5hbWUgfX0iIC1vIGpzb25wYXRoPSJ7Lml0ZW1zWzBdLm1ldGFkYXRhLm5hbWV9IikKICBlY2hvICJWaXNpdCBodHRwOi8vMTI3LjAuMC4xOjgwODAgdG8gdXNlIHlvdXIgYXBwbGljYXRpb24iCiAga3ViZWN0bCBwb3J0LWZvcndhcmQgJFBPRF9OQU1FIDgwODA6ODAKe3stIGVuZCB9fQo=
          name: templates/NOTES.txt
        - data: e3svKiB2aW06IHNldCBmaWxldHlwZT1tdXN0YWNoZTogKi99fQp7ey8qCkV4cGFuZCB0aGUgbmFtZSBvZiB0aGUgY2hhcnQuCiovfX0Ke3stIGRlZmluZSAidG9tY2F0Lm5hbWUiIC19fQp7ey0gZGVmYXVsdCAuQ2hhcnQuTmFtZSAuVmFsdWVzLm5hbWVPdmVycmlkZSB8IHRydW5jIDYzIHwgdHJpbVN1ZmZpeCAiLSIgLX19Cnt7LSBlbmQgLX19Cgp7ey8qCkNyZWF0ZSBhIGRlZmF1bHQgZnVsbHkgcXVhbGlmaWVkIGFwcCBuYW1lLgpXZSB0cnVuY2F0ZSBhdCA2MyBjaGFycyBiZWNhdXNlIHNvbWUgS3ViZXJuZXRlcyBuYW1lIGZpZWxkcyBhcmUgbGltaXRlZCB0byB0aGlzIChieSB0aGUgRE5TIG5hbWluZyBzcGVjKS4KSWYgcmVsZWFzZSBuYW1lIGNvbnRhaW5zIGNoYXJ0IG5hbWUgaXQgd2lsbCBiZSB1c2VkIGFzIGEgZnVsbCBuYW1lLgoqL319Cnt7LSBkZWZpbmUgInRvbWNhdC5mdWxsbmFtZSIgLX19Cnt7LSBpZiAuVmFsdWVzLmZ1bGxuYW1lT3ZlcnJpZGUgLX19Cnt7LSAuVmFsdWVzLmZ1bGxuYW1lT3ZlcnJpZGUgfCB0cnVuYyA2MyB8IHRyaW1TdWZmaXggIi0iIC19fQp7ey0gZWxzZSAtfX0Ke3stICRuYW1lIDo9IGRlZmF1bHQgLkNoYXJ0Lk5hbWUgLlZhbHVlcy5uYW1lT3ZlcnJpZGUgLX19Cnt7LSBpZiBjb250YWlucyAkbmFtZSAuUmVsZWFzZS5OYW1lIC19fQp7ey0gLlJlbGVhc2UuTmFtZSB8IHRydW5jIDYzIHwgdHJpbVN1ZmZpeCAiLSIgLX19Cnt7LSBlbHNlIC19fQp7ey0gcHJpbnRmICIlcy0lcyIgLlJlbGVhc2UuTmFtZSAkbmFtZSB8IHRydW5jIDYzIHwgdHJpbVN1ZmZpeCAiLSIgLX19Cnt7LSBlbmQgLX19Cnt7LSBlbmQgLX19Cnt7LSBlbmQgLX19Cgp7ey8qCkNyZWF0ZSBjaGFydCBuYW1lIGFuZCB2ZXJzaW9uIGFzIHVzZWQgYnkgdGhlIGNoYXJ0IGxhYmVsLgoqL319Cnt7LSBkZWZpbmUgInRvbWNhdC5jaGFydCIgLX19Cnt7LSBwcmludGYgIiVzLSVzIiAuQ2hhcnQuTmFtZSAuQ2hhcnQuVmVyc2lvbiB8IHJlcGxhY2UgIisiICJfIiB8IHRydW5jIDYzIHwgdHJpbVN1ZmZpeCAiLSIgLX19Cnt7LSBlbmQgLX19Cg==
          name: templates/_helpers.tpl
        - data: YXBpVmVyc2lvbjogdjEKa2luZDogU2VydmljZQptZXRhZGF0YToKICBuYW1lOiB7eyB0ZW1wbGF0ZSAidG9tY2F0LmZ1bGxuYW1lIiAuIH19CiAgbGFiZWxzOgogICAgYXBwOiB7eyB0ZW1wbGF0ZSAidG9tY2F0Lm5hbWUiIC4gfX0KICAgIGNoYXJ0OiB7eyB0ZW1wbGF0ZSAidG9tY2F0LmNoYXJ0IiAuIH19CiAgICByZWxlYXNlOiB7eyAuUmVsZWFzZS5OYW1lIH19CiAgICBoZXJpdGFnZToge3sgLlJlbGVhc2UuU2VydmljZSB9fQpzcGVjOgogIHR5cGU6IHt7IC5WYWx1ZXMuc2VydmljZS50eXBlIH19CiAgcG9ydHM6CiAgICAtIHBvcnQ6IHt7IC5WYWx1ZXMuc2VydmljZS5leHRlcm5hbFBvcnQgfX0KICAgICAgdGFyZ2V0UG9ydDoge3sgLlZhbHVlcy5zZXJ2aWNlLmludGVybmFsUG9ydCB9fQogICAgICBwcm90b2NvbDogVENQCiAgICAgIG5hbWU6IHt7IC5WYWx1ZXMuc2VydmljZS5uYW1lIH19CiAgc2VsZWN0b3I6CiAgICBhcHA6IHt7IHRlbXBsYXRlICJ0b21jYXQubmFtZSIgLiB9fQogICAgcmVsZWFzZToge3sgLlJlbGVhc2UuTmFtZSB9fQo=
          name: templates/appsrv-svc.yaml
        - data: YXBpVmVyc2lvbjogYXBwcy92MWJldGEyCmtpbmQ6IERlcGxveW1lbnQKbWV0YWRhdGE6CiAgbmFtZToge3sgdGVtcGxhdGUgInRvbWNhdC5mdWxsbmFtZSIgLiB9fQogIGxhYmVsczoKICAgIGFwcDoge3sgdGVtcGxhdGUgInRvbWNhdC5uYW1lIiAuIH19CiAgICBjaGFydDoge3sgdGVtcGxhdGUgInRvbWNhdC5jaGFydCIgLiB9fQogICAgcmVsZWFzZToge3sgLlJlbGVhc2UuTmFtZSB9fQogICAgaGVyaXRhZ2U6IHt7IC5SZWxlYXNlLlNlcnZpY2UgfX0Kc3BlYzoKICByZXBsaWNhczoge3sgLlZhbHVlcy5yZXBsaWNhQ291bnQgfX0KICBzZWxlY3RvcjoKICAgIG1hdGNoTGFiZWxzOgogICAgICBhcHA6IHt7IHRlbXBsYXRlICJ0b21jYXQubmFtZSIgLiB9fQogICAgICByZWxlYXNlOiB7eyAuUmVsZWFzZS5OYW1lIH19CiAgdGVtcGxhdGU6CiAgICBtZXRhZGF0YToKICAgICAgbGFiZWxzOgogICAgICAgIGFwcDoge3sgdGVtcGxhdGUgInRvbWNhdC5uYW1lIiAuIH19CiAgICAgICAgcmVsZWFzZToge3sgLlJlbGVhc2UuTmFtZSB9fQogICAgc3BlYzoKICAgICAgdm9sdW1lczoKICAgICAgICAtIG5hbWU6IGFwcC12b2x1bWUKICAgICAgICAgIGVtcHR5RGlyOiB7fQogICAgICBjb250YWluZXJzOgogICAgICAgIC0gbmFtZTogd2FyCiAgICAgICAgICBpbWFnZToge3sgLlZhbHVlcy5pbWFnZS53ZWJhcmNoaXZlLnJlcG9zaXRvcnkgfX06e3sgLlZhbHVlcy5pbWFnZS53ZWJhcmNoaXZlLnRhZyB9fQogICAgICAgICAgaW1hZ2VQdWxsUG9saWN5OiB7eyAuVmFsdWVzLmltYWdlLnB1bGxQb2xpY3kgfX0KICAgICAgICAgIHZvbHVtZU1vdW50czoKICAgICAgICAgICAgLSBuYW1lOiBhcHAtdm9sdW1lCiAgICAgICAgICAgICAgbW91bnRQYXRoOiAvYXBwCiAgICAgICAgLSBuYW1lOiB7eyAuQ2hhcnQuTmFtZSB9fQogICAgICAgICAgaW1hZ2U6IHt7IC5WYWx1ZXMuaW1hZ2UudG9tY2F0LnJlcG9zaXRvcnkgfX06e3sgLlZhbHVlcy5pbWFnZS50b21jYXQudGFnIH19CiAgICAgICAgICBpbWFnZVB1bGxQb2xpY3k6IHt7IC5WYWx1ZXMuaW1hZ2UucHVsbFBvbGljeSB9fQogICAgICAgICAgdm9sdW1lTW91bnRzOgogICAgICAgICAgICAtIG5hbWU6IGFwcC12b2x1bWUKICAgICAgICAgICAgICBtb3VudFBhdGg6IHt7IC5WYWx1ZXMuZGVwbG95LmRpcmVjdG9yeSB9fQogICAgICAgICAgcG9ydHM6CiAgICAgICAgICAgIC0gY29udGFpbmVyUG9ydDoge3sgLlZhbHVlcy5zZXJ2aWNlLmludGVybmFsUG9ydCB9fQogICAgICAgICAgICAgIGhvc3RQb3J0OiA4MDA5CiAgICAgICAgICBsaXZlbmVzc1Byb2JlOgogICAgICAgICAgICBleGVjOgogICAgICAgICAgICAgIGNvbW1hbmQ6CiAgICAgICAgICAgICAgLSBjYXQKICAgICAgICAgICAgICAtIC91c3IvbG9jYWwvdG9tY2F0L3dlYmFwcHMvc2FtcGxlL2luZGV4Lmh0bWwKICAgICAgICAgICAgaW5pdGlhbERlbGF5U2Vjb25kczogMTUKICAgICAgICAgICAgcGVyaW9kU2Vjb25kczogMjAgIAogICAgICAgICAgcmVzb3VyY2VzOgp7eyB0b1lhbWwgLlZhbHVlcy5yZXNvdXJjZXMgfCBpbmRlbnQgMTIgfX0KICAgIHt7LSBpZiAuVmFsdWVzLm5vZGVTZWxlY3RvciB9fQogICAgICBub2RlU2VsZWN0b3I6Cnt7IHRvWWFtbCAuVmFsdWVzLm5vZGVTZWxlY3RvciB8IGluZGVudCA4IH19CiAgICB7ey0gZW5kIH19CiAgICB7ey0gaWYgLlZhbHVlcy50b2xlcmF0aW9ucyB9fQogICAgICB0b2xlcmF0aW9uczoKe3sgdG9ZYW1sIC5WYWx1ZXMudG9sZXJhdGlvbnMgfCBpbmRlbnQgOCB9fQogICAge3stIGVuZCB9fQo=
          name: templates/appsrv.yaml
        values:
          raw: |
            # Default values for the chart.
            # This is a YAML-formatted file.
            # Declare variables to be passed into your templates.
            replicaCount: 1

            image:
              webarchive:
                repository: ananwaresystems/webarchive
                tag: "1.0"
              tomcat:
                repository: tomcat
                tag: "7.0"
              pullPolicy: IfNotPresent

            deploy:
              directory: /usr/local/tomcat/webapps

            service:
              name: http
              type: LoadBalancer
              externalPort: 80
              internalPort: 8080

            ingress:
              enabled: false
              annotations: {}
                # kubernetes.io/ingress.class: nginx
                # kubernetes.io/tls-acme: "true"
              path: /
              hosts:
                - chart-example.local
              tls: []
              #  - secretName: chart-example-tls
              #    hosts:
              #      - chart-example.local

            resources: {}
            #  limits:
            #    cpu: 100m
            #    memory: 256Mi
            #  requests:
            #    cpu: 100m
            #    memory: 256Mi

            nodeSelector: {}

            tolerations: []

            affinity: {}
      config:
        raw: |
          replicaCount: 2
      info:
        Description: Install complete
        first_deployed:
          nanos: 85377952
          seconds: 1539631271
        last_deployed:
          nanos: 85377952
          seconds: 1539631271
        status:
          code: 1
      manifest: |2-

        ---
        # Source: tomcat/templates/appsrv-svc.yaml
        apiVersion: v1
        kind: Service
        metadata:
          labels:
            app: tomcat
            chart: tomcat-0.1.0
            heritage: Tiller
            release: helm-app-operator-app1
          name: helm-app-operator-app1-tomcat
          ownerReferences:
          - apiVersion: apache.org/v1alpha1
            blockOwnerDeletion: true
            controller: true
            kind: Tomcat
            name: app1
            uid: 796a2954-d0af-11e8-b1fb-5cba5a134816
        spec:
          ports:
          - name: http
            port: 80
            protocol: TCP
            targetPort: 8080
          selector:
            app: tomcat
            release: helm-app-operator-app1
          type: LoadBalancer
        ---
        # Source: tomcat/templates/appsrv.yaml
        apiVersion: apps/v1beta2
        kind: Deployment
        metadata:
          labels:
            app: tomcat
            chart: tomcat-0.1.0
            heritage: Tiller
            release: helm-app-operator-app1
          name: helm-app-operator-app1-tomcat
          ownerReferences:
          - apiVersion: apache.org/v1alpha1
            blockOwnerDeletion: true
            controller: true
            kind: Tomcat
            name: app1
            uid: 796a2954-d0af-11e8-b1fb-5cba5a134816
        spec:
          replicas: 2
          selector:
            matchLabels:
              app: tomcat
              release: helm-app-operator-app1
          template:
            metadata:
              labels:
                app: tomcat
                release: helm-app-operator-app1
            spec:
              containers:
              - image: ananwaresystems/webarchive:1.0
                imagePullPolicy: IfNotPresent
                name: war
                volumeMounts:
                - mountPath: /app
                  name: app-volume
              - image: tomcat:7.0
                imagePullPolicy: IfNotPresent
                livenessProbe:
                  exec:
                    command:
                    - cat
                    - /usr/local/tomcat/webapps/sample/index.html
                  initialDelaySeconds: 15
                  periodSeconds: 20
                name: tomcat
                ports:
                - containerPort: 8080
                  hostPort: 8009
                resources: {}
                volumeMounts:
                - mountPath: /usr/local/tomcat/webapps
                  name: app-volume
              volumes:
              - emptyDir: {}
                name: app-volume
      name: helm-app-operator-app1
      namespace: default
      version: 1

@robszumski
Copy link
Contributor

Whoa that's a hell of a status ;)

@joelanford
Copy link
Member

Closed by #61

We'll track log level configurability in #63.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants