service-proxy | API gateway for REST , OpenAPI , GraphQL and SOAP | REST library

 by   membrane Java Version: v5.0.1 License: Apache-2.0

kandi X-RAY | service-proxy Summary

service-proxy is a Java library typically used in Web Services, REST, Swagger applications. service-proxy has no bugs, it has no vulnerabilities, it has build file available, it has a Permissive License and it has low support. You can download it from GitHub, Maven.
Reverse HTTP proxy (framework) written in Java, that can be used.
    Support
      Quality
        Security
          License
            Reuse
            Support
              Quality
                Security
                  License
                    Reuse

                      kandi-support Support

                        summary
                        service-proxy has a low active ecosystem.
                        summary
                        It has 399 star(s) with 133 fork(s). There are 49 watchers for this library.
                        summary
                        There were 8 major release(s) in the last 6 months.
                        summary
                        There are 37 open issues and 338 have been closed. On average issues are closed in 490 days. There are 2 open pull requests and 0 closed requests.
                        summary
                        It has a neutral sentiment in the developer community.
                        summary
                        The latest version of service-proxy is v5.0.1
                        service-proxy Support
                          Best in #REST
                            Average in #REST
                            service-proxy Support
                              Best in #REST
                                Average in #REST

                                  kandi-Quality Quality

                                    summary
                                    service-proxy has 0 bugs and 0 code smells.
                                    service-proxy Quality
                                      Best in #REST
                                        Average in #REST
                                        service-proxy Quality
                                          Best in #REST
                                            Average in #REST

                                              kandi-Security Security

                                                summary
                                                service-proxy has no vulnerabilities reported, and its dependent libraries have no vulnerabilities reported.
                                                summary
                                                service-proxy code analysis shows 0 unresolved vulnerabilities.
                                                summary
                                                There are 0 security hotspots that need review.
                                                service-proxy Security
                                                  Best in #REST
                                                    Average in #REST
                                                    service-proxy Security
                                                      Best in #REST
                                                        Average in #REST

                                                          kandi-License License

                                                            summary
                                                            service-proxy is licensed under the Apache-2.0 License. This license is Permissive.
                                                            summary
                                                            Permissive licenses have the least restrictions, and you can use them in most projects.
                                                            service-proxy License
                                                              Best in #REST
                                                                Average in #REST
                                                                service-proxy License
                                                                  Best in #REST
                                                                    Average in #REST

                                                                      kandi-Reuse Reuse

                                                                        summary
                                                                        service-proxy releases are available to install and integrate.
                                                                        summary
                                                                        Deployable package is available in Maven.
                                                                        summary
                                                                        Build file is available. You can build the component from source.
                                                                        summary
                                                                        Installation instructions, examples and code snippets are available.
                                                                        summary
                                                                        service-proxy saves you 60201 person hours of effort in developing the same functionality from scratch.
                                                                        summary
                                                                        It has 77946 lines of code, 7163 functions and 1149 files.
                                                                        summary
                                                                        It has medium code complexity. Code complexity directly impacts maintainability of the code.
                                                                        service-proxy Reuse
                                                                          Best in #REST
                                                                            Average in #REST
                                                                            service-proxy Reuse
                                                                              Best in #REST
                                                                                Average in #REST
                                                                                  Top functions reviewed by kandi - BETA
                                                                                  kandi has reviewed service-proxy and discovered the below as its top functions. This is intended to give you an instant insight into service-proxy implemented functionality, and help decide if they suit your requirements.
                                                                                  • Extract the cookie header .
                                                                                    • Adjust the certificate .
                                                                                      • Append a Set - Cookie header .
                                                                                        • Writes all parsers in a model .
                                                                                          • Gets the calls page .
                                                                                            • Main entry point .
                                                                                              • Adds a new schema resolver .
                                                                                                • Returns this event as an XMLEvent .
                                                                                                  • Fills the regular expression with backrefs .
                                                                                                    • Create the interceptor .
                                                                                                      Get all kandi verified functions for this library.
                                                                                                      Get all kandi verified functions for this library.

                                                                                                      service-proxy Key Features

                                                                                                      as an API gateway
                                                                                                      as a security proxy
                                                                                                      for HTTP based integration
                                                                                                      as a WebSockets and STOMP router

                                                                                                      service-proxy Examples and Code Snippets

                                                                                                      No Code Snippets are available at this moment for service-proxy.
                                                                                                      Community Discussions

                                                                                                      Trending Discussions on service-proxy

                                                                                                      Why Vert.x codegen fails to create rx-fied classes?
                                                                                                      chevron right
                                                                                                      MatCheckbox has not been processed correctly by ngcc, or is not compatible with Angular Ivy
                                                                                                      chevron right
                                                                                                      How to add morgan to Loopback 4 RestApplication?
                                                                                                      chevron right
                                                                                                      Cut all till the end
                                                                                                      chevron right
                                                                                                      Readiness Probe fails on management proxy prod
                                                                                                      chevron right
                                                                                                      loopback4 - Wrong relation mapping in openapi spec
                                                                                                      chevron right
                                                                                                      Deprecated Vertx Bridge PermittedOptions
                                                                                                      chevron right
                                                                                                      how to forward request to public service like cdn using istio virtualservice?
                                                                                                      chevron right

                                                                                                      QUESTION

                                                                                                      Why Vert.x codegen fails to create rx-fied classes?
                                                                                                      Asked 2021-Mar-11 at 02:31

                                                                                                      For some reason my 4.0.2 based code doesn't produce rx-fied service versions with codegen.

                                                                                                      Both VertxEBProxy and VertxProxyHandler classes are created as expected though.

                                                                                                      Here is a demo project: https://github.com/ashertarno/playground

                                                                                                      Please see the required dependencies below:

                                                                                                      implementation "io.vertx:vertx-core:$vertxVersion"
                                                                                                      implementation "io.vertx:vertx-rx-java2:$vertxVersion"
                                                                                                      implementation "io.vertx:vertx-codegen:$vertxVersion"
                                                                                                      implementation "io.vertx:vertx-service-proxy:$vertxVersion"
                                                                                                      implementation "io.vertx:vertx-rx-java2-gen:$vertxVersion"
                                                                                                      
                                                                                                      annotationProcessor "io.vertx:vertx-codegen:$vertxVersion:processor"
                                                                                                      annotationProcessor "io.vertx:vertx-service-proxy:$vertxVersion"
                                                                                                      

                                                                                                      What would be missing in this case?

                                                                                                      ANSWER

                                                                                                      Answered 2021-Mar-09 at 17:25

                                                                                                      You have to add io.vertx:vertx-rx-java2-gen:$vertxVersion as an annotationProcessor and testAnnotationProcessor. After I did that, I had the classes get generated:

                                                                                                      ./build/classes/java/main/me/tarno/playground/reactivex/BaseServiceProxy.class
                                                                                                      ./build/classes/java/test/me/tarno/playground/reactivex/TestProxy.class
                                                                                                      

                                                                                                      Source https://stackoverflow.com/questions/66546824

                                                                                                      QUESTION

                                                                                                      MatCheckbox has not been processed correctly by ngcc, or is not compatible with Angular Ivy
                                                                                                      Asked 2020-Nov-01 at 16:43

                                                                                                      I'm trying to use the latest Angular Material with Angular 9 but I encountered below problem

                                                                                                      and here is my app.modul.ts

                                                                                                      import { NgModule } from '@angular/core';
                                                                                                      import { CommonModule, CurrencyPipe } from '@angular/common';
                                                                                                      import { FormsModule, ReactiveFormsModule } from '@angular/forms';
                                                                                                      import { HttpClientJsonpModule } from '@angular/common/http';
                                                                                                      import { HttpClientModule } from '@angular/common/http';
                                                                                                      import { ModalModule } from 'ngx-bootstrap/modal';
                                                                                                      import { BsDropdownModule } from 'ngx-bootstrap/dropdown';
                                                                                                      import { CollapseModule } from 'ngx-bootstrap/collapse';
                                                                                                      import { TabsModule } from 'ngx-bootstrap/tabs';
                                                                                                      import { NgxPaginationModule } from 'ngx-pagination';
                                                                                                      import { AppRoutingModule } from './app-routing.module';
                                                                                                      import { AppComponent } from './app.component';
                                                                                                      import { ServiceProxyModule } from '@shared/service-proxies/service-proxy.module';
                                                                                                      import { SharedModule } from '@shared/shared.module';
                                                                                                      import { HomeComponent } from '@app/home/home.component';
                                                                                                      import { AboutComponent } from '@app/about/about.component';
                                                                                                      // tenants
                                                                                                      import { TenantsComponent } from '@app/tenants/tenants.component';
                                                                                                      import { CreateTenantDialogComponent } from './tenants/create-tenant/create-tenant-dialog.component';
                                                                                                      import { EditTenantDialogComponent } from './tenants/edit-tenant/edit-tenant-dialog.component';
                                                                                                      // roles
                                                                                                      import { RolesComponent } from '@app/roles/roles.component';
                                                                                                      import { CreateRoleDialogComponent } from './roles/create-role/create-role-dialog.component';
                                                                                                      import { EditRoleDialogComponent } from './roles/edit-role/edit-role-dialog.component';
                                                                                                      // users
                                                                                                      import { UsersComponent } from '@app/users/users.component';
                                                                                                      import { CreateUserDialogComponent } from '@app/users/create-user/create-user-dialog.component';
                                                                                                      import { EditUserDialogComponent } from '@app/users/edit-user/edit-user-dialog.component';
                                                                                                      import { ChangePasswordComponent } from './users/change-password/change-password.component';
                                                                                                      import { ResetPasswordDialogComponent } from './users/reset-password/reset-password.component';
                                                                                                      // layout
                                                                                                      import { HeaderComponent } from './layout/header.component';
                                                                                                      import { HeaderLeftNavbarComponent } from './layout/header-left-navbar.component';
                                                                                                      import { HeaderLanguageMenuComponent } from './layout/header-language-menu.component';
                                                                                                      import { HeaderUserMenuComponent } from './layout/header-user-menu.component';
                                                                                                      import { FooterComponent } from './layout/footer.component';
                                                                                                      import { SidebarComponent } from './layout/sidebar.component';
                                                                                                      import { SidebarLogoComponent } from './layout/sidebar-logo.component';
                                                                                                      import { SidebarUserPanelComponent } from './layout/sidebar-user-panel.component';
                                                                                                      import { SidebarMenuComponent } from './layout/sidebar-menu.component';
                                                                                                      import { ChatComponent } from './chat/chat.component';
                                                                                                      import { Chat2Component } from './chat2/chat2.component';
                                                                                                      import { CitizenInterestsComponent } from './citizen-interests/citizen-interests.component';
                                                                                                      
                                                                                                      import {MAT_CHECKBOX_CLICK_ACTION, MatCheckbox} from '@angular/material/checkbox';
                                                                                                      
                                                                                                      @NgModule({
                                                                                                        declarations: [
                                                                                                          AppComponent,
                                                                                                          HomeComponent,
                                                                                                          AboutComponent,
                                                                                                          // tenants
                                                                                                          TenantsComponent,
                                                                                                          CreateTenantDialogComponent,
                                                                                                          EditTenantDialogComponent,
                                                                                                          // roles
                                                                                                          RolesComponent,
                                                                                                          CreateRoleDialogComponent,
                                                                                                          EditRoleDialogComponent,
                                                                                                          // users
                                                                                                          UsersComponent,
                                                                                                          CreateUserDialogComponent,
                                                                                                          EditUserDialogComponent,
                                                                                                          ChangePasswordComponent,
                                                                                                          ResetPasswordDialogComponent,
                                                                                                          // layout
                                                                                                          HeaderComponent,
                                                                                                          HeaderLeftNavbarComponent,
                                                                                                          HeaderLanguageMenuComponent,
                                                                                                          HeaderUserMenuComponent,
                                                                                                          FooterComponent,
                                                                                                          SidebarComponent,
                                                                                                          SidebarLogoComponent,
                                                                                                          SidebarUserPanelComponent,
                                                                                                          SidebarMenuComponent,
                                                                                                          ChatComponent,
                                                                                                          Chat2Component,
                                                                                                          CitizenInterestsComponent
                                                                                                        ],
                                                                                                        imports: [
                                                                                                          CommonModule,
                                                                                                          FormsModule,
                                                                                                          ReactiveFormsModule,
                                                                                                          HttpClientModule,
                                                                                                          HttpClientJsonpModule,
                                                                                                          ModalModule.forChild(),
                                                                                                          BsDropdownModule,
                                                                                                          CollapseModule,
                                                                                                          TabsModule,
                                                                                                          AppRoutingModule,
                                                                                                          ServiceProxyModule,
                                                                                                          SharedModule,
                                                                                                          NgxPaginationModule,
                                                                                                          MatCheckbox
                                                                                                      
                                                                                                      
                                                                                                      
                                                                                                      
                                                                                                        ],
                                                                                                        providers: [],
                                                                                                        entryComponents: [
                                                                                                          // tenants
                                                                                                          CreateTenantDialogComponent,
                                                                                                          EditTenantDialogComponent,
                                                                                                          // roles
                                                                                                          CreateRoleDialogComponent,
                                                                                                          EditRoleDialogComponent,
                                                                                                          // users
                                                                                                          CreateUserDialogComponent,
                                                                                                          EditUserDialogComponent,
                                                                                                          ResetPasswordDialogComponent
                                                                                                        ],
                                                                                                      })
                                                                                                      export class AppModule {}
                                                                                                      
                                                                                                      
                                                                                                      

                                                                                                      ERROR in node_modules/@angular/material/checkbox/checkbox.d.ts:56:22 - error NG6002: Appears in the NgModule.imports of AppModule, but could not be resolved to an NgModule class. This likely means that the library (@angular/material/checkbox) which declares MatCheckbox has not been processed correctly by ngcc, or is not compatible with Angular Ivy. Check if a newer version of the library is available, and update if so. Also consider checking with the library's authors to see if the library is expected to be compatible with Ivy.

                                                                                                      ANSWER

                                                                                                      Answered 2020-Jun-18 at 08:50

                                                                                                      I found the solution here

                                                                                                      I was imported Matcheckbox instead of MatCheckboxModule

                                                                                                      before that, I ran this command npm ci I don't know if this affects but that what I did.

                                                                                                      Source https://stackoverflow.com/questions/62445723

                                                                                                      QUESTION

                                                                                                      How to add morgan to Loopback 4 RestApplication?
                                                                                                      Asked 2020-Oct-13 at 15:03

                                                                                                      I am simply trying to add morgan to log my http calls. The two methods I have tried are:

                                                                                                      1. Adding it to the MySequence class:
                                                                                                      export class MySequence extends MiddlewareSequence {
                                                                                                       async handle(context: RequestContext) {
                                                                                                         const finished = await this.invokeMiddleware(context, [morgan()]);
                                                                                                      
                                                                                                         if (finished) {
                                                                                                           return;
                                                                                                         }
                                                                                                      
                                                                                                         await super.handle(context);
                                                                                                       }
                                                                                                      }
                                                                                                      
                                                                                                      1. Adding it before calling the this.sequence(MySequence) in the application.ts file:
                                                                                                      export class MyAppApiApplication extends BootMixin(
                                                                                                        ServiceMixin(RepositoryMixin(RestApplication)),
                                                                                                      ) {
                                                                                                        constructor(options: ApplicationConfig = {}) {
                                                                                                          super(options);
                                                                                                      
                                                                                                          this.expressMiddleware(
                                                                                                            morgan,
                                                                                                            {},
                                                                                                            {
                                                                                                              injectConfiguration: 'watch',
                                                                                                              key: 'middleware.morgan',
                                                                                                            }
                                                                                                          );
                                                                                                          this.sequence(MySequence);
                                                                                                      
                                                                                                          ...
                                                                                                      }
                                                                                                      

                                                                                                      The first method was working before I updated my loopback dependencies from:

                                                                                                      "@loopback/boot": "^2.4.1",
                                                                                                      "@loopback/core": "^2.9.3",
                                                                                                      "@loopback/repository": "^2.11.0",
                                                                                                      "@loopback/rest": "^6.0.0",
                                                                                                      "@loopback/rest-explorer": "^2.2.8",
                                                                                                      "@loopback/service-proxy": "^2.3.6",
                                                                                                      

                                                                                                      to:

                                                                                                      "@loopback/boot": "^3.0.1",
                                                                                                      "@loopback/core": "^2.10.1",
                                                                                                      "@loopback/repository": "^3.0.1",
                                                                                                      "@loopback/rest": "^7.0.1",
                                                                                                      "@loopback/rest-explorer": "^3.0.1",
                                                                                                      "@loopback/service-proxy": "^3.0.1",
                                                                                                      

                                                                                                      The update clearly did something that made it stop working but I can't figure out what.

                                                                                                      Also, I have seen other methods in the docs like the one using Interceptors but it feels like an overkill when it should be something as easy as adding a middleware to an Express app.

                                                                                                      ANSWER

                                                                                                      Answered 2020-Sep-29 at 15:55

                                                                                                      Please revert your change to MySequence.ts. The following is good enough:

                                                                                                      export class MySequence extends MiddlewareSequence {
                                                                                                      }
                                                                                                      

                                                                                                      You should be aware that the morgan middleware registered using this.expressMiddleware will be automatically discovered by MiddlewareSequence.

                                                                                                      See a working example at:

                                                                                                      https://github.com/strongloop/loopback-next/blob/master/examples/todo/src/application.ts#L46

                                                                                                      Source https://stackoverflow.com/questions/64035647

                                                                                                      QUESTION

                                                                                                      Cut all till the end
                                                                                                      Asked 2020-Sep-19 at 08:16

                                                                                                      I have an out put in the below pattern

                                                                                                      ["snaptuda-shv-22-lla1.example.com","snaptuza-shv-22-lla1.example.com","snaptuservice-proxy-shv-22-lla1.example.com"]
                                                                                                      

                                                                                                      I used below command to strip the domains within the double quotes

                                                                                                      cut -d"\"" -f2 file.txt
                                                                                                      

                                                                                                      I got only the first domain , which was

                                                                                                      snaptuda-shv-22-lla1.example.com

                                                                                                      What I need is all domains till the end of the file , how can I achieve this ?

                                                                                                      ANSWER

                                                                                                      Answered 2020-Sep-19 at 08:15

                                                                                                      You input is json. For parsing json there is jq:

                                                                                                      jq -r '.[]' filename
                                                                                                      

                                                                                                      Or if the input comes from stdout, like this:

                                                                                                      echo '["snaptuda-shv-22-lla1.example.com",...]' | jq -r '.[]'
                                                                                                      snaptuda-shv-22-lla1.example.com
                                                                                                      snaptuza-shv-22-lla1.example.com
                                                                                                      snaptuservice-proxy-shv-22-lla1.example.com
                                                                                                      

                                                                                                      Source https://stackoverflow.com/questions/63966551

                                                                                                      QUESTION

                                                                                                      Readiness Probe fails on management proxy prod
                                                                                                      Asked 2020-Jun-20 at 22:08

                                                                                                      I'm trying to setup an SQLServer BDC on AKS but the process does not seem to be moving beyond a certain point. The AKS cluster is a 3 node cluster built on a Standard_E8_v3 VM ScaleSet.

                                                                                                      Here is a list of pods: C:\Users\rgn>kubectl get pods -n mssql-cluster

                                                                                                      NAME              READY   STATUS    RESTARTS   AGE
                                                                                                      control-qm754     3/3     Running   0          35m
                                                                                                      controldb-0       2/2     Running   0          35m
                                                                                                      controlwd-wxrlg   1/1     Running   0          32m
                                                                                                      logsdb-0          1/1     Running   0          32m
                                                                                                      logsui-mqfcv      1/1     Running   0          32m
                                                                                                      metricsdb-0       1/1     Running   0          32m
                                                                                                      metricsdc-9frbb   1/1     Running   0          32m
                                                                                                      metricsdc-jr5hk   1/1     Running   0          32m
                                                                                                      metricsdc-ls7mf   1/1     Running   0          32m
                                                                                                      metricsui-pn9qf   1/1     Running   0          32m
                                                                                                      mgmtproxy-x4ctb   2/2     Running   0          32m
                                                                                                      

                                                                                                      When I ran describe against mgmtproxy-x4ctb pod the below is what I see. And even though that status indicates it is running, it is not (the readiness probe is failing). I believe this is the reason why the deployment is not proceeding.

                                                                                                      Events:
                                                                                                        Type     Reason     Age                From                                        Message
                                                                                                        ----     ------     ----               ----                                        -------
                                                                                                        Normal   Scheduled  11m                default-scheduler                           Successfully assigned mssql-cluster/mgmtproxy-x4ctb to aks-agentpool-34156060-vmss000002
                                                                                                        Normal   Pulling    11m                kubelet, aks-agentpool-34156060-vmss000002  Pulling image "mcr.microsoft.com/mssql/bdc/mssql-service-proxy:2019-CU4-ubuntu-16.04"
                                                                                                        Normal   Pulled     11m                kubelet, aks-agentpool-34156060-vmss000002  Successfully pulled image "mcr.microsoft.com/mssql/bdc/mssql-service-proxy:2019-CU4-ubuntu-16.04"
                                                                                                        Normal   Created    11m                kubelet, aks-agentpool-34156060-vmss000002  Created container service-proxy
                                                                                                        Normal   Started    11m                kubelet, aks-agentpool-34156060-vmss000002  Started container service-proxy
                                                                                                        Normal   Pulling    11m                kubelet, aks-agentpool-34156060-vmss000002  Pulling image "mcr.microsoft.com/mssql/bdc/mssql-monitor-fluentbit:2019-CU4-ubuntu-16.04"
                                                                                                        Normal   Pulled     11m                kubelet, aks-agentpool-34156060-vmss000002  Successfully pulled image "mcr.microsoft.com/mssql/bdc/mssql-monitor-fluentbit:2019-CU4-ubuntu-16.04"
                                                                                                        Normal   Created    11m                kubelet, aks-agentpool-34156060-vmss000002  Created container fluentbit
                                                                                                        Normal   Started    11m                kubelet, aks-agentpool-34156060-vmss000002  Started container fluentbit
                                                                                                        Warning  Unhealthy  10m (x6 over 11m)  kubelet, aks-agentpool-34156060-vmss000002  Readiness probe failed: cat: /var/run/container.ready: No such file or directory
                                                                                                      

                                                                                                      I tried it twice but both times it was not able to move beyond this point. From the link it looks like this problem only exist since last month. Can someone point me in the right direction?

                                                                                                      Log listing from the proxy pod:

                                                                                                      2020/06/13 16:25:35 Setting the directories for 'agent:agent' owner with '-rwxrwxr-x' mode: [/var/opt /var/log /var/run/secrets /var/run/secrets/keytabs /var/run/secrets/certificates /var/run/secrets/credentials /var/opt/agent /var/log/agent /var/run/agent]
                                                                                                      2020/06/13 16:25:35 Setting the directories for 'agent:agent' owner with '-rwxrwx---' mode: [/var/opt/agent /var/log/agent /var/run/agent]
                                                                                                      2020/06/13 16:25:35 Searching agent configuration file at /opt/agent/conf/mgmtproxy.json
                                                                                                      2020/06/13 16:25:35 Searching agent configuration file at /opt/agent/conf/agent.json
                                                                                                      2020/06/13 16:25:35.777955 Changed the container umask from '-----w--w-' to '--------w-'
                                                                                                      2020/06/13 16:25:35.778031 Setting the directories for 'supervisor:supervisor' owner with '-rwxrwx---' mode: [/var/log/supervisor/log /var/opt/supervisor /var/log/supervisor /var/run/supervisor]
                                                                                                      2020/06/13 16:25:35.778170 Setting the directories for 'fluentbit:fluentbit' owner with '-rwxrwx---' mode: [/var/opt/fluentbit /var/log/fluentbit /var/run/fluentbit]
                                                                                                      2020/06/13 16:25:35.778411 Agent configuration: {"PodType":"mgmtproxy","ContainerName":"fluentbit","GrpcPort":8311,"HttpsPort":8411,"ScaledSetKind":"ReplicaSet","securityPolicy":"certificate","dnsServicesToWaitFor":null,"cronJobs":null,"serviceJobs":null,"healthModules":null,"logRotation":{"agentLogMaxSize":500,"agentLogRotateCount":3,"serviceLogRotateCount":10},"fileMap":{"fluentbit-certificate.pem":"/var/run/secrets/certificates/fluentbit/fluentbit-certificate.pem","fluentbit-privatekey.pem":"/var/run/secrets/certificates/fluentbit/fluentbit-privatekey.pem","krb5.conf":"/etc/krb5.conf","nsswitch.conf":"/etc/nsswitch.conf","resolv.conf":"/etc/resolv.conf","smb.conf":"/etc/samba/smb.conf"},"userPermissions":{"agent":{"user":"agent","group":"agent","mode":"0770","modeSetgid":false,"directories":[]},"fluentbit":{"user":"fluentbit","group":"","mode":"","modeSetgid":false,"directories":[]},"fundamental":{"user":"agent","group":"agent","mode":"0775","modeSetgid":false,"directories":["/var/opt","/var/log","/var/run/secrets","/var/run/secrets/keytabs","/var/run/secrets/certificates","/var/run/secrets/credentials"]},"supervisor":{"user":"supervisor","group":"supervisor","mode":"0770","modeSetgid":false,"directories":["/var/log/supervisor/log"]}},"fileIgnoreList":["agent-certificate.pem","agent-privatekey.pem"],"InstanceId":"t4KLx1m5vDsHCHc038KgKHH5HOcQVR0Z","ContainerId":"","StartServicesImmediately":false,"DisableFileDownloads":false,"DisableHealthChecks":false,"serviceFencingEnabled":false,"isPrivileged":true,"IsConfigurationManagerEnabled":false,"LWriter":{"filename":"/var/log/agent/agent.log","maxsize":500,"maxage":0,"maxbackups":10,"localtime":true,"compress":false}}
                                                                                                      2020/06/13 16:25:36.316209 Attempting to join cluster...
                                                                                                      2020/06/13 16:25:36.316301 Source directory /var/opt/secrets/certificates/ca does not exist
                                                                                                      2020/06/13 16:25:36.316520 [Reaper] Starting the signal loop for reaper
                                                                                                      2020/06/13 16:25:40.642164 [Reaper] Received SIGCHLD signal. Starting process reaper.
                                                                                                      2020/06/13 16:25:40.652703 Starting secure gRPC listener on 0.0.0.0:8311
                                                                                                      2020/06/13 16:25:40.943805 Cluster join successful.
                                                                                                      2020/06/13 16:25:40.943846 Stopping gRPC listener on 0.0.0.0:8311
                                                                                                      2020/06/13 16:25:40.944704 Getting manifest from controller...
                                                                                                      2020/06/13 16:25:40.964774 Downloading '/config/scaledsets/mgmtproxy/containers/fluentbit/files/fluentbit-certificate.pem' from controller...
                                                                                                      2020/06/13 16:25:40.964816 Downloading '/config/scaledsets/mgmtproxy/containers/fluentbit/files/fluentbit-privatekey.pem' from controller...
                                                                                                      2020/06/13 16:25:40.987309 Stored 1206 bytes to /var/run/secrets/certificates/fluentbit/fluentbit-certificate.pem
                                                                                                      2020/06/13 16:25:40.992108 Stored 1694 bytes to /var/run/secrets/certificates/fluentbit/fluentbit-privatekey.pem
                                                                                                      2020/06/13 16:25:40.992235 Agent is ready.
                                                                                                      2020/06/13 16:25:40.992348 Starting supervisord with command: '[supervisord --nodaemon -c /etc/supervisord.conf]'
                                                                                                      2020/06/13 16:25:40.992719 Started supervisord with pid=1437
                                                                                                      2020/06/13 16:25:40.993030 Starting secure gRPC listener on 0.0.0.0:8311
                                                                                                      2020/06/13 16:25:40.996580 Starting HTTPS listener on 0.0.0.0:8411
                                                                                                      2020/06/13 16:25:41.998667 [READINESS] Not all supervisord processes are ready. Attempts: 1, Max attempts: 250
                                                                                                      2020/06/13 16:25:41.999567 Loading go plugin plugins/bdc.so
                                                                                                      2020/06/13 16:25:41.999588 Loading go plugin plugins/platform.so
                                                                                                      2020/06/13 16:25:41.999600 Starting the health monitoring, number of modules: 2, services: ["fluentbit","agent"]
                                                                                                      2020/06/13 16:25:41.999605 Starting the health service
                                                                                                      2020/06/13 16:25:41.999609 Starting the health durable store
                                                                                                      2020/06/13 16:25:41.999614 Loading existing health properties from /var/opt/agent/health/health-properties-main.gob
                                                                                                      2020/06/13 16:25:41.999642 No existing file path for file: /var/opt/agent/health/health-properties-main.gob
                                                                                                      2020/06/13 16:25:42.640719 Adding a new plugin plugins/bdc.so 
                                                                                                      2020/06/13 16:25:43.302872 Adding a new plugin plugins/platform.so 
                                                                                                      2020/06/13 16:25:43.302932 Created a health module watcher for service 'fluentbit'
                                                                                                      2020/06/13 16:25:43.302948 Starting a new watcher for health module: fluentbit 
                                                                                                      2020/06/13 16:25:43.302983 Starting a new watcher for health module: agent 
                                                                                                      2020/06/13 16:25:43.302992 Health monitoring started
                                                                                                      2020/06/13 16:25:53.000908 [READINESS] All services marked as ready.
                                                                                                      2020/06/13 16:25:53.000966 [READINESS] Container is now ready.
                                                                                                      2020/06/13 16:26:01.995093 [MONITOR] Service states: map[fluentbit:RUNNING]
                                                                                                      

                                                                                                      ANSWER

                                                                                                      Answered 2020-Jun-20 at 22:08

                                                                                                      All,

                                                                                                      Finally it got sorted out.

                                                                                                      There were several issues with respect to our azure policy and our network policy.

                                                                                                      (1) It was not allowing new IP addresses to be assigned to the loadbalancer. 
                                                                                                      (2) The gateway proxy was not getting new IP Addresses since we ran out of our quota of 10  max IPs that were allowed. 
                                                                                                      (3) My desktop from where I started to deploy was not able to ping the controller service IP addresses and Port.
                                                                                                      

                                                                                                      We addressed the above one after the other and we are in the final stages.

                                                                                                      Given that the IP Addresses are static but generated on the fly it cannot be provisioned. How did the others handle this with their network/azure infrastructure team?

                                                                                                      Thanks, rgn

                                                                                                      Source https://stackoverflow.com/questions/62363358

                                                                                                      QUESTION

                                                                                                      loopback4 - Wrong relation mapping in openapi spec
                                                                                                      Asked 2020-Apr-19 at 08:10

                                                                                                      im struggling with the mapping to openapi spec of relations in loopback 4.

                                                                                                      There are two entities: Plan & PlanItem with relates with "Plan hasMany PlanItems" In my endpoint spec i've declared the inclusion of the relation like that:

                                                                                                        @authenticate('jwt')
                                                                                                        @get('/{id}', {
                                                                                                          responses: {
                                                                                                            '200': {
                                                                                                              description: 'Plan for given id, including items',
                                                                                                              content: {
                                                                                                                'application/json': {
                                                                                                                  schema: getModelSchemaRef(Plan, {
                                                                                                                    title: "PlanWithRelations",
                                                                                                                    exclude: ['ownerId'],
                                                                                                                    includeRelations: true
                                                                                                                  })
                                                                                                                },
                                                                                                              },
                                                                                                            },
                                                                                                          },
                                                                                                        })
                                                                                                        async findOne(
                                                                                                          @param.path.string('id') id: string,
                                                                                                        ): Promise {
                                                                                                          return this.plansService.findOne(id);
                                                                                                        }
                                                                                                      

                                                                                                      the resulting components section in the openapi.json looks like this:

                                                                                                      {
                                                                                                        "openapi": "3.0.0",
                                                                                                        "info": {
                                                                                                          "title": "ngbm-api - NGBM API v1.0",
                                                                                                          "version": "1.0.0",
                                                                                                          "contact": {
                                                                                                      
                                                                                                          }
                                                                                                        },
                                                                                                        // ...
                                                                                                        "components": {
                                                                                                          "schemas": {
                                                                                                            // ...
                                                                                                            "PlanWithRelations": {
                                                                                                              "title": "PlanWithRelations",
                                                                                                              "description": "(Schema options: { title: 'PlanWithRelations', exclude: [ 'ownerId' ], includeRelations: true })",
                                                                                                              "properties": {
                                                                                                                "id": {
                                                                                                                  "type": "string"
                                                                                                                },
                                                                                                                "name": {
                                                                                                                  "type": "string"
                                                                                                                },
                                                                                                                "items": {
                                                                                                                  "type": "array",
                                                                                                                  "items": {
                                                                                                                    "$ref": "#/components/schemas/PlanWithRelations"
                                                                                                                  }
                                                                                                                }
                                                                                                              },
                                                                                                              "required": [
                                                                                                                "name"
                                                                                                              ],
                                                                                                              "additionalProperties": false
                                                                                                            },
                                                                                                          }
                                                                                                        }
                                                                                                      }
                                                                                                      

                                                                                                      as you can see the items array in the 'PlanWithRelations' has a $ref to the same schema 'PlanWithRelations' and not to 'PlanItem'

                                                                                                      Can someone give me a hint how to fix this ? If you need more informations feels free to give me a hint.

                                                                                                      here are my loopback --version output:

                                                                                                      @loopback/cli version: 2.2.1
                                                                                                      
                                                                                                      @loopback/* dependencies:
                                                                                                        - @loopback/authentication: ^4.1.1
                                                                                                        - @loopback/boot: ^2.0.2
                                                                                                        - @loopback/build: ^5.0.0
                                                                                                        - @loopback/context: ^3.2.0
                                                                                                        - @loopback/core: ^2.2.0
                                                                                                        - @loopback/metadata: ^2.0.2
                                                                                                        - @loopback/openapi-spec-builder: ^2.0.2
                                                                                                        - @loopback/openapi-v3: ^3.1.1
                                                                                                        - @loopback/repository-json-schema: ^2.0.2
                                                                                                        - @loopback/repository: ^2.0.2
                                                                                                        - @loopback/rest: ^3.1.0
                                                                                                        - @loopback/testlab: ^2.0.2
                                                                                                        - @loopback/docs: ^3.2.1
                                                                                                        - @loopback/example-hello-world: ^2.0.2
                                                                                                        - @loopback/example-log-extension: ^2.0.2
                                                                                                        - @loopback/example-rpc-server: ^2.0.2
                                                                                                        - @loopback/example-todo: ^3.0.2
                                                                                                        - @loopback/example-soap-calculator: ^2.0.2
                                                                                                        - @loopback/service-proxy: ^2.0.2
                                                                                                        - @loopback/http-caching-proxy: ^2.0.2
                                                                                                        - @loopback/http-server: ^2.0.2
                                                                                                        - @loopback/example-todo-list: ^3.0.2
                                                                                                        - @loopback/dist-util: ^0.4.0
                                                                                                        - @loopback/rest-explorer: ^2.0.2
                                                                                                        - @loopback/eslint-config: ^6.0.2
                                                                                                        - @loopback/example-express-composition: ^2.0.2
                                                                                                        - @loopback/example-greeter-extension: ^2.0.2
                                                                                                        - @loopback/booter-lb3app: ^2.0.2
                                                                                                        - @loopback/example-lb3-application: ^2.0.2
                                                                                                        - @loopback/example-greeting-app: ^2.0.2
                                                                                                        - @loopback/example-context: ^2.0.2
                                                                                                        - @loopback/repository-tests: ^0.11.2
                                                                                                        - @loopback/extension-health: ^0.3.2
                                                                                                        - @loopback/authorization: ^0.5.2
                                                                                                        - @loopback/rest-crud: ^0.7.2
                                                                                                        - @loopback/security: ^0.2.2
                                                                                                        - @loopback/authentication-passport: ^2.0.2
                                                                                                        - @loopback/example-metrics-prometheus: ^0.2.2
                                                                                                        - @loopback/extension-metrics: ^0.2.2
                                                                                                        - @loopback/model-api-builder: ^2.0.2
                                                                                                        - @loopback/extension-logging: ^0.2.2
                                                                                                        - @loopback/example-access-control-migration: ^1.1.2
                                                                                                        - @loopback/example-file-transfer: ^1.1.2
                                                                                                        - @loopback/example-rest-crud: ^1.1.1
                                                                                                        - @loopback/apiconnect: ^0.1.1
                                                                                                        - @loopback/example-validation-app: ^1.1.1
                                                                                                        - @loopback/cron: ^0.1.0
                                                                                                      
                                                                                                      

                                                                                                      ANSWER

                                                                                                      Answered 2020-Apr-19 at 08:10

                                                                                                      It is a known bug that including a "title" will cause invalid schema generation.

                                                                                                      A workaround is to remove the "title" key from getModelSchemaRef:

                                                                                                      schema: getModelSchemaRef(Plan, {
                                                                                                        exclude: ['ownerId'],
                                                                                                        includeRelations: true
                                                                                                      })
                                                                                                      

                                                                                                      The PR with the fix has been merged and the fix will be released soon.

                                                                                                      Source https://stackoverflow.com/questions/61048074

                                                                                                      QUESTION

                                                                                                      Deprecated Vertx Bridge PermittedOptions
                                                                                                      Asked 2020-Feb-18 at 10:42

                                                                                                      I already was able to expose the Vert.x EventBus through a socket regarding the official docs:

                                                                                                      https://vertx.io/docs/vertx-sockjs-service-proxy/java/

                                                                                                      The purpose is to interact with a NodeJS App. For initial tests, the messages are already working between normal Verticals and the Node App

                                                                                                      However, I can see that the class io.vertx.ext.web.handler.sockjs.PermittedOptions is already Deprecated.

                                                                                                      This is the snippet

                                                                                                      import io.vertx.ext.web.Router;
                                                                                                      import io.vertx.ext.web.handler.sockjs.BridgeOptions;
                                                                                                      import io.vertx.ext.web.handler.sockjs.PermittedOptions;
                                                                                                      import io.vertx.ext.web.handler.sockjs.SockJSHandler;
                                                                                                      
                                                                                                      .
                                                                                                      .
                                                                                                      .
                                                                                                      
                                                                                                      Router router = Router.router(vertx);
                                                                                                      
                                                                                                      BridgeOptions opts = new BridgeOptions()
                                                                                                                                .addInboundPermitted(new PermittedOptions().setAddress("nodetest"))
                                                                                                                                .addOutboundPermitted(new PermittedOptions().setAddress("nodetest"));
                                                                                                      
                                                                                                      router.mountSubRouter("/eventbus", SockJSHandler.create(vertx).bridge(opts));
                                                                                                      
                                                                                                      vertx.createHttpServer().requestHandler(router).listen(3000, res -> {
                                                                                                            if (res.succeeded())
                                                                                                              promise.complete();
                                                                                                            else
                                                                                                              promise.fail(res.cause());
                                                                                                          });
                                                                                                      .
                                                                                                      .
                                                                                                      .
                                                                                                      

                                                                                                      ¿What is the right way to proceed?

                                                                                                      ANSWER

                                                                                                      Answered 2020-Feb-18 at 10:42

                                                                                                      the class you mention is duplicated across 2 repositories, the "fix" is just to update the import statement to the right one:

                                                                                                      io.vertx.ext.bridge.PermittedOptions
                                                                                                      

                                                                                                      All the rest should work as expected.

                                                                                                      Source https://stackoverflow.com/questions/60271813

                                                                                                      QUESTION

                                                                                                      how to forward request to public service like cdn using istio virtualservice?
                                                                                                      Asked 2020-Feb-06 at 08:31

                                                                                                      i'm trying to reverse proxy using istio virtual service

                                                                                                      it is possible forward request in virtual service? (like nginx's proxy_pass)

                                                                                                      in result,

                                                                                                      defined serviceentry, but it just "redirect", not forward reqeust.

                                                                                                      here is my serviceentry.yaml and virtualservice.yaml

                                                                                                      1. serviceentry.yaml
                                                                                                      apiVersion: networking.istio.io/v1alpha3
                                                                                                      kind: ServiceEntry
                                                                                                      metadata:
                                                                                                        name: my-service-proxy
                                                                                                        namespace: my-service
                                                                                                      spec:
                                                                                                        hosts:
                                                                                                         - CDN_URL
                                                                                                        location: MESH_EXTERNAL
                                                                                                        ports:
                                                                                                          - number: 80
                                                                                                            name: http
                                                                                                            protocol: HTTP
                                                                                                          - number: 443
                                                                                                            name: https
                                                                                                            protocol: TLS
                                                                                                        resolution: DNS
                                                                                                      
                                                                                                      
                                                                                                      1. virtualservice.yaml
                                                                                                      apiVersion: networking.istio.io/v1alpha3
                                                                                                      kind: VirtualService
                                                                                                      metadata:
                                                                                                        name: my-service
                                                                                                        namespace: my-service
                                                                                                      spec:
                                                                                                        hosts:
                                                                                                         - myservice.com
                                                                                                        gateways:
                                                                                                         - myservice
                                                                                                        http:
                                                                                                        - match:
                                                                                                          - uri:
                                                                                                              prefix: /about
                                                                                                          rewrite:
                                                                                                            authority: CDN_URL
                                                                                                            uri: /
                                                                                                          route:
                                                                                                          - destination:
                                                                                                              host: CDN_URL
                                                                                                        - route:
                                                                                                          - destination:
                                                                                                              host: my-service-web.svc.cluster.local
                                                                                                              port:
                                                                                                                number: 80
                                                                                                      
                                                                                                      

                                                                                                      virtualservice can acts like nginx-igress?

                                                                                                      ANSWER

                                                                                                      Answered 2020-Feb-06 at 08:31

                                                                                                      Based on that istio discuss

                                                                                                      User @palic asked same question here

                                                                                                      Shouldn’t it be possible to let ISTIO do the reverse proxy thing, so that no one needs a webserver (httpd/nginx/ lighthttpd/…) to do the reverse proxy job?

                                                                                                      And the answer provided by @Daniel_Watrous

                                                                                                      The job of the Istio control plane is to configure a fleet of reverse proxies. The purpose of the webserver is to serve content, not reverse proxy. The reverse proxy technology at the heart of Istio is Envoy, and Envoy can be use as a replacement for HAProxy, nginx, Apache, F5, or any other component that is being used as a reverse proxy.

                                                                                                      it is possible forward request in virtual service

                                                                                                      Based on that I would say it's not possible to do in virtual service, it's just rewrite(redirect), which I assume is working for you.

                                                                                                      when i need function of reverse proxy, then i have to using nginx ingresscontroller (or other things) instead of istio igress gateway?

                                                                                                      If we talk about reverse proxy, then yes, you need to use other technology than istio itself.

                                                                                                      As far as I'm concerned, you could use some nginx pod, which would be configured as reverse proxy to the external service, and it will be the host for your virtual service.

                                                                                                      So it would look like in below example.

                                                                                                      EXAMPLE

                                                                                                      ingress gateway -> Virtual Service -> nginx pod ( reverse proxy configured on nginx)
                                                                                                      Service entry -> accessibility of URLs outside of the cluster

                                                                                                      Let me know if you have any more questions.

                                                                                                      Source https://stackoverflow.com/questions/60053270

                                                                                                      Community Discussions, Code Snippets contain sources that include Stack Exchange Network

                                                                                                      Vulnerabilities

                                                                                                      No vulnerabilities reported

                                                                                                      Install service-proxy

                                                                                                      Start service-proxy.sh or service-proxy.bat. Have a look at the main configuration file conf/proxies.xml. Changes to this file are instantly deployed. Run the samples in the examples folder, follow the [REST](https://www.membrane-soa.org/service-proxy-doc/current/rest-quickstart.htm) or [SOAP](https://www.membrane-soa.org/service-proxy-doc/4.4/soap-quickstart.htm) tutorials, see the [Documentation](https://www.membrane-soa.org/service-proxy-doc/) or the [FAQ](https://github.com/membrane/service-proxy/wiki/Membrane-Service-Proxy-FAQ).

                                                                                                      Support

                                                                                                      For any new features, suggestions and bugs create an issue on GitHub. If you have any questions check and ask questions on community page Stack Overflow .
                                                                                                      Find more information at:
                                                                                                      Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
                                                                                                      Find more libraries
                                                                                                      Explore Kits - Develop, implement, customize Projects, Custom Functions and Applications with kandi kits​
                                                                                                      Save this library and start creating your kit
                                                                                                      CLONE
                                                                                                    • HTTPS

                                                                                                      https://github.com/membrane/service-proxy.git

                                                                                                    • CLI

                                                                                                      gh repo clone membrane/service-proxy

                                                                                                    • sshUrl

                                                                                                      git@github.com:membrane/service-proxy.git

                                                                                                    • Share this Page

                                                                                                      share link

                                                                                                      Explore Related Topics

                                                                                                      Consider Popular REST Libraries

                                                                                                      public-apis

                                                                                                      by public-apis

                                                                                                      json-server

                                                                                                      by typicode

                                                                                                      iptv

                                                                                                      by iptv-org

                                                                                                      fastapi

                                                                                                      by tiangolo

                                                                                                      beego

                                                                                                      by beego

                                                                                                      Try Top Libraries by membrane

                                                                                                      soa-model

                                                                                                      by membraneGroovy

                                                                                                      monitor

                                                                                                      by membraneJava

                                                                                                      api-management

                                                                                                      by membraneJavaScript

                                                                                                      Compare REST Libraries with Highest Support

                                                                                                      fastapi

                                                                                                      by tiangolo

                                                                                                      dropwizard

                                                                                                      by dropwizard

                                                                                                      python

                                                                                                      by kubernetes-client

                                                                                                      Find, review, and download reusable Libraries, Code Snippets, Cloud APIs from over 650 million Knowledge Items
                                                                                                      Find more libraries
                                                                                                      Explore Kits - Develop, implement, customize Projects, Custom Functions and Applications with kandi kits​
                                                                                                      Save this library and start creating your kit