@@ -35,17 +35,17 @@ const DefaultOptions: IngressOptions = {
3535export default class Ingress extends AbstractResource {
3636 protected icinga : Icinga ;
3737 protected kubeNode : KubeNode ;
38- protected options = DefaultOptions ;
38+ protected options : IngressOptions = DefaultOptions ;
3939
4040 /**
4141 * kubernetes hosts
4242 */
43- constructor ( logger : Logger , kubeNode : KubeNode , icinga : Icinga , options : IngressOptions = DefaultOptions ) {
43+ constructor ( logger : Logger , kubeNode : KubeNode , icinga : Icinga , options : any = DefaultOptions ) {
4444 super ( logger ) ;
4545 this . logger = logger ;
4646 this . icinga = icinga ;
4747 this . kubeNode = kubeNode ;
48- this . options = Object . assign ( this . options , options ) ;
48+ this . options = Object . assign ( { } , this . options , options ) ;
4949 }
5050
5151 /**
@@ -138,8 +138,10 @@ export default class Ingress extends AbstractResource {
138138 * Get hostname
139139 */
140140 protected getHostname ( definition : KubeIngress ) : string {
141- if ( definition . metadata ! . annotations ! [ 'kube-icinga/host' ] ) {
142- return definition . metadata ! . annotations ! [ 'kube-icinga/host' ] ;
141+ let annotations = this . getAnnotations ( definition ) ;
142+
143+ if ( annotations [ 'kube-icinga/host' ] ) {
144+ return annotations [ 'kube-icinga/host' ] ;
143145 } else if ( this . options . hostName === null ) {
144146 return this . escapeName ( [ 'ingress' , definition . metadata ! . namespace , definition . metadata ! . name ] . join ( '-' ) ) ;
145147 }
0 commit comments