├── .github ├── pull_request_template.md └── workflows │ └── go.yml ├── .gitignore ├── .golangci.yml ├── LICENSE ├── Makefile ├── README.md ├── concurrency ├── REAME.md ├── session_manager.go └── session_manager_test.go ├── go.mod ├── go.sum ├── internal └── jitter │ ├── duration.go │ └── duration_test.go ├── metrics ├── prometheus.go └── prometheus_test.go ├── rules ├── atomic.go ├── callback_listener.go ├── constraint.go ├── crawler.go ├── doc.go ├── dynamic_rule.go ├── dynamic_rule_test.go ├── engine.go ├── engine_lock_test.go ├── engine_test.go ├── etcd.go ├── etcd_test.go ├── int_crawler.go ├── int_crawler_test.go ├── key_processor.go ├── key_processor_test.go ├── lock │ ├── cooloff_lock.go │ ├── cooloff_lock_test.go │ ├── lock.go │ ├── lock_test.go │ ├── map_locker.go │ ├── map_locker_test.go │ ├── metrics.go │ ├── metrics_test.go │ ├── mock.go │ ├── nested_lock.go │ ├── nested_lock_test.go │ └── options.go ├── matcher.go ├── matcher_test.go ├── metrics.go ├── metrics_collector.go ├── metrics_collector_test.go ├── metrics_test.go ├── mock_metrics_collector.go ├── mock_wrap_watcher.go ├── options.go ├── options_test.go ├── rule_manager.go ├── rule_manager_test.go ├── static_rule.go ├── static_rule_test.go ├── task.go ├── task_test.go ├── teststore │ └── etcd.go ├── watcher.go ├── watcher_test.go ├── worker.go └── worker_test.go └── v3enginetest └── main.go /.github/pull_request_template.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/.github/pull_request_template.md -------------------------------------------------------------------------------- /.github/workflows/go.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/.github/workflows/go.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/.gitignore -------------------------------------------------------------------------------- /.golangci.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/.golangci.yml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/LICENSE -------------------------------------------------------------------------------- /Makefile: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/Makefile -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/README.md -------------------------------------------------------------------------------- /concurrency/REAME.md: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/concurrency/REAME.md -------------------------------------------------------------------------------- /concurrency/session_manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/concurrency/session_manager.go -------------------------------------------------------------------------------- /concurrency/session_manager_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/concurrency/session_manager_test.go -------------------------------------------------------------------------------- /go.mod: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/go.mod -------------------------------------------------------------------------------- /go.sum: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/go.sum -------------------------------------------------------------------------------- /internal/jitter/duration.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/internal/jitter/duration.go -------------------------------------------------------------------------------- /internal/jitter/duration_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/internal/jitter/duration_test.go -------------------------------------------------------------------------------- /metrics/prometheus.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/metrics/prometheus.go -------------------------------------------------------------------------------- /metrics/prometheus_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/metrics/prometheus_test.go -------------------------------------------------------------------------------- /rules/atomic.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/atomic.go -------------------------------------------------------------------------------- /rules/callback_listener.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/callback_listener.go -------------------------------------------------------------------------------- /rules/constraint.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/constraint.go -------------------------------------------------------------------------------- /rules/crawler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/crawler.go -------------------------------------------------------------------------------- /rules/doc.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/doc.go -------------------------------------------------------------------------------- /rules/dynamic_rule.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/dynamic_rule.go -------------------------------------------------------------------------------- /rules/dynamic_rule_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/dynamic_rule_test.go -------------------------------------------------------------------------------- /rules/engine.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/engine.go -------------------------------------------------------------------------------- /rules/engine_lock_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/engine_lock_test.go -------------------------------------------------------------------------------- /rules/engine_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/engine_test.go -------------------------------------------------------------------------------- /rules/etcd.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/etcd.go -------------------------------------------------------------------------------- /rules/etcd_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/etcd_test.go -------------------------------------------------------------------------------- /rules/int_crawler.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/int_crawler.go -------------------------------------------------------------------------------- /rules/int_crawler_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/int_crawler_test.go -------------------------------------------------------------------------------- /rules/key_processor.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/key_processor.go -------------------------------------------------------------------------------- /rules/key_processor_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/key_processor_test.go -------------------------------------------------------------------------------- /rules/lock/cooloff_lock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/lock/cooloff_lock.go -------------------------------------------------------------------------------- /rules/lock/cooloff_lock_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/lock/cooloff_lock_test.go -------------------------------------------------------------------------------- /rules/lock/lock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/lock/lock.go -------------------------------------------------------------------------------- /rules/lock/lock_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/lock/lock_test.go -------------------------------------------------------------------------------- /rules/lock/map_locker.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/lock/map_locker.go -------------------------------------------------------------------------------- /rules/lock/map_locker_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/lock/map_locker_test.go -------------------------------------------------------------------------------- /rules/lock/metrics.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/lock/metrics.go -------------------------------------------------------------------------------- /rules/lock/metrics_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/lock/metrics_test.go -------------------------------------------------------------------------------- /rules/lock/mock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/lock/mock.go -------------------------------------------------------------------------------- /rules/lock/nested_lock.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/lock/nested_lock.go -------------------------------------------------------------------------------- /rules/lock/nested_lock_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/lock/nested_lock_test.go -------------------------------------------------------------------------------- /rules/lock/options.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/lock/options.go -------------------------------------------------------------------------------- /rules/matcher.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/matcher.go -------------------------------------------------------------------------------- /rules/matcher_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/matcher_test.go -------------------------------------------------------------------------------- /rules/metrics.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/metrics.go -------------------------------------------------------------------------------- /rules/metrics_collector.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/metrics_collector.go -------------------------------------------------------------------------------- /rules/metrics_collector_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/metrics_collector_test.go -------------------------------------------------------------------------------- /rules/metrics_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/metrics_test.go -------------------------------------------------------------------------------- /rules/mock_metrics_collector.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/mock_metrics_collector.go -------------------------------------------------------------------------------- /rules/mock_wrap_watcher.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/mock_wrap_watcher.go -------------------------------------------------------------------------------- /rules/options.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/options.go -------------------------------------------------------------------------------- /rules/options_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/options_test.go -------------------------------------------------------------------------------- /rules/rule_manager.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/rule_manager.go -------------------------------------------------------------------------------- /rules/rule_manager_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/rule_manager_test.go -------------------------------------------------------------------------------- /rules/static_rule.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/static_rule.go -------------------------------------------------------------------------------- /rules/static_rule_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/static_rule_test.go -------------------------------------------------------------------------------- /rules/task.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/task.go -------------------------------------------------------------------------------- /rules/task_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/task_test.go -------------------------------------------------------------------------------- /rules/teststore/etcd.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/teststore/etcd.go -------------------------------------------------------------------------------- /rules/watcher.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/watcher.go -------------------------------------------------------------------------------- /rules/watcher_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/watcher_test.go -------------------------------------------------------------------------------- /rules/worker.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/worker.go -------------------------------------------------------------------------------- /rules/worker_test.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/rules/worker_test.go -------------------------------------------------------------------------------- /v3enginetest/main.go: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/IBM-Cloud/go-etcd-rules/HEAD/v3enginetest/main.go --------------------------------------------------------------------------------