No description
Find a file Use this template
Mauritz_Uphoff 5fe30ffa1a
All checks were successful
CI / Check License Header (push) Successful in 3s
CI / TruffleHog Secrets Scan (push) Successful in 4s
CI / Terraform CI (push) Successful in 8s
Merge pull request 'chore: update provider and git ignore' (#3) from chore/update-provider-gitignore into main
Reviewed-on: #3
2025-11-12 10:58:23 +00:00
.forgejo ci: fix setup tf step 2025-10-31 13:44:29 +01:00
.gitignore chore: update provider and git ignore 2025-11-12 11:57:57 +01:00
.terraform-version Initial commit 2025-10-31 13:24:56 +01:00
.terraform.lock.hcl Initial commit 2025-10-31 13:35:20 +01:00
00-backend.tf Initial commit 2025-10-31 13:35:20 +01:00
00-provider.tf chore: update provider and git ignore 2025-11-12 11:57:57 +01:00
01-variables.tf Initial commit 2025-10-31 13:35:20 +01:00
02-example.tf Initial commit 2025-10-31 13:31:58 +01:00
backend.conf.example Initial commit 2025-10-31 13:31:58 +01:00
CHANGELOG.md Initial commit 2025-10-31 13:22:18 +01:00
LICENSE added license 2025-10-31 13:26:53 +01:00
MAINTAINERS.md Initial commit 2025-10-31 13:22:18 +01:00
README.md Update README.md 2025-10-31 14:09:34 +01:00

[Name of the Best Practice Template]

Overview

This repository provides a standardized template to solve [specific problem or use case]. It is designed to ensure quality, maintainability, and security for [mention the technology, e.g., Terraform module, CI/CD pipeline, etc.] on STACKIT.

The main goal of this Best Practice (BP) is to [briefly describe the primary benefit, e.g., "deploy a secure and cost-effective Kubernetes cluster on STACKIT"].

License Header

/*
Copyright 2025 STACKIT GmbH & Co. KG <maintainer.email@stackit.cloud>

Use of this source code is governed by an MIT-style
license that can be found in the LICENSE file or at
https://opensource.org/licenses/MIT.
*/

Setup Git GPG Key

  1. Generate GPG Key
gpg --full-generate-key
  1. Configure Git to use the Key
git config --global user.signingkey <GPG KEY ID>
git config --global commit.gpgsign true
  1. Read GPG Key and add it to STACKIT Git
gpg --armor --export <GPG KEY ID>

Copy the Public Key block and add it into your Profile settings on the STACKIT Git instance. https://docs.codeberg.org/security/gpg-key/ https://gist.github.com/troyfontaine/18c9146295168ee9ca2b30c00bd1b41e

Prerequisites

Before using this template, ensure you have the following:

  • Tools:
    • [Tool Name, e.g., Terraform] version x.y.z or higher
    • [Tool Name, e.g., Git]
  • Access & Permissions:
    • [Required access, e.g., Project Member permissions on a STACKIT project]
    • STACKIT provider credentials configured

How to Use

Follow these steps to implement the template:

  1. Clone the repository:

    git clone [repository-url]
    cd [repository-name]
    
  2. Configure the variables:

    • Create a terraform.tfvars file or set environment variables as described in the Configuration section below.
  3. Initialize and apply:

    terraform init
    terraform plan
    terraform apply
    
  4. Verify the deployment:

    • [Provide a simple command or step to check if the deployment was successful].

Configuration

The following variables can be configured.

Variable Name Description Type Default Value Required
project_id The STACKIT project ID. string null Yes
region The region where resources will be created. string eu01 No
... ... ... ... ...

Testing

This repository includes automated and manual testing procedures to ensure quality.

Automated Tests

  • Validation: terraform validate is automatically executed on every commit via the CI/CD pipeline.
  • Security Scans: A secret check is performed on every push to the repository.

Manual Tests

The following aspects should be tested manually after deployment:

  • [Manual Test Case 1, e.g., "Verify connectivity to the database instance."]
  • [Manual Test Case 2, e.g., "Check permissions for the created service account."]

Dependencies

This template relies on the following pinned versions:

  • Provider [Provider Name, e.g., STACKIT]: ~> 0.69.0

Changelog

All notable changes to this project are documented in the CHANGELOG.md file.