iacker

module
v0.0.2 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 17, 2023 License: MIT

README

Iacker

NOTE: This project is a work in progress. DON'T USE IT TO PRODUCTION.

Go Report Card GoDoc License

Iacker is a development framework to help cloud-native developers hugging with the infrastructure as a code's world.

The goal is to implement the open features for service providers.

Introduction

Features
  • Model-driven: Define the resource schema by CUE and unified specification.
  • Developer-first: All workflows in code, collaborate with others with GitOps workflow.
  • Generator-oriented: Build your own generator using the unified specification. Many popular IaC tools are provided.
Real-world example

We used it to create the Terraform Provider for Guance Cloud and other related services and tools.

Logo

Roadmap

All the features are described in the proposals folder. It is inspired by the GRFC Template used in Google. You can find the implementation status in the table below.

The proposal workflow is described in the Guance Cloud Proposal Governance Guidelines.

Architecture

Architecture defines the basic concepts and principles of Iacker architecture.

# Title How-tos
A001 API as Code in Iacker How Iacker governance our API
A002 Resource Management Specification How to define a new cloud resource
A003 Generator Framework How to build developer tools by Iacker
A004 Resource Management Server How to develop once, run as multiple protocols
Protocols

At Iacker, we use a unified resource management framework to expose various protocols for different use cases.

Protocols describe the protocols used in Iacker. Please follow the protocol specification (coming soon) to add a new protocol.

# Title How-tos
P001 Cloud Control API Cloud Control API and the implementations
Developer Tools

Developer tools are the core of developer experience infrastructure (DXI). It provides tools to help developers build, test, and deploy their API callings.

# Title How-tos
T001 Resource Explorer How to discover and interact with cloud resource
T002 Terraform Provider How to build the engineering capability for X as Code world

Developer Guide

See the hack folder to understand how to build this project.

Contributing

We welcome contributions to Iacker. Please see the Contributing Guidelines for more information.

Directories

Path Synopsis
cmd
internal
cmd
cue
pkg

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL