Skip to content

Commit

Permalink
fixes #14
Browse files Browse the repository at this point in the history
  • Loading branch information
raffis committed Mar 19, 2019
1 parent c0f15e2 commit 0090a1e
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 4 deletions.
1 change: 1 addition & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,6 +3,7 @@
**Date**: Tue Mar 19 2019 16:01:20 CET 2019

* [FEATURE] Change servicegroup definition #17
* Enable provisioning on a resource basis #14


## 2.0.1
Expand Down
1 change: 1 addition & 0 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,7 @@ You may use the following annotations:

| Name | Description |
|-------|------------|
| `kube-icinga/discover` | Disable icinga2 monitoring deployment for the given object. Set `kube-icinga/discover` to `"false"`. Note that by default all objects get deployed to icinga if discovery for the resource type is enabled. |
| `kube-icinga/check_command` | Use a custom icinga check command. |
| `kube-icinga/host` | Use a custom hostname (to which icinga host a service gets bound to). |
| `kube-icinga/template` | Use a custom icinga template. |
Expand Down
5 changes: 5 additions & 0 deletions src/kube/ingress.ts
Original file line number Diff line number Diff line change
Expand Up @@ -163,6 +163,11 @@ export default class Ingress extends Resource {
this.logger.error('skip invalid ingress object', {object: object});
return;
}

if (object.object.metadata.annotations && object.object.metadata.annotations['kube-icinga/discover'] === 'false') {
this.logger.info('skip ingress object, kube-icinga/discover===false', {object: object});
return;
}

if (object.type == 'MODIFIED' || object.type == 'DELETED') {
await this.deleteObject(object.object).catch((err) => {
Expand Down
5 changes: 5 additions & 0 deletions src/kube/node.ts
Original file line number Diff line number Diff line change
Expand Up @@ -77,6 +77,11 @@ export default class Node extends Resource {
return;
}

if (object.object.metadata.annotations && object.object.metadata.annotations['kube-icinga/discover'] === 'false') {
this.logger.info('skip node object, kube-icinga/discover===false', {object: object});
return;
}

if (object.type == 'DELETED') {
await this.icinga.deleteHost(object.object.metadata.name);
}
Expand Down
9 changes: 7 additions & 2 deletions src/kube/service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -222,11 +222,16 @@ export default class Service extends Resource {
this.logger.error('skip invalid service object', {object: object});
return;
}


if (object.object.metadata.annotations && object.object.metadata.annotations['kube-icinga/discover'] === 'false') {
this.logger.info('skip service object, kube-icinga/discover===false', {object: object});
return;
}

if (!this.options[object.object.spec.type].discover) {
this.logger.debug('skip service object, since ['+object.object.spec.type+'] is not enabled for discover', {object: object});
return;
}
}

if (object.type == 'MODIFIED' || object.type == 'DELETED') {
await this.deleteObject(object.object).catch((err) => {
Expand Down
9 changes: 7 additions & 2 deletions src/kube/volume.ts
Original file line number Diff line number Diff line change
Expand Up @@ -148,13 +148,18 @@ export default class Volume extends Resource {
this.logger.debug('received kubernetes persistent volume resource', {object});

if (object.object.kind !== 'PersistentVolume') {
this.logger.error('skip invalid object', {object: object});
this.logger.error('skip invalid persistent volume object', {object: object});
return;
}

if (object.object.metadata.annotations && object.object.metadata.annotations['kube-icinga/discover'] === 'false') {
this.logger.info('skip persistent volume object, kube-icinga/discover===false', {object: object});
return;
}

if (object.type == 'MODIFIED' || object.type == 'DELETED') {
await this.deleteObject(object.object).catch((err) => {
this.logger.error('failed to remove objects', {error: err});
this.logger.error('failed to remove persistent objects', {error: err});
});
}

Expand Down

0 comments on commit 0090a1e

Please sign in to comment.