Django Operator for Kubernetes
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Vladimir Smagin 06d5f8b2a4 go mod 7 月之前
build simple run 11 月之前
cmd/manager simple run 11 月之前
deploy bump version 7 月之前
pkg add labeling 7 月之前
vendor no more latest tag, use vendor, add jenkins pipeline 7 月之前
version bump version 7 月之前
.gitignore simple run 11 月之前
Dockerfile no more latest tag, use vendor, add jenkins pipeline 7 月之前
Jenkinsfile no more latest tag, use vendor, add jenkins pipeline 7 月之前 readme 11 月之前
VERSION fix helm chart 7 月之前
go.mod go mod 7 月之前
go.sum no more latest tag, use vendor, add jenkins pipeline 7 月之前
tools.go simple run 11 月之前

Django operator for Kubernetes

Can run simple projects with collectstatic and migrations at init stage. In some cases you can run non-django images like hello-world below, just set Django specific flags to False and statics path to /notexists.

Build sources

Prebuilt images

You can find images here

Deploy operator

kubectl -f deploy/service_account.yaml
kubectl -f deploy/role.yaml
kubectl -f deploy/role_binding.yaml
kubectl -f deploy/operator.yaml

Your first Django deployment

This resource can help you run your first image

kind: Django
  name: django-test
  pullPolicy: IfNotPresent
  replicas: 1

  # application port, default 8080
  appPort: 8080

  # path where you store static files, typicaly inside application home
  appStaticPath: "/app/static"

  # run migrations in init container before run
  runMigrate: False

  # run collectstatic in init container before run
  runCollectStatic: False

Full Spec

image specific settings

  • PullPolicy: its usual imagePullPolicy, default IfNotPresent
  • Image: string, required, format <image>:<tag>
  • Replicas: integer, default 1

manage resources

Read more about resources limiting here

  • PodRequests: default is empty
  • PodLimits: default is empty

Affinity and antiaffinity manual

  • Affinity: default is empty

set annotations to service and pod

  • ServiceAnnotations: <key>: <value> dict, default is empty
  • PodAnnotations: <key>: <value> dict, default is empty

application specific configuration

  • AppPort: integer, internal application port, default 8000
  • AppEnv: EnvVar array, default is empty
  • AppStaticPath: string, path to static files, default /app/static
  • RunMigrate: bool, run migrations at init stage, default False
  • RunCollectStatic: bool, run collectstatic at init stage, default False

Copyright by Vladimir Smagin (21h) 2019 email:
Project page: