GithubHelp home page GithubHelp logo

axway / agents-apigee Goto Github PK

View Code? Open in Web Editor NEW
4.0 7.0 2.0 11.84 MB

Agents for connecting Apigee to Axway Amplify Central

License: Apache License 2.0

Makefile 2.06% Go 95.25% Shell 1.10% JavaScript 0.18% Dockerfile 1.41%
apigee axway-amplify api-discovery traceability agent

agents-apigee's Issues

Proxy mode - Access request deprovisioning does not revoke product access

Hi,

In PROXY discovery mode, deprovisioning an access request doesn't revoke the product access. As can be seen from the log below, no error is thrown.
image

However, after the process is finished, credential object is still linked to the API Product

image

Agent version is 0.1.20

Thanks for your help

API Product with unlimited quota plan is not cloned

Hi,

Context :
I have an API Product (apigee) with a quota already set.
This product is discovered and a new Product (Foundry) is created from it.
This new Product has a plan with an unlimited quota.

Issue :
When I subscribe to the plan and request access, no clone of the original API Product (apigee) is made and the original API product is linked to the Apigee application. As a consequence the Application inherits the original API Product quota instead of being unlimited.

Proposal :
Clone the API product also for unlimited quotas.

Thanks,
Guillaume

Discovery agent fails to create credential

When the first time I asked credentials, after the access request, my credentials remained in PENDING state and the agent logs shows the following:

{"level":"info","message":"processing access request for api APIGEE-PetStore-OAuth to app pet-shelter","time":"2022-09-26T21:10:46-07:00"} {"level":"info","message":"creating api product APIGEE-PetStore-OAuth-freemium-2 for api APIGEE-PetStore-OAuth","time":"2022-09-26T21:10:47-07:00"} {"level":"info","message":"provisioning credentials for app pet-shelter","time":"2022-09-26T21:10:50-07:00"} {"level":"info","message":"processing access request for api APIGEE-PetStore-OAuth to app pet-shelter","time":"2022-09-26T21:10:46-07:00"} {"level":"info","message":"creating api product APIGEE-PetStore-OAuth-freemium-2 for api APIGEE-PetStore-OAuth","time":"2022-09-26T21:10:47-07:00"} {"level":"info","message":"provisioning credentials for app pet-shelter","time":"2022-09-26T21:10:50-07:00"} {"level":"error","message":"subscription provisioning - at least one product access is required for a credential","time":"2022-09-26T21:10:51-07:00"} {"component":"serviceClient","level":"error","message":"failed to link sub resource state to resource first-apigee: [Error Code 1120] - error making a request to Amplify: status - 400, title - Validation error, detail - [#/name: is not a valid enum value]","package":"sdk.apic","time":"2022-09-26T21:10:51-07:00"} {"action":"CREATED","component":"credentialHandler","error":"[Error Code 1120] - error making a request to Amplify: status - 400, title - Validation error, detail - [#/name: is not a valid enum value]","level":"error","message":"error creating subresources","name":"first-apigee","package":"sdk.agent.handler","resource":"Credential","sequence":2782324,"time":"2022-09-26T21:10:52-07:00"}

Basic Auth support for Apigee integration

We need agents to support Basic Auth and http for integration with apigee management Api. Oauth2 is not enabled by default for Edge for the private Cloud.

Sample api request to fetch list of api products :
curl --location 'http://{host}:{port}/v1/organizations/{org_name}/apiproducts'
--header 'Accept: application/json'
--header 'Authorization: Basic ABCDEFGHxxxxx=='

Reference document to Apigee Edge Management APIs: https://apidocs.apigee.com/operations
There are sample requests and responses provided by Apigee which can be referenced in the link. Agents should be able to adapt to these api's in order for successful integration.

We would be able to integrate agents and Private Cloud Apigee with ease.

Allow agent to read api specs from local filesystem

Private Apigee have classic Edge which doesn't have feature to store or fetch API-Specs from below mentioned URL.

Agents is failing with http 404 as the URL doesnt exists for private apigee :

{"component":"httpClient","duration(ms)":2,"id":"60431a0a-6307-47b7-9902-0e949ab976be","level":"trace","message":"request succeeded","method":"GET","package":"sdk.api","received(bytes)":47,"status":404,"time":"2024-01-30T15:47:06+08:00","url":"http://{host}:{port}/organizations/{org-name}/specs/folder/home"}
{"component":"pollSpecs","error":"invalid character '\u003c' looking for beginning of value","level":"error","message":"getting specs","package":"apigee","time":"2024-01-30T15:47:06+08:00"}
{"component":"baseJob","job-id":"a1431ad5-769e-45f3-a60e-8e7c8ba8f29d","job-name":"Poll Specs","level":"error","message":"[Error Code 1601] - Error in interval job a1431ad5-769e-45f3-a60e-8e7c8ba8f29d execution: invalid character '\u003c' looking for beginning of value","package":"sdk.jobs","time":"2024-01-30T15:47:06+08:00"}

image

references:

Apparently, API-specs is a mandatory resource for agents to function and integrate successfully, can we allow agent to read/load the api-specs from a local folder ?

Update for attribute migration in Agent SDK

The agent sdk has been updated to allow the saving of agent attributes to a subresource rather than in attributes visible on the UI.

This agent needs to be updated to migrate its technical attributes over by registering it with the SDK

Proxy mode - DA - concurrent map iteration and map write

Hi,

We have an environment with almost 400 API proxies.
After a few hours the DA has been up and running, the error below appears in the log and the agent becomes "unhealthy" until it is manually restarted.

image

