Giter Site home page Giter Site logo

pavedroad-io / blueprints Goto Github PK

View Code? Open in Web Editor NEW
1.0 3.0 1.0 14.32 MB

Build Go microservices and functions complete with full CI/CD support with one command.

License: Apache License 2.0

Makefile 1.64% Go 11.57% Shell 3.16% HTML 80.02% Dockerfile 0.14% Starlark 0.03% Smarty 3.45%
pr-kpi microservices faas faas-framework faas-platform crd

blueprints's People

Contributors

jscharber avatar markgreenpr avatar shgayle avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

Forkers

shgayle

blueprints's Issues

add .rcignore defining files not to overwrite

Today, we look for files that contain the work hook, a convention we use for identifying end-user code. However, end-users may also use our sample code like httpJob.go and httpScheduler.

This task will create an equivalent of the .gititnore file that takes regex patterns for files to not modify during template generation.

Allows scheduler and jobs to extend management interface

The work pool template provides a management interface for setting configuration variables and controlling the service. There are two data structures that define commands and fields.

The managementOptions structure contains mgtCommand and Fields. The latter being a list of strings. The managementInit() method initializes the managementOptions in the dispatcher configuration. Management commands are executed by the ProcessManagementRequest() methods.

Several changes need to happen for this work.

The templateScheduler.go and templateJob.go need to add interfaces for:

[ ] Adding commands
[ ] Adding fields
[ ] Processing fields
[ ] The httpScheduler.go and httpJob need to implement those methods

The templateDispatcher.go needs

[ ] Extend management, mgtCommand structure, with an invocation type: internal, scheduler, job
[ ] Call the commands and fields interfaces during initialization adding responses to managementOptions
[ ] Extend ProcessManagement Request to call the correct interface or handle internal commands

Move badge URLs into integrations.go as constants

Today we put quality badges for MD / HTML into the definitions file making it and end-users problem. We need to move this into the integration logic and generate them. That means the end-user can just specify which badges they want.

If the entire integration is disabled, no badges should be generated and any specified in the definitions file can be ignored.

Worker Pool test cases and Hook

We need 70% code coverage for core worker pool code and examples. In addition, we need to add a hook enabling end-users to extend the go TestMain as it can only be invoked once.

Makefile updates

Remove hardcoded org and add a github/sonarlcloud org
Add build targets for docker-build

## docker-build: Build docker images for use with docker-compose
docker-build: eventbridge customer.yaml manifests/Dockerfile
	docker build -f manifests/Dockerfile -t pavedroad-io/eventbridge .
	touch docker-build

and here

sonar.organization=pavedroad-io
# must be unique in a given SonarQube instance
sonar.projectKey=pavedroad-io_eventbridge
# this is the name and version displayed in the SonarQube UI. Was mandatory prior to SonarQube 6.1.
sonar.projectName=eventbridge
sonar.projectVersion=0.0.1

Updated Kafka syntax to current

services:
  eventbridge:	  eventbridge:
    image: PavedRoad/eventbridge	    image: pavedroad-io/eventbridge
    expose:	    expose:
     - "8081"	    - 8081
    ports: 	    ports: 
     - 8081:8081	    - 8081:8081
    environment:
    - PRLOG_AUTOINIT=true
    - PRLOG_CFGTYPE=env
    - PRLOG_ENABLEKAFKA=true
    - PRLOG_FILEFORMAT=text
    - PRLOG_FILELOCATION=logs/users.log
    - PRKAFKA_BROKERS=kafka:9093
  zookeeper:	  zookeeper:
    image: wurstmeister/zookeeper	    image: wurstmeister/zookeeper
    ports:	    expose:
      - "2181:2181"	    - 2181
  kafka:	  kafka:
    image: wurstmeister/kafka	    image: wurstmeister/kafka
    depends_on:
    - zookeeper
    ports:	    ports:
      - "9092"	    - 9092:9092
    expose:
    - 9093
    environment:	    environment:
      KAFKA_ADVERTISED_HOST_NAME: "${DOCKER_IP}"	      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
      KAFKA_ZOOKEEPER_CONNECT: "${DOCKER_IP}:2181"	      KAFKA_LISTENERS: INSIDE://0.0.0.0:9093,OUTSIDE://0.0.0.0:9092
    volumes:	      KAFKA_ADVERTISED_LISTENERS: INSIDE://kafka:9093,OUTSIDE://localhost:9092
      - /var/run/docker.sock:/var/run/docker.sock	      KAFKA_LISTENER_SECURITY_PROTOCOL_MAP: INSIDE:PLAINTEXT,OUTSIDE:PLAINTEXT
      KAFKA_INTER_BROKER_LISTENER_NAME: INSIDE
  6  manifests/kafka.yaml 
Viewed
@@ -10,7 +10,5 @@ services:
    ports:	    ports:
      - "9092"	      - "9092"
    environment:	    environment:
      KAFKA_ADVERTISED_HOST_NAME: "${DOCKER_IP}"	      KAFKA_ADVERTISED_HOST_NAME: kafka
      KAFKA_ZOOKEEPER_CONNECT: "${DOCKER_IP}:2181"	      KAFKA_ZOOKEEPER_CONNECT: zookeeper:2181
    volumes:	

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.