Skip to content

Merge Currrent Go Migration to Main#5

Merged
ryansteffan merged 48 commits into
mainfrom
go-migration
Jul 1, 2026
Merged

Merge Currrent Go Migration to Main#5
ryansteffan merged 48 commits into
mainfrom
go-migration

Conversation

@ryansteffan

Copy link
Copy Markdown
Owner

This pull request migrates the simply_syslog project from Python to Go, significantly refactoring the codebase, build, and deployment processes. It introduces a new Go-based server implementation, updates Docker and development tooling, and revises the documentation to reflect these changes. The most important changes are grouped below by theme.


Migration to Go & Codebase Refactor:

  • Replaces the Python implementation with a new Go server (cmd/simplysyslog/main.go), introducing a modular pipeline architecture and support for UDP, with TCP and TLS in progress.
  • Removes legacy Python configuration and logging files (config/config.json, config/server_logging_config.json). [1] [2]

Build & Deployment Updates:

  • Refactors the Dockerfile to build and run the Go application, introduces multi-stage builds, and updates environment variables for configuration.
  • Adds a development docker-compose-dev.yml for easier local testing of the Go-based server.
  • Updates .dockerignore to exclude development and configuration files from Docker builds.
  • Removes .idea/.gitignore entries for workspace-specific files.

Documentation:

  • Updates the README.md to describe the Go implementation, new build and deployment instructions, and revised configuration options. Clarifies the status of TCP/TLS features and environment-based configuration. [1] [2] [3] [4]

These changes modernize the project, improve performance and maintainability, and set the stage for future feature development.

Note: This PR description was generated via github copilot, I have manually reviewed it to be accurate.

…d the syslog pipeline to use servers logger.
- Updated the configuration structure to include server modes and self-logging levels.
- Introduced mutex for thread-safe access to global configuration.
- Implemented functions to load and save configuration from/to JSON files.
- Added a new parser package with a placeholder for parser processing logic.
- Enhanced the pipeline package to manage node states and processing more effectively.
- Removed the old server implementation and replaced it with processor functions for TCP and UDP servers.
- Deleted unused syslog parsing logic and utility functions.
- Introduced a writer package with a placeholder for writer processing logic.
- Changed base image in Dockerfile to golang:1.25.1-bookworm.
- Added installation of build-essential and ca-certificates in Dockerfile.
- Updated environment variables for server configuration in main.go.
- Enhanced configuration generation logic to include SELF_LOGGING_LEVEL.
- Enabled default file writer in writer.go.
- Cleaned up docker-compose files for better clarity and consistency.
- Introduced docker-compose-dev.yml for development setup.
@ryansteffan
ryansteffan merged commit 9143561 into main Jul 1, 2026
4 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant