Welcome to the DevOps Workflows repository! This repository contains reusable GitHub Actions workflows and configurations for various CI/CD tasks, designed to streamline and automate development processes across different projects in the organization.
- Comprehensive Workflows: Predefined workflows for Go projects, Docker simulations, code coverage, quality checks, security testing, and more.
- Containerization: Seamless Docker integration to build and manage containerized applications.
- Infrastructure as Code: Terraform scripts for managing cloud infrastructure.
- Kubernetes Deployment: Configuration for deploying applications to Kubernetes clusters.
- Continuous Integration and Deployment: CircleCI configuration for end-to-end CI/CD pipelines.
-
.github/workflows/go/: Contains GitHub Actions workflows for Go projectssetup.yml: Setup Go environmentdocker-simulation.yml: Simulate Docker buildcode-coverage.yml: Run code coverage analysiscode-quality.yml: Run code quality checks using Golangci-lintdast.yml: Dynamic Application Security Testing using OWASP ZAPsast.yml: Static Application Security Testing using Gosecunit-tests.yml: Run unit testsintegration-tests.yml: Run integration testssystem-tests.yml: Run system tests
-
docker/: Contains Dockerfile and .dockerignore for Docker configurationsDockerfile: Multi-stage Dockerfile for building Go applications.dockerignore: Docker ignore file to exclude unnecessary files
-
terraform/: Contains Terraform configurationsmain.tf: Main Terraform configurationprovider.tf: Terraform provider configuration
-
kubernetes/: Contains Kubernetes deployment configurationsdeployment.yml: Kubernetes deployment file
-
circleci/: Contains CircleCI configurationconfig.yml: CircleCI configuration for CI/CD pipelines
To use a workflow from this repository in your project, call it in your own workflow files using the workflow_call event.
name: Example Workflow
on:
push:
branches:
- main
jobs:
example-job:
uses: your-org/devops-workflows/.github/workflows/go/setup.yml@main
with:
some-input: some-value- Setup Go: Sets up Go environment.
- Docker Simulation: Simulates Docker build.
- Code Coverage: Runs code coverage analysis.
- Code Quality: Runs code quality checks using Golangci-lint.
- DAST: Runs Dynamic Application Security Testing using OWASP ZAP.
- SAST: Runs Static Application Security Testing using Gosec.
- Unit Tests: Runs unit tests.
- Integration Tests: Runs integration tests.
- System Tests: Runs system tests.
- Dockerfile: Multi-stage Dockerfile for building and running Go applications.
- .dockerignore: Specifies files and directories to be excluded from the Docker build context.
- main.tf: Defines the main infrastructure components.
- provider.tf: Configures the Terraform provider for CIVO cloud.
- deployment.yml: Kubernetes deployment configuration for deploying applications.
- config.yml: CircleCI configuration for building, testing, and deploying applications.
For detailed usage and customization instructions, please refer to the Wiki.
We welcome contributions from the community! Please read our contributing guidelines to get started.
For support or questions, please reach out to origin@sefire.org.
This project is licensed under the MIT License - see the LICENSE file for details.
Happy coding! 🚀