Skip to content

Releases: flant/shell-operator

1.0.0-rc.2 (2021-02-25)

25 Feb 09:44
64af935
Compare
Choose a tag to compare

Changelog

  • feat: support conversion webhooks (#250)
  • fix: examples cleanup (#253, #252, #251)
  • fix: log stderr from hook --config (#248)

ci,test

  • fix: add updateSnapshots in generator.go (#247)
  • fix: update latest tag on release (#242)

Installation and usage

Create image with your hooks added into /hooks directory:

Dockerfile

FROM flant/shell-operator:v1.0.0-rc.2
ADD pods-hook.sh /hooks

Push to registry, create rbac and create a Pod or Deployment:

apiVersion: v1
kind: Pod
metadata:
  name: shell-operator
spec:
  containers:
  - name: shell-operator
    image: registry.mycompany.com/shell-operator:monitor-pods
    imagePullPolicy: Always
  serviceAccountName: monitor-pods-acc

Check README for more information and /examples for inspiration.

shell-operator v1.0.0-rc.1

12 Jan 10:37
51b75bf
Compare
Choose a tag to compare

Changelog

  • feat: use hooks as a validating webhook handlers (#223)
  • feat: expire action to explicitly expire all metrics in group (#215)
  • feat: Warn users about non-executable hooks (#220)
  • feat: read only locks for queue read operations (#234)
  • feat: no cgo build (#238)
  • fix: prevent overflow in exponential backoff calculation (#219)
  • fix: randomize resync period to eliminate cpu peaks (#226, #222)
  • fix: prevent overflow in exponential backoff calculation (#219, #218)

ci, docs

  • feat: multiarch docker image (amd64,arm,arm64) (#205, #184)
  • fix(ci): add framework/shell, publish latest, issue templates
  • fix: remove fullObjectInSnapshot from docs (#241, #240)

Installation and usage

Create image with your hooks added into /hooks directory:

Dockerfile

FROM flant/shell-operator:v1.0.0-rc.1
ADD pods-hook.sh /hooks

Push to registry, create rbac and create a Pod or Deployment:

apiVersion: v1
kind: Pod
metadata:
  name: shell-operator
spec:
  containers:
  - name: shell-operator
    image: registry.mycompany.com/shell-operator:monitor-pods
    imagePullPolicy: Always
  serviceAccountName: monitor-pods-acc

Check README for more information and /examples for inspiration.

shell-operator v1.0.0-beta.13

18 Nov 11:15
66231aa
Compare
Choose a tag to compare

Changelog

  • feat: add exponential backoff delay for failed hooks (#211 )
  • fix build: remove sources and .git from final image, update versions (#213, #202)
  • update versions: alpine 3.12 (#201), kubectl 1.19.4, go 1.15
  • tests: fix for long running generator (#207)

Installation and usage

Create image with your hooks added into /hooks directory:

Dockerfile

FROM flant/shell-operator:v1.0.0-beta.13
ADD pods-hook.sh /hooks

Push to registry, create rbac and create a Pod or Deployment:

apiVersion: v1
kind: Pod
metadata:
  name: shell-operator
spec:
  containers:
  - name: shell-operator
    image: registry.mycompany.com/shell-operator:monitor-pods
    imagePullPolicy: Always
  serviceAccountName: monitor-pods-acc

Check README for more information and /examples for inspiration.

shell-operator v1.0.0-beta.12

14 Aug 11:25
37fde54
Compare
Choose a tag to compare

Changelog

  • add shell_lib.sh to source shell framework in one line (#197, #196)
  • fix binding context iteration in 102-monitor-namespace (#195, #192)

Installation and usage

Create image with your hooks added into /hooks directory:

Dockerfile

FROM flant/shell-operator:v1.0.0-beta.12
ADD pods-hook.sh /hooks

Push to registry, create rbac and create a Pod or Deployment:

apiVersion: v1
kind: Pod
metadata:
  name: shell-operator
spec:
  containers:
  - name: shell-operator
    image: registry.mycompany.com/shell-operator:monitor-pods
    imagePullPolicy: Always
  serviceAccountName: monitor-pods-acc

Check README for more information and /examples for inspiration.

shell-operator v1.0.0-beta.11

10 Jul 07:45
126d478
Compare
Choose a tag to compare

Changelog

features

  • more Prometheus metrics for better observability (#176 #180, issues: #123 #137 #30 #166)
  • hook can expire its metrics with group option (#176, docs: #183)
  • merge snaphosts for group and includeSnapshotsFrom #179
  • option to discard full objects after applying jqFilter #178
  • --hook-metrics-listen-port flag to separate ports for observability metrics and hook metrics #190

libjq fixes

  • fix submodule problems #177
  • catch compile errors #179, #182

fixes

  • add "queue" label to fix labels cardinality #190
  • exit on signal was broken (issue #186, fix #176)

Installation and usage

Create image with your hooks added into /hooks directory:

Dockerfile

FROM flant/shell-operator:v1.0.0-beta.11
ADD pods-hook.sh /hooks

Push to registry, create rbac and create a Pod or Deployment:

apiVersion: v1
kind: Pod
metadata:
  name: shell-operator
spec:
  containers:
  - name: shell-operator
    image: registry.mycompany.com/shell-operator:monitor-pods
    imagePullPolicy: Always
  serviceAccountName: monitor-pods-acc

Check README for more information and /examples for inspiration.

v1.0.0-beta.10

25 May 12:23
935a9c0
Compare
Choose a tag to compare

Changelog

features

  • replace in-process zombie reaper with tini #175
  • --kube-server flag to specify Kubernetes API server (kubectl --server) #167

tests

  • unbuffered channel for hooks testing #171
  • group compaction #170

fixes

  • fix context functions for root element #172
  • Fix example documentation #173. Thank you @nhinds!

addon-operator

  • 'wait' behavior for tasks #174

Installation and usage

Create image with your hooks added into /hooks directory:

Dockerfile

FROM flant/shell-operator:v1.0.0-beta.10
ADD pods-hook.sh /hooks

Push to registry, create rbac and create a Pod or Deployment:

apiVersion: v1
kind: Pod
metadata:
  name: shell-operator
spec:
  containers:
  - name: shell-operator
    image: registry.mycompany.com/shell-operator:monitor-pods
    imagePullPolicy: Always
  serviceAccountName: monitor-pods-acc

Check README for more information and /examples for inspiration.

shell-operator v1.0.0-beta.9

03 Apr 11:46
23e281c
Compare
Choose a tag to compare

Changelog

hooks

  • feat: allow to send metrics from hooks #165
  • feat: executeHookOnSynchronization for kubernetes binding #164
  • feat: type:Schedule for schedule bindings #156
  • feat: combine binding context for sequence of HookRun tasks #140 #144 #149 #150
  • feat: contexts grouping, type:Group #140 #150
  • watchEvent → executeHookOnEvent #139
    • feat: watchEvent is an alias of executeHookOnEvent
    • feat: executeHookOnEvent supports empty array to not execute a hook on events
  • fix: update libjq-go: better compile performance #163
  • fix: start of schedule bindings without kubernetes bindings
  • fix: lock for GetExistingObjects #136

examples

  • fix python example #154
  • use alpine 3.11 #157

kube_client, kube_event_manager

  • fix: proper handle of error from ServerPreferredResources #142
  • fix: kube_event_manager: support for DeletedFinalStateUnknown #153

frameworks

  • [shell framework] sed without PCRE-shortcuts #152
  • [shell framework] hook handler with Groups #160

debug

  • queue dump
    • feat: fail description and count for failed tasks in queue dump #134
    • task description in queue dump: show binding, group, hook name #150
    • queue status: run/sleep after fail/waiting seconds #150

generator

  • Binding context generator ChangeState method refactoring (#135)

build

  • update kubectl #141
  • add alpine-3.11 build #146

documentation

  • proofreading #133
  • group field #151
  • executeHookOnEvent, executeHookOnSynchronization #139 #164
  • custom metrics #165

Installation and usage

Create image with your hooks added into /hooks directory:

Dockerfile

FROM flant/shell-operator:v1.0.0-beta.9
ADD pods-hook.sh /hooks

Push to registry, create rbac and create a Pod or Deployment:

apiVersion: v1
kind: Pod
metadata:
  name: shell-operator
spec:
  containers:
  - name: shell-operator
    image: registry.mycompany.com/shell-operator:monitor-pods
    imagePullPolicy: Always
  serviceAccountName: monitor-pods-acc

Check README for more information and /examples for inspiration.

shell-operator v1.0.0-beta.8

25 Feb 16:45
564647b
Compare
Choose a tag to compare

Changelog

  • docs: snapshots, binding context, yaml config, named queues, debug commands #118
  • feat: debug command to get named queues list #8 #105
  • feat: flags to set RateLimiter settings #121
  • fix: labelSelector operation typo, should be DoesNotExist #117
  • fix: downgrade jq sources to 1.6 #112, flant/libjq-go#9
  • fix: missed log labels, add log labels from task in queue handler #126
  • fix: errors from klog was also written to stderr #125
  • fixes for tests and ci configuration

Installation and usage

Create image with your hooks added into /hooks directory:

Dockerfile

FROM flant/shell-operator:v1.0.0-beta.8
ADD pods-hook.sh /hooks

Push to registry, create rbac and create a Pod or Deployment:

apiVersion: v1
kind: Pod
metadata:
  name: shell-operator
spec:
  containers:
  - name: shell-operator
    image: registry.mycompany.com/shell-operator:monitor-pods
    imagePullPolicy: Always
  serviceAccountName: monitor-pods-acc

Check README for more information and /examples for inspiration.

shell-operator v1.0.0-beta.7

24 Jan 09:15
10cf159
Compare
Choose a tag to compare

Changelog

  • feat: framework for shell hooks #102
  • fix: delay between tasks #103
  • fix: unique names for tmp files #99 #100

Installation and usage

Create image with your hooks added into /hooks directory:

Dockerfile

FROM flant/shell-operator:v1.0.0-beta.7
ADD pods-hook.sh /hooks

Push to registry, create rbac and create a Pod or Deployment:

apiVersion: v1
kind: Pod
metadata:
  name: shell-operator
spec:
  containers:
  - name: shell-operator
    image: registry.mycompany.com/shell-operator:monitor-pods
    imagePullPolicy: Always
  serviceAccountName: monitor-pods-acc

Check README for more information and /examples for inspiration.

shell-operator v1.0.0-beta.6

17 Jan 17:55
75993df
Compare
Choose a tag to compare

Changelog

  • feat: configVersion: v1 with new kubernetes subscription options
  • feat: recognize yaml output from --config execution
  • feat: Synchronization and Event modes for kubernetes hooks
  • feat: Synchronization mode return all existing objects in binding context
  • feat: Event mode is usual mode with one object
  • feat: include filterResult in bindingContext
  • feat: includeSnapshots and includeKubernetesSnapshots for inclusion existing objects from kubernetes bindings #92
  • feat: multi task queues, to execute hooks in parallel #88
  • feat: use logrus for json logging
  • feat: binding context generator for hook testing by m.nabokikh
  • refactor: remove code duplicated in addon-operator
  • fix: klog problem #87

Installation and usage

Create image with your hooks added into /hooks directory:

Dockerfile

FROM flant/shell-operator:v1.0.0-beta.6
ADD pods-hook.sh /hooks

Push to registry, create rbac and create a Pod or Deployment:

apiVersion: v1
kind: Pod
metadata:
  name: shell-operator
spec:
  containers:
  - name: shell-operator
    image: registry.mycompany.com/shell-operator:monitor-pods
    imagePullPolicy: Always
  serviceAccountName: monitor-pods-acc

Check README for more information and /examples for inspiration.