Full log available on demand

Can you please help understand what causes this concurrent access ?

DA v0.1.21

Thanks

v0.1.12 - DA startup error

Hi,

We have an issue with v0.1.12 of the Apigee DA that we are unable to reproduce with previous agents versions.
The agent startup sequence fails and displays the command usage as shown below.

2023-05-11T11:50:33.568+02:00   Error: Config File "apigee_discovery_agent" Not Found in "[/]"
2023-05-11T11:50:33.569+02:00   Usage:
2023-05-11T11:50:33.569+02:00   apigee_discovery_agent [flags]
2023-05-11T11:50:33.569+02:00   Flags:
2023-05-11T11:50:33.569+02:00   --envFile string Path of the file with environment variables to override configuration
2023-05-11T11:50:33.569+02:00   -h, --help help for apigee_discovery_agent
2023-05-11T11:50:33.569+02:00   --pathConfig string Path to the directory containing the YAML configuration file for the agent
2023-05-11T11:50:33.569+02:00   --status Get the status of all the Health Checks
2023-05-11T11:50:33.569+02:00   --synchronize Run the sync process for the discovery agent
2023-05-11T11:50:33.569+02:00   -v, --version version for apigee_discovery_agent
2023-05-11T11:50:33.569+02:00   Config File "apigee_discovery_agent" Not Found in "[/]"

The agent runs as a task in an AWS ECS cluster and is deployed through cloudformation using the following command arguments :

ContainerDefinitions:
        - Name: ampify-discovery-apigee-agent
          Image: !Sub ${DiscoveryAgentImageURI}:${DiscoveryAgentVersion}
          Command:
            - "--httpprofile"
            - "--memprofile"
            - !Sub /efs_output/${DiscoveryAgentLogGroupName}-mem.out
            #- "/efs_output/mem.out"

Has something changed in v0.1.12 input command options compared to v0.1.11 ? The same command options work fine in previous versions of the agent and we haven't made any change to our cloudformation template between versions.

Note : we have not yet tried tested v0.1.12 of the traceability agent but the same issue could probably exist.

Thanks for your support
Guillaume

DA does not discover proxies with new spec attached

Hello,

DA agent version 1.1.31
Steps to reproduce:
Publish a new specification "sno3-swagger-specification"
Create a new proxy using the "sno3-swagger-specification"
Publish the proxy

Expected result:
Proxy is discovered and a new service is created on the service registry

Actual result:
Proxy is not discovered. Da needs to be rebooted to have the proxy discovered.

Thanks,
Sovanna

Agent version checker error

Hello,

I'm using version 0.0.5 of the APIGee agents.
The agents is deployed in an ECS Fargate cluster.
When I deployed the stack, I have an error regarding the agent version checker (see attached image)

agent_version_checker_error

Thanks,
Sovanna

Proxy mode - API Service endpoints incorrect scheme

Hi,

We noticed that the API service endpoint from the discovered proxies use the "http" scheme instead of "https".

Example :

image

When we look at the API Proxy configuration we can see that the deployed environment uses an https endpoint

image

In the HTTP Proxy connection, we can see that a "secure" virtual endpoint is referenced
image

We can also see that the "secure" virtual host is defined and uses tls
image

In the agent logs, we didn't see any http request reference to the "secure" virtual host, only the "default" one using http.

Could you please help ?

Thanks,

Discovery agent version with an extra "-"

Hello,

I'm using version 0.0.5 of the APIGee agents.
The agent is deployed in an ECS Fargate cluster.
When I deployed the stack, the agent version is not displayed properly in AMPLIFY : "0.0.5-"

discovery_agent_version_error

Thanks,
Sovanna

Discovery agent does not account for relative URLs in the schema when creating endpoints

Errors from log

{"level":"error","message":"failed to create endpoints for 'SNO APIGee Petstore': [Error Code 1160] - error getting endpoints for the API specification: could not parse url: /api/v3","time":"2022-06-13T13:22:16Z"}
{"level":"error","message":"failed to create endpoints for 'SNO APIGee Petstore 3 product': [Error Code 1160] - error getting endpoints for the API specification: could not parse url: /api/v3","time":"2022-06-13T13:22:32Z"}

@gmatthewsAxway

TA v0.1.13 - startup issue

Hi,

After upgrading the apigee Traceability agent from v0.1.11 to v0.1.13, we notice several errors in the container startup sequence, leading to a crash.

TA v0.1.11 works fine. No configuration change has been made aside from updating the image.

I have captured logs of the the whole startup sequence in trace level. For security reasons, I will not directly attach the logs to the issue but you can request them to me via teams.

Could you please investigate the logs ?

Thanks, Guillaume

Traceability agent configuration

Hello,

Traceability agent should have configuration parameter for :

  • traceability enabled: true
  • metrics enabled: false

Currently, those are hardcoded in the apigee_traceability_agent.yml file and so hardcoded in the docker image.

Thanks,
Sovanna

Catalog item not updated when spec added to API catalog in the portal

To reproduce:

  1. Create a product
  2. Create a portal
  3. Add the product to he portal, do not attach spec
  4. Wait for Central catalog item to be created
  5. Update product in portal to have spec
  6. See that catalog item can not be updated

Suggested fix:

Do not create any api service on Central until a pec can be retrieved from Apigee

Proxy mode - unstructured API services

Hi,

In proxy discovery mode, we noticed that proxies with a reference to a spec (association.json) were correctly discovered as "oas" services.
However, it appears that, without altering any of the already discovered proxies/specs, subsequent API service revisions are created with an "unstructured" format as shown below :

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.