Skip to content
This repository has been archived by the owner on Jun 17, 2023. It is now read-only.
/ base-project Public archive

A simple Exekube project you can use as boilerplate / starter

License

Notifications You must be signed in to change notification settings

exekube/base-project

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

base-project

The base-project is a minimal project that uses the Exekube framework. You can use it as a boilerplate to jump-start your cloud projects.

git clone git@github.com:exekube/base-project.git my-new-project
cd my-new-project

Full Tutorial

The project has a companion tutorial at https://docs.exekube.com/in-practice/getting-started

Tutorial Rundown

  1. git clone https://github.com/exekube/base-project my-new-project
  2. cd my-new-project
  3. alias xk='docker-compose run --rm xk'
  4. export ENV=dev
  5. export ORGANIZATION_ID=<YOUR-GCP-ORGANIZATION-ID>
  6. export BILLING_ID=<YOUR-GCP-BILLING-ID>
  7. In docker-compose.yaml: TF_VAR_project_id: <NEW-GCP-PROJECT-ID>
  8. xk gcloud auth login
  9. xk gcp-project-init
  10. xk up live/dev/infra
  11. xk up (same as xk up live/dev/k8s)
  12. xk down

Architecture

Note: Complex, production-grade cloud projects can have tens of project modules deployed into 5+ (dev, stg, prod, test, etc.) environments

The base-project has only 5 project modules:

modules/
├── administration-tasks
│   ├── main.tf
│   └── values.yaml
├── gcp-api-mgmt
│   └── main.tf
├── gke-cluster
│   └── main.tf
├── gke-network
│   └── main.tf
└── helm-initializer
    └── main.tf

deployed into 1 environment (dev):

live/
├── dev
│   ├── infra
│   │   ├── api-mgmt
│   │   │   └── terraform.tfvars
│   │   └── network
│   │       └── terraform.tfvars
│   ├── k8s
│   │   ├── cluster
│   │   │   └── terraform.tfvars
│   │   └── kube-system
│   │       ├── administration-tasks
│   │       │   └── terraform.tfvars
│   │       └── helm-initializer
│   │           └── terraform.tfvars
│   └── secrets
│       └── kube-system
│           ├── helm-tls
│           │   ├── ca.cert.pem.example
│           │   ├── helm.cert.pem.example
│           │   ├── helm.key.pem.example
│           │   ├── tiller.cert.pem.example
│           │   └── tiller.key.pem.example
│           ├── owner.json
│           └── owner.json.example
└── terraform.tfvars

About

A simple Exekube project you can use as boilerplate / starter

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages