Skip to content

Commit

Permalink
Initial commit
Browse files Browse the repository at this point in the history
  • Loading branch information
myHerbDev authored Nov 1, 2024
0 parents commit 740e061
Show file tree
Hide file tree
Showing 2 changed files with 135 additions and 0 deletions.
93 changes: 93 additions & 0 deletions .github/workflows/terraform.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,93 @@
# This workflow installs the latest version of Terraform CLI and configures the Terraform CLI configuration file
# with an API token for Terraform Cloud (app.terraform.io). On pull request events, this workflow will run
# `terraform init`, `terraform fmt`, and `terraform plan` (speculative plan via Terraform Cloud). On push events
# to the "main" branch, `terraform apply` will be executed.
#
# Documentation for `hashicorp/setup-terraform` is located here: https://github.com/hashicorp/setup-terraform
#
# To use this workflow, you will need to complete the following setup steps.
#
# 1. Create a `main.tf` file in the root of this repository with the `remote` backend and one or more resources defined.
# Example `main.tf`:
# # The configuration for the `remote` backend.
# terraform {
# backend "remote" {
# # The name of your Terraform Cloud organization.
# organization = "example-organization"
#
# # The name of the Terraform Cloud workspace to store Terraform state files in.
# workspaces {
# name = "example-workspace"
# }
# }
# }
#
# # An example resource that does nothing.
# resource "null_resource" "example" {
# triggers = {
# value = "A example resource that does nothing!"
# }
# }
#
#
# 2. Generate a Terraform Cloud user API token and store it as a GitHub secret (e.g. TF_API_TOKEN) on this repository.
# Documentation:
# - https://www.terraform.io/docs/cloud/users-teams-organizations/api-tokens.html
# - https://help.github.com/en/actions/configuring-and-managing-workflows/creating-and-storing-encrypted-secrets
#
# 3. Reference the GitHub secret in step using the `hashicorp/setup-terraform` GitHub Action.
# Example:
# - name: Setup Terraform
# uses: hashicorp/setup-terraform@v1
# with:
# cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }}

name: 'Terraform'

on:
push:
branches: [ "main" ]
pull_request:

permissions:
contents: read

jobs:
terraform:
name: 'Terraform'
runs-on: ubuntu-latest
environment: production

# Use the Bash shell regardless whether the GitHub Actions runner is ubuntu-latest, macos-latest, or windows-latest
defaults:
run:
shell: bash

steps:
# Checkout the repository to the GitHub Actions runner
- name: Checkout
uses: actions/checkout@v3

# Install the latest version of Terraform CLI and configure the Terraform CLI configuration file with a Terraform Cloud user API token
- name: Setup Terraform
uses: hashicorp/setup-terraform@v1
with:
cli_config_credentials_token: ${{ secrets.TF_API_TOKEN }}

# Initialize a new or existing Terraform working directory by creating initial files, loading any remote state, downloading modules, etc.
- name: Terraform Init
run: terraform init

# Checks that all Terraform configuration files adhere to a canonical format
- name: Terraform Format
run: terraform fmt -check

# Generates an execution plan for Terraform
- name: Terraform Plan
run: terraform plan -input=false

# On push to "main", build or change infrastructure according to Terraform configuration files
# Note: It is recommended to set up a required "strict" status check in your repository for "Terraform Cloud". See the documentation on "strict" required status checks for more information: https://help.github.com/en/github/administering-a-repository/types-of-required-status-checks
- name: Terraform Apply
if: github.ref == 'refs/heads/"main"' && github.event_name == 'push'
run: terraform apply -auto-approve -input=false
42 changes: 42 additions & 0 deletions README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,42 @@
# DevSphere
DevSphere: Open-Source Eco-Friendly Codes, Apps, Scripts, and Solutions for Developers
DevSphere is an open-source initiative that aims to provide developers with a comprehensive collection of eco-friendly codes, apps, scripts, and solutions to minimize their environmental impact while coding.

Mission
Our mission is to empower developers to make informed choices and adopt sustainable practices when developing software applications. By integrating sustainability into the development process from the outset, we can collectively reduce the environmental footprint of the software industry.

Scope
DevSphere encompasses a wide range of eco-friendly resources, including:

Energy-efficient coding practices: Techniques for reducing energy consumption during software development and execution.

Resource-optimized algorithms: Algorithms that minimize resource usage, such as CPU, memory, and network bandwidth.

Green cloud computing: Strategies for utilizing cloud computing resources in an environmentally responsible manner.

Sustainable software design: Approaches to designing software applications with sustainability in mind, considering factors such as lifecycle analysis and waste reduction.

Contributions
We welcome contributions from developers worldwide to expand and enhance the DevSphere repository. Submissions can include:

Eco-friendly code snippets: Examples of code demonstrating energy efficiency, resource optimization, or other sustainable practices.

Open-source eco-friendly applications: Software applications designed with sustainability in mind, covering various domains such as web development, mobile development, and data science.

Scripts and tools for eco-friendly development: Tools that assist developers in adopting sustainable practices, such as energy consumption monitoring or code optimization tools.

Documentation and tutorials: Educational resources that guide developers on integrating sustainability into their development workflows.

Impact
The adoption of eco-friendly coding practices and solutions can have a significant positive impact on the environment, including:

Reduced energy consumption: By optimizing code and utilizing energy-efficient algorithms, developers can lower the energy demands of software applications.

Minimized resource usage: Efficient resource utilization can reduce the strain on computing infrastructure, leading to lower energy consumption and resource conservation.

Sustainable cloud computing practices: Choosing eco-friendly cloud providers and optimizing cloud resource usage can minimize the environmental impact of cloud-based applications.

Sustainable software design: Designing software with sustainability in mind can extend the lifespan of applications, reduce waste, and minimize environmental hazards associated with hardware disposal.

Join the Movement
We invite developers worldwide to join the DevSphere initiative and contribute to the collective effort towards sustainable software development. Together, we can make a positive impact on the environment and promote a more sustainable future for the software industry.

0 comments on commit 740e061

Please sign in to comment.