Skip to content

Commit

Permalink
Merge pull request #142 from shalb/shell-module
Browse files Browse the repository at this point in the history
Renaming
  • Loading branch information
romanprog authored Oct 7, 2021
2 parents 0998e43 + f6c259e commit e059fe8
Show file tree
Hide file tree
Showing 61 changed files with 1,902 additions and 871 deletions.
2 changes: 2 additions & 0 deletions cmd/cdev/includes.go
Original file line number Diff line number Diff line change
Expand Up @@ -6,6 +6,8 @@ import (
_ "github.com/shalb/cluster.dev/pkg/backend/gcs"
_ "github.com/shalb/cluster.dev/pkg/backend/s3"
_ "github.com/shalb/cluster.dev/pkg/logging"
_ "github.com/shalb/cluster.dev/pkg/modules/shell/common"
_ "github.com/shalb/cluster.dev/pkg/modules/shell/kubectl"
_ "github.com/shalb/cluster.dev/pkg/modules/terraform/helm"
_ "github.com/shalb/cluster.dev/pkg/modules/terraform/kubernetes"
_ "github.com/shalb/cluster.dev/pkg/modules/terraform/printer"
Expand Down
14 changes: 7 additions & 7 deletions docs/aws-cloud-provider.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Deploying to AWS

cdev uses project templates to generate projects in a desired cloud. This section describes steps necessary to start working with cdev in AWS cloud using [AWS-EKS](https://github.com/shalb/cdev-aws-eks) template.
cdev uses stack templates to generate projects in a desired cloud. This section describes steps necessary to start working with cdev in AWS cloud using [AWS-EKS](https://github.com/shalb/cdev-aws-eks) stack template.

## Prerequisites to use AWS-EKS template
## Prerequisites to use AWS-EKS stack template

1. Terraform version 13+.

Expand Down Expand Up @@ -73,7 +73,7 @@ aws s3 mb s3://cdev-states

### DNS Zone

For the AWS-EKS template example, you need to define a Route 53 hosted zone. Options:
In AWS-EKS stack template example you need to define a Route 53 hosted zone. Options:

1. You already have a Route 53 hosted zone.

Expand All @@ -83,7 +83,7 @@ For the AWS-EKS template example, you need to define a Route 53 hosted zone. Opt

## AWS-EKS

[AWS-EKS](https://github.com/shalb/cdev-aws-eks) is a cdev template that creates and provisions Kubernetes clusters in AWS cloud by means of Amazon Elastic Kubernetes Service (EKS).
[AWS-EKS](https://github.com/shalb/cdev-aws-eks) is a cdev stack template that creates and provisions Kubernetes clusters in AWS cloud by means of Amazon Elastic Kubernetes Service (EKS).

### AWS-EKS starting guide

Expand All @@ -96,7 +96,7 @@ For the AWS-EKS template example, you need to define a Route 53 hosted zone. Opt
```

!!! tip
The template's repo could contain several options for project generation. To list available generators, use ```--list-templates``` option:
The stack template's repo could contain several options for project generation. To list available generators, use ```--list-templates``` option:
```bash
cdev project create https://github.com/shalb/cdev-aws-eks --list-templates
Expand All @@ -120,7 +120,7 @@ For the AWS-EKS template example, you need to define a Route 53 hosted zone. Opt

* backend.yaml - configures backend for cdev states (including Terraform states). Uses variables from project.yaml. See [backend docs](https://cluster.dev/project-configuration/#backends).

* infra.yaml - describes infrastructure configuration. See [infrastructure docs](https://cluster.dev/project-configuration/#infrastructure).
* infra.yaml - describes stack configuration. See [infrastructure docs](https://cluster.dev/project-configuration/#infrastructure).

4. Run `cdev plan` to build the project. In the output you will see an infrastructure that is going to be created after running `cdev apply`.

Expand All @@ -132,7 +132,7 @@ For the AWS-EKS template example, you need to define a Route 53 hosted zone. Opt
!!! tip
We highly recommend to run `cdev apply` in a debug mode so that you could see cdev logging in the output: `cdev apply -l debug`
6. After `cdev apply` is successfully executed, in the output you will see the ArgoCD URL of your cluster. Sign in to the console to check whether ArgoCD is up and running and the template has been deployed correctly. To sign in, use the "admin" login and the bcrypted password that you have generated for the infra.yaml.
6. After `cdev apply` is successfully executed, in the output you will see the ArgoCD URL of your cluster. Sign in to the console to check whether ArgoCD is up and running and the stack template has been deployed correctly. To sign in, use the "admin" login and the bcrypted password that you have generated for the infra.yaml.
7. Displayed in the output will be also a command on how to get kubeconfig and connect to your Kubernetes cluster.
Expand Down
10 changes: 5 additions & 5 deletions docs/cli-commands.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,22 +2,22 @@

Available commands:

* `apply` Apply all modules - build project (see build command), calculate dependencies, create and check graph. Deploy all modules according to the graph.
* `apply` Apply all units - build project (see build command), calculate dependencies, create and check graph. Deploy all units according to the graph.

* `build` Build all modules - read project configuration. Check it, render templates and generate code of all modules in tmp dir: `./cluster.dev/project-name/`.
* `build` Build all units - read project configuration. Check it, render stack templates and generate code of all units in tmp dir: `./cluster.dev/project-name/`.

* `destroy` Destroy all modules - build project (see build command), calculate dependencies, create and check the reverse graph. Run destroy scenario for all modules according to the graph.
* `destroy` Destroy all units - build project (see build command), calculate dependencies, create and check the reverse graph. Run destroy scenario for all units according to the graph.

* `help` Help about any command.

* `output` Display the template's output.

* `plan` Plan all modules - build project. Try to run the plan scenario for modules. Modules often refer to the remote states of other modules. Because of this, the plan command may fail if the remote state does not already exist.
* `plan` Plan all units - build project. Try to run the plan scenario for units. Units often refer to the remote states of other units. Because of this, the plan command may fail if the remote state does not already exist.

* `project` Manage projects:

* `info` Read project and info message.
* `create` Creates new 'project' from template in an interactive mode.
* `create` Create new 'project' from a stack template in an interactive mode.

* `secret` Manage secrets:

Expand Down
2 changes: 1 addition & 1 deletion docs/cli-options.md
Original file line number Diff line number Diff line change
Expand Up @@ -22,7 +22,7 @@

* `--interactive` Use interactive mode for project generation.

* `--list-templates` Show all available templates for project generator.
* `--list-templates` Show all available stack templates for project generator.

## Destroy flags

Expand Down
12 changes: 6 additions & 6 deletions docs/digital-ocean-cloud-provider.md
Original file line number Diff line number Diff line change
@@ -1,8 +1,8 @@
# Deploying to DigitalOcean

cdev uses project templates to generate projects in a desired cloud. This section describes steps necessary to start working with cdev in DigitalOcean cloud using [DO-k8s](https://github.com/shalb/cdev-do-k8s) template.
cdev uses stack templates to generate projects in a desired cloud. This section describes steps necessary to start working with cdev in DigitalOcean cloud using [DO-k8s](https://github.com/shalb/cdev-do-k8s) stack template.

## Prerequisites to use DO-k8s template
## Prerequisites to use DO-k8s stack template

1. Terraform version 13+.

Expand Down Expand Up @@ -54,7 +54,7 @@ For details on using DO spaces bucket as a backend, see [here](https://www.digit

## DO-k8s

[DO-k8s](https://github.com/shalb/cdev-do-k8s) is a cdev template that creates and provisions Kubernetes clusters in the DigitalOcean cloud.
[DO-k8s](https://github.com/shalb/cdev-do-k8s) is a cdev stack template that creates and provisions Kubernetes clusters in the DigitalOcean cloud.

### DO-k8s starting guide

Expand All @@ -67,7 +67,7 @@ For details on using DO spaces bucket as a backend, see [here](https://www.digit
```

!!! tip
The template's repo could contain several options for project generation. To list available generators, use ```--list-templates``` option:
The stack template's repo could contain several options for project generation. To list available generators, use ```--list-templates``` option:
```bash
cdev project create https://github.com/shalb/cdev-do-k8s --list-templates
Expand All @@ -91,7 +91,7 @@ For details on using DO spaces bucket as a backend, see [here](https://www.digit

* backend.yaml - configures backend for cdev states (including Terraform states). Uses variables from project.yaml. See [backend docs](https://cluster.dev/project-configuration/#backends).

* infra.yaml - describes infrastructure configuration. See [infrastructure docs](https://cluster.dev/project-configuration/#infrastructure).
* infra.yaml - describes stack configuration. See [infrastructure docs](https://cluster.dev/project-configuration/#infrastructure).

4. Run `cdev plan` to build the project. In the output you will see an infrastructure that is going to be created after running `cdev apply`.

Expand All @@ -103,7 +103,7 @@ For details on using DO spaces bucket as a backend, see [here](https://www.digit
!!! tip
We highly recommend to run `cdev apply` in a debug mode so that you could see cdev logging in the output: `cdev apply -l debug`
6. After `cdev apply` is successfully executed, in the output you will see the ArgoCD URL of your cluster. Sign in to the console to check whether ArgoCD is up and running and the template has been deployed correctly. To sign in, use the "admin" login and the bcrypted password that you have generated for the infra.yaml.
6. After `cdev apply` is successfully executed, in the output you will see the ArgoCD URL of your cluster. Sign in to the console to check whether ArgoCD is up and running and the stack template has been deployed correctly. To sign in, use the "admin" login and the bcrypted password that you have generated for the infra.yaml.
7. Displayed in the output will be also a command on how to get kubeconfig and connect to your Kubernetes cluster.
Expand Down
14 changes: 7 additions & 7 deletions docs/documentation-structure.md
Original file line number Diff line number Diff line change
Expand Up @@ -5,22 +5,22 @@ This page explains how the cdev documentation is organized, and is aimed to help
!!! info
Please note that cdev documentation is intended for two groups of users and is divided respectively.

* **Infrastructure users** - engineers who want to create infrastructures from ready-made templates. No Terraform or Helm knowledge required. Just choose a template, fill in required variables and have your infrastructure running. We provide you with ready-made templates, and metadata dialogs generators.
* **Stack users** - engineers who want to create infrastructures from ready-made stack templates. No Terraform or Helm knowledge required. Just choose a stack template, fill in required variables and have your infrastructure running. We provide you with ready-made stack templates, and metadata dialogs generators.

* **Infrastructure developers** - engineers who want to create infrastructure templates of their own, using existing blocks (Terraform modules, Helm charts, k8s manifests) so that other users could create infrastructures based on them. This approach requires strong skills and working experience with Terraform modules and Helm charts development.
* **Stack developers** - engineers who want to create stack templates of their own, using existing blocks (Terraform modules, Helm charts, k8s manifests) so that other users could create infrastructures based on them. This approach requires strong skills and working experience with Terraform modules and Helm charts development.

## Website structure

* **Home** - introductory section that gives basic knowledge about cdev.

* **Getting Started** - contains the list of preliminary conditions needed to start working with cdev, steps on configuring cloud access, and guides on creating projects with cdev templates.
* **Getting Started** - contains the list of preliminary conditions needed to start working with cdev, steps on configuring cloud access, and guides on creating projects with cdev stack templates.

!!! info
Is intended for infrastructure users.
Is intended for stack users.

* **Template Development** - contains description of template blocks, such as functions and modules, and information on creating infrastructure templates (to be added soon).
* **Stack Template Development** - contains description of stack template blocks, such as functions and units, and information on creating stack templates (to be added soon).

!!! info
Is intended for infrastructure developers.
Is intended for stack developers.

* **Reference** - contains description of project objects, and supplemental information that could be useful both for infrastructure users and developers.
* **Reference** - contains description of project objects, and supplemental information that could be useful both for the stack users and developers.
6 changes: 3 additions & 3 deletions docs/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,9 +2,9 @@

## What is it?

Cluster.dev is an open-source tool designed to manage Cloud Native Infrastructures with simple declarative manifests - infrastructure templates. It allows you to describe a whole infrastructure and deploy it with a single tool.
Cluster.dev is an open-source tool designed to manage cloud native infrastructures with simple declarative manifests - stack templates. It allows you to describe a whole infrastructure and deploy it with a single tool.

The infrastructure templates could be based on Terraform modules, Kubernetes manifests, Shell scripts, Helm charts, Kustomize and ArgoCD/Flux applications, OPA policies etc. Cluster.dev sticks those components together so that you could deploy, test and distribute a whole set of components with pinned versions.
The stack templates could be based on Terraform modules, Kubernetes manifests, Shell scripts, Helm charts, Kustomize and ArgoCD/Flux applications, OPA policies etc. Cluster.dev sticks those components together so that you could deploy, test and distribute a whole set of components with pinned versions.

## Principle Diagram

Expand All @@ -16,7 +16,7 @@ The infrastructure templates could be based on Terraform modules, Kubernetes man

## How does it work?

With cluster.dev you create or download a predefined template, set the variables, then render and deploy a whole infra set.
With cluster.dev you create or download a predefined stack template, set the variables, then render and deploy a whole stack.

Capabilities:

Expand Down
Loading

0 comments on commit e059fe8

Please sign in to comment.