User Tools

Site Tools


development:applications:ticketer_light_gateway

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
development:applications:ticketer_light_gateway [2022/10/03 14:43] 10.91.110.100development:applications:ticketer_light_gateway [2022/10/03 15:04] (current) 10.91.110.100
Line 13: Line 13:
  
 ===== Project Documents ===== ===== Project Documents =====
 +https://drive.google.com/drive/u/0/folders/1FbjMFdmZpCJ4jWcqFe4R21mnAr6wUhPy
  
 ===== Apis / Data Accessed ===== ===== Apis / Data Accessed =====
  
-API endpoints for core Ticket Areas including: +API endpoints for core Ticket Areas including (using spring-webflux for REST instead of graphql due to underlying business logic)
-  *  +  * Form 
-  * +  * Attachment 
 +  * Contact Details 
 +  * Email 
 +  * Running Log 
 +  * Ticket History 
 +  * Ticket Updates 
 +  * User Data for Ticketer 
 +  * Visbility 
 +  * Workflow 
 + 
 +Graphql Query API endpoints for core Ticket Areas: 
 + 
 +<code> 
 +type Query { 
 +    tickets(criteria: TicketSearchCriteria): [Ticket] 
 +    ticketForms(ticketId: ID): [Form] 
 +    allForms: [Form] 
 +    allFormGroups: [FormGroup] 
 +    relatedTickets(ticketId: ID, networkId: ID, visibilities: String!): [Ticket] 
 +    users(homeMarket: String): [User] 
 +    workflows(active: Boolean, published: Boolean, mockUp: Boolean): [Workflow] 
 +    previousStatus(ticketId: ID!): TicketStatus 
 +    nextStatuses(workflowId: ID!, statusName: String!): [GNode] 
 +    allStatusesForWorkflow(workflowId: ID!): [GNode] 
 +    allStatuses: [GNode] 
 +    visibilities: [Visibility] 
 +    ticketTypes: [TicketType] 
 +    ticketPriorities: [TicketPriorityEntry] 
 +    hubs: [NetworkElement] 
 +    nodesOfHub(hubId: ID!): [NetworkElement] 
 +    hubsOfVisibility(visibility: String!): [NetworkElement] 
 +    networkIdentifiersOfVisibility(visibility: String!): [NetworkIdentifier] 
 +    ofnTicketDeviceDetails(ticketIds: String!): [OFNDevice] 
 +    ofnTicketFaultDetails(ticketIds: String!): [OFNFault] 
 +
 +</code> 
 + 
 +Graphql Object types: 
 +<code> 
 +Ticket 
 +TicketStatus 
 +Workflow 
 +GNode 
 +NetworkIdentifier 
 +User 
 +Form 
 +KeyValue 
 +FormGroup 
 +Visibility 
 +Region 
 +TicketType 
 +TicketPriorityConfig 
 +TicketPriorityConfigEntry 
 +NetworkElement 
 +OFNFault 
 +OFNDevice 
 +</code>
  
 ===== Architecture ===== ===== Architecture =====
 +{{ :development:applications:r_d-architecture_-_ticketer_lite.drawio.png?600 |}}
 +
 +===== Development Configuration =====
 +Project can be pointed at local or server deployed version of all api endpoints listed above. 
 +See src/main/resources/application.properties for environment configuration for local dev.
 +
 +===== Deployment =====
 +The ticketer-light-gateway is deployed to the server handlers in **/var/spring-boot/** and is load balanced. Its environment specific variables are passed via the **application.properties** file to the app at runtime.
 +
 +Current Config Fields Are:
 +
 +<code>
 +# Build Info
 +jenkins.build.identifier=ticketer-light-gateway » ticketer-light-gateway-feature-branches » REL-4.1.0 REL-4.1.0.1
 +jenkins.build.branch=REL-4.1.0
 +jenkins.build.number=1
 +jenkins.build.time=2022-07-26 19:11:38
 +deployment.time=2022-08-08 15:30:19
 +
 +spring.main.allow-bean-definition-overriding=true
 +
 +# General logging settings
 +spring.application.name=ticketer-light-gateway
 +logging.file.max-history=5
 +logging.file.max-size=10MB
 +logging.file.name=/home/scotty/logs/spring-boot/ticketer-light-gateway.log
 +
 +# Server settings
 +server.port=8210
 +server.servlet.context-path=/ticketer-light-gateway
 +spring.webflux.base-path=/ticketer-light-gateway
 +
 +allowedOrigins=https://qanova.errigal.com
 +
 +# DB Settings
 +spring.r2dbc.url=r2dbc:mysql://10.91.130.211:3306/ticketer?useUnicode=yes&characterEncoding=UTF-8
 +spring.r2dbc.username=root
 +spring.r2dbc.password==T7g(?(HHL
 +
 +#spring.jpa.show-sql=true
 +spring.jpa.properties.hibernate.enable_lazy_load_no_trans=true
 +
 +graphql.mapping=/ticketer-light-gateway/graphql
 +graphql.servlet.actuator-metrics=true
 +graphql.annotations.base-package=com.errigal.ticketerlightgateway.model
 +
 +auth.jwt.jwksUrlPath=https://qanova.errigal.com
 +
 +userprofile.uri=https://qanova.errigal.com/userprofile
 +userprofile.clientId=0f59ca3a-353c-11eb-b954-0242ac110002
 +userprofile.clientSecret=jwha8WbRaTPZMW7mbhhEyl4iB1hAKa+xhGC/mObCXP48m2504MpRkPK5U3EumBSD
 +
 +ticketer.url=https://qanova.errigal.com/Ticketer
 +
 +#for OFN email
 +spring.codec.max-in-memory-size=10MB
 +
 +#Metrics related configurations
 +management.endpoint.metrics.enabled=true
 +management.metrics.tags.application=${spring.application.name}
 +management.endpoints.web.exposure.include=*
 +management.endpoint.prometheus.enabled=true
 +management.metrics.export.prometheus.enabled=true
 +
 +#Key for jwt decryption
 +com.errigal.userprofile.key=OO8qfrtYIqAX1EhU
 +</code>
 +
 +=== Ansible Playbooks ===
 +<code>
 + ansible-playbook -i ../env-configuration/nova/hosts.ini --diff --vault-id @prompt ticketer-light-gateway.yml --extra-vars "jenkins_build_name='ticketer-light-gateway-feature-branches/job/branchName' appFileExtension='.jar' jenkins_job_build_num=buildNumber actions='upload,stop,deploy,configure,start'" 
 +</code>
 +
 +=== Jenkins Build ===
 +https://jenkins.errigal.com:8443/job/ticketer-light-gateway/
development/applications/ticketer_light_gateway.1664804638.txt.gz · Last modified: 2022/10/03 14:43 by 10.91.110.100