πŸ–– Tracer Titans πŸ’™

Guido X Jansen
Guido X Jansen Global Business & Technology Evangelist Sprykee Posts: 424 βš–οΈ - Guardians (admin)
edited September 2023 in Hackathon

Thread for Team "Tracer Titans" to discuss and post their results/slides ⬇️

Team members:

Comments

  • lstrojny
    lstrojny Posts: 8 πŸ§‘πŸ»β€πŸš€ - Cadet

    Here is a spryker Docker image (PHP 8.1) with the PECL opentelemetry extension: https://hub.docker.com/r/lstrojny/spryker-php-otel

  • Buenyamin Inan
    Buenyamin Inan Project Tech Lead Sprykee Posts: 8 πŸ§‘πŸ»β€πŸš€ - Cadet

    @Guido X Jansen We would like our team name to be Tracer Titans please.

  • martin
    martin CTO @ VIABIRDS Technologies GmbH Spryker Solution Partner Posts: 49 πŸ§‘πŸ»β€πŸš€ - Cadet

    This is a potential service we could use to ingest data: https://openobserve.ai/docs/telemetry/

  • Buenyamin Inan
    Buenyamin Inan Project Tech Lead Sprykee Posts: 8 πŸ§‘πŸ»β€πŸš€ - Cadet
    edited July 2023

    The deploy.local.yml file for only one store:
    
    version: "0.1"
    
    namespace: hackaton
    tag: 'dev'
    
    environment: docker.dev
    image:
        tag: spryker/php:8.1
        php:
            enabled-extensions:
                - blackfire
        environment:
            SPRYKER_PRODUCT_CONFIGURATOR_HOST: date-time-configurator-example.spryker.local
            SPRYKER_PRODUCT_CONFIGURATOR_PORT: 80
            #AOP
            SPRYKER_AOP_INFRASTRUCTURE: '{
                "SPRYKER_MESSAGE_BROKER_HTTP_SENDER_CONFIG": {},
                "SPRYKER_MESSAGE_BROKER_SQS_RECEIVER_CONFIG": {}
            }'
            SPRYKER_AOP_APPLICATION: '{
                "APP_DOMAINS": [],
                "STORE_NAME_REFERENCE_MAP": {},
                "APP_CATALOG_SCRIPT_URL": ""
            }'
            SPRYKER_AOP_AUTHENTICATION: '{
                "AUTH0_CUSTOM_DOMAIN": "",
                "AUTH0_CLIENT_ID": "",
                "AUTH0_CLIENT_SECRET": ""
            }'
        node:
            version: 16
            npm: 8
    
    composer:
        mode: ''
        autoload: ''
    assets:
        mode: development
    
    regions:
        EU:
            services:
                database:
                    database: eu-docker
                    username: spryker
                    password: secret
    
            stores:
                DE:
                    services:
                        broker:
                            namespace: de-docker
                        key_value_store:
                            namespace: 1
                        search:
                            namespace: de_search
    groups:
        EU:
            region: EU
            applications:
                yves_eu:
                    application: yves
                    endpoints:
                        date-time-configurator-example.spryker.local:
                            entry-point: Configurator
                        yves.de.spryker.local:
                            store: DE
                            services:
                                session:
                                    namespace: 1
                glue_eu:
                    application: glue
                    endpoints:
                        glue.de.spryker.local:
                            store: DE
                backoffice_eu:
                    application: backoffice
                    endpoints:
                        backoffice.de.spryker.local:
                            store: DE
                            services:
                                session:
                                    namespace: 3
                backend_gateway_eu:
                    application: backend-gateway
                    endpoints:
                        backend-gateway.de.spryker.local:
                            store: DE
                            primal: true
                backend_api_eu:
                    application: zed
                    endpoints:
                        backend-api.de.spryker.local:
                            store: DE
                            entry-point: BackendApi
    
    services:
        database:
            engine: mysql
            version: mariadb-10.4
            root:
                username: "root"
                password: "secret"
            endpoints:
                localhost:3306:
                    protocol: tcp
        broker:
            engine: rabbitmq
            version: '3.9'
            api:
                username: "spryker"
                password: "secret"
            endpoints:
                queue.spryker.local:
                localhost:5672:
                    protocol: tcp
        session:
            engine: redis
        key_value_store:
            engine: redis
            endpoints:
                localhost:16379:
                    protocol: tcp
        search:
            engine: elastic
            version: '7.10'
            endpoints:
                localhost:9200:
                    protocol: tcp
        scheduler:
            engine: jenkins
            version: '2.324'
            csrf-protection-enabled: true
            endpoints:
                scheduler.spryker.local:
        mail_catcher:
            engine: mailhog
            endpoints:
                mail.spryker.local:
        swagger:
            engine: swagger-ui
            endpoints:
                swagger.spryker.local:
        redis-gui:
            engine: redis-commander
            endpoints:
                redis-commander.spryker.local:
        dashboard:
            engine: dashboard
            endpoints:
                spryker.local:
    
    docker:
    
        ssl:
            enabled: false
            redirect: true
    
        testing:
            store: DE
    
        debug:
            enabled: true
            xdebug:
                enabled: true
    
        mount:
            native:
                platforms:
                    - linux
    
            docker-sync:
                platforms:
                    - windows
    
            mutagen:
                platforms:
                    - macos
    
    

  • lstrojny
    lstrojny Posts: 8 πŸ§‘πŸ»β€πŸš€ - Cadet

    How to reproduce building the image with the opentelemetry extension:

    git clone git@github.com:spryker/docker-php.git
    cd docker-php
    docker build --build-arg PHP_PECL_EXTENSIONS="apcu redis opentelemetry-beta" -f alpine/3.17/8.1/Dockerfile .
    

  • daniel183
    daniel183 Spryker Solution Partner Posts: 13 πŸ§‘πŸ»β€πŸš€ - Cadet
    edited July 2023
  • Buenyamin Inan
    Buenyamin Inan Project Tech Lead Sprykee Posts: 8 πŸ§‘πŸ»β€πŸš€ - Cadet

    Git handle @bnymn

  • martin
    martin CTO @ VIABIRDS Technologies GmbH Spryker Solution Partner Posts: 49 πŸ§‘πŸ»β€πŸš€ - Cadet

    My Github handle: @shockbytes

  • daniel183
    daniel183 Spryker Solution Partner Posts: 13 πŸ§‘πŸ»β€πŸš€ - Cadet

    Git @dblaichinger

  • Torben
    Torben Senior Technical Architect Posts: 2 πŸ§‘πŸ»β€πŸš€ - Cadet

    @Corwynt

  • steffen.schneider
    steffen.schneider Spryker Solution Partner Posts: 4 πŸ§‘πŸ»β€πŸš€ - Cadet

    git handle @SchneiderDivaE

  • lstrojny
    lstrojny Posts: 8 πŸ§‘πŸ»β€πŸš€ - Cadet
    edited July 2023
  • Torben
    Torben Senior Technical Architect Posts: 2 πŸ§‘πŸ»β€πŸš€ - Cadet
    edited July 2023

    How to setup Collector: https://signoz.io/docs/tutorial/opentelemetry-binary-usage-in-virtual-machine/

    Running in docker:

    git clone -b main https://github.com/SigNoz/signoz.git && cd signoz/deploy/
    

  • Buenyamin Inan
    Buenyamin Inan Project Tech Lead Sprykee Posts: 8 πŸ§‘πŸ»β€πŸš€ - Cadet
    edited July 2023

    A developer using our integration to debug his shop

  • Buenyamin Inan
    Buenyamin Inan Project Tech Lead Sprykee Posts: 8 πŸ§‘πŸ»β€πŸš€ - Cadet
  • lstrojny
    lstrojny Posts: 8 πŸ§‘πŸ»β€πŸš€ - Cadet
    edited July 2023

    Latest command to build the docker image with PECL extensions

    docker build --push --tag lstrojny/spryker-php-otel:latest --build-arg PHP_PECL_EXTENSIONS="apcu redis opentelemetry protobuf" -f alpine/3.17/8.1/Dockerfile .
    

  • lstrojny
    lstrojny Posts: 8 πŸ§‘πŸ»β€πŸš€ - Cadet

    Latest build command, this time against PHP 8.2 because some OTEL instrumentations need PHP 8.2:

    docker build --tag lstrojny/spryker-php-otel:latest --build-arg PHP_PECL_EXTENSIONS="apcu redis opentelemetry protobuf" -f alpine/3.17/8.2/Dockerfile .
    

  • lstrojny
    lstrojny Posts: 8 πŸ§‘πŸ»β€πŸš€ - Cadet

    New docker image pushed

  • lstrojny
    lstrojny Posts: 8 πŸ§‘πŸ»β€πŸš€ - Cadet
    edited July 2023

    We now have this GH repo for multi platform images

    GitHub - spryker-community/otel-php-docker
    

    Multi platform builds for the docker image:

    docker buildx bake
    

  • lstrojny
    lstrojny Posts: 8 πŸ§‘πŸ»β€πŸš€ - Cadet

    There is a new repository at https://github.com/spryker-community/otel-php-docker

    This builds new multi platform docker images for opentelemetry:

    docker build bake --push
    

  • steffen.schneider
    steffen.schneider Spryker Solution Partner Posts: 4 πŸ§‘πŸ»β€πŸš€ - Cadet
    edited July 2023
    docker build --tag lstrojny/spryker-php-otel:latest --build-arg PHP_PECL_EXTENSIONS="apcu redis protobuf" -f alpine/3.17/8.1/Dockerfile .
    

  • marco.kaiser
    marco.kaiser Spryker Solution Partner Posts: 13 ✨ - Novice
  • Buenyamin Inan
    Buenyamin Inan Project Tech Lead Sprykee Posts: 8 πŸ§‘πŸ»β€πŸš€ - Cadet

    We can send custom variables via OpenTelemetry.

  • martin
    martin CTO @ VIABIRDS Technologies GmbH Spryker Solution Partner Posts: 49 πŸ§‘πŸ»β€πŸš€ - Cadet
    edited July 2023
  • Guido X Jansen
    Guido X Jansen Global Business & Technology Evangelist Sprykee Posts: 424 βš–οΈ - Guardians (admin)
  • Simon Brugger
    Simon Brugger Director Product Posts: 15 ✨ - Novice

    BOOOOMMMMM nice!

    Integrating OpenTelemetry is such a beautiful initiative with a kick-ass value add!

    Great job! πŸ‘

  • Guido X Jansen
    Guido X Jansen Global Business & Technology Evangelist Sprykee Posts: 424 βš–οΈ - Guardians (admin)
  • marco.kaiser
    marco.kaiser Spryker Solution Partner Posts: 13 ✨ - Novice

    Ok than its time to give me access to the infrastructure team to get it into to the paas :-P or lets talk about the excite hackathon to get this as a feature for the platform. :) @Simon Brugger