Project Name | Stars | Downloads | Repos Using This | Packages Using This | Most Recent Commit | Total Releases | Latest Release | Open Issues | License | Language |
---|---|---|---|---|---|---|---|---|---|---|
Awesome Cheatsheets | 32,908 | 4 days ago | 85 | mit | JavaScript | |||||
👩💻👨💻 Awesome cheatsheets for popular programming languages, frameworks and development tools. They include everything you should know in one single file. | ||||||||||
Django Defectdojo | 2,716 | 11 hours ago | 286 | bsd-3-clause | HTML | |||||
DefectDojo is a DevSecOps and vulnerability management tool. | ||||||||||
Shynet | 2,148 | a month ago | 40 | apache-2.0 | Python | |||||
Modern, privacy-friendly, and detailed web analytics that works without cookies or JS. | ||||||||||
Qikqiak.com | 998 | 9 days ago | 196 | HTML | ||||||
关注 chatgpt、容器、kubernetes、devops、python、golang、微服务等技术 🎉🎉🎉 | ||||||||||
Fabricio | 238 | 3 years ago | 80 | April 25, 2020 | 7 | mit | Python | |||
Docker deploy automation tool | ||||||||||
Froggy Service | 164 | a year ago | 5 | mit | Vue | |||||
邱威傑市民服務網站 | ||||||||||
Kubernetes_django_postgres_redis | 163 | 3 years ago | 7 | apache-2.0 | Python | |||||
A Django/Postgres/Redis Kubernetes Template | ||||||||||
Netbox Chart | 136 | a month ago | 14 | apache-2.0 | Mustache | |||||
A Helm chart for NetBox | ||||||||||
Kubernetes Django | 122 | 7 years ago | 6 | Python | ||||||
Scalable and resilient Django with Kubernetes. | ||||||||||
Seal | 116 | a year ago | mit | Python | ||||||
django-base-templates 主要为 django 开发DEMO, 支持 非前后端分离 和 前后端分离模式 。 |
Use this repository to submit Charts for Helm. All of them are used into APSL organitzation to deploy our Django applications over GKE.
First of all you need to install the Helm
client following the next
instructions:
curl https://raw.githubusercontent.com/kubernetes/helm/master/scripts/get > get_helm.sh
chmod 700 get_helm.sh
./get_helm.sh
For deploys is also needed the server portion of Helm, Tiller
(it
talks to a remote Kubernetes cluster).
To install it into the cluster, simply runs:
helm init
After the Helm 2 update, there were some changes that caused changes to the
Helm package generation process for this repository and required additional
software.
Currently, you require install ChartMuseum
following the next instructions:
curl -LO https://s3.amazonaws.com/chartmuseum/release/latest/bin/linux/amd64/chartmuseum
chmod +x ./chartmuseum
mv ./chartmuseum /usr/local/bin
For more information take a look at: Install Helm Install ChartMuseum
To use this repository as a k8s charts repository for deploy your apps you have to configure helm adding it:
helm repo add apsl https://raw.githubusercontent.com/APSL/kubernetes-charts/master/packages/
Check that it has been added.
helm repo list
NAME URL
stable https://charts.helm.sh/stable
incubator https://charts.helm.sh/incubator
apsl https://raw.githubusercontent.com/APSL/kubernetes-charts/master/packages/
local http://127.0.0.1:8879
After Helm upgrade
kubernetes-charts/
├── packages/ # Reult folder where construct temporaly packages before be installed.
| ...
| ├── index.yaml # Contains the configuration for a django app deployment.
| ├── django-nginx-uwsgi-0.1.1.tgz # Django package. It includes nginx, uwsgi, redis, varnish packages.
| ├── uwsgi-0.1.1.tgz # Uwsgi package.
| └── varnish-0.1.0.tgz # Varnish package.
...
├── django/ # Contains the configuration for a django app deployment.
| ├── .helmignore # List of patterns to ignore when build the package.
| ├── Chart.yaml # A YAML file containing information about the chart.
| ├── requirements.yaml # List of required charts and their overriden configuration.
| ├── values.yaml # The default configuration values for this chart
| ├── charts/ # Include all dependency packages
| | # IMPORTANT: No commit packages into.
| └── templates/ # A directory of templates that, when combined with values.
| └── _helpers.tpl # Difinition of template variables.
| # Note that not require templates because this chart only encapsulate
| # dependencies.
...
└── uwsgi/ # Contains the configuration for a uwsgi deployment.
├── charts/ # Folder that contains built packages for the dependecies of this chart.
| # IMPORTANT: No commit packages into, will be auto-generated.
├── .helmignore # List of patterns to ignore when build the package.
├── Chart.yaml # A YAML file containing information about the chart.
├── requirements.yaml # List of required charts and their overriden configuration.
├── values.yaml # The default configuration values for this chart
└── templates/ # A directory of templates that, when combined with values.
├── NOTES.txt # A plain text file containing short usage notes (rendered with Go Template engine)
├── _helpers.tpl # Definition of template variables.
├── deployment.yaml # Structure of deployment for this chart.
├── secrets.yaml # Base secrets for the chart.
└── service.yaml # Structure of service for this chart.
Take a look to The Chart File Structure to get acquainted to chart structure.
This section will try to explain you how to use this repository to deploy your applications.
Will show you the procedure to deploy a Django application using this charts.
This example we'll deploy an app called demo, suposing you satisfy all dependencies.
helm install PACKAGE --version VERSION --namespace NAMESPACE --name RELEASE_NAME -f VALUES
SECRET_KEY
or
DATABASE_PASSWORD
, etc.helm install apsl/django-nginx-uwsgi --version 0.1.1 --namespace demo --name r-demo -f your_demo_app_values.yaml
Helm Template is a plugin used to render the resultant deployment of your chart.
helm plugin install https://github.com/technosophos/helm-template
helm template -n NAMESPACE -r RELEASE_NAME -f VALUES --notes CHART > output.yaml
helm template -n demo -r r-demo -f your_demo_app_values.yaml --notes . > ~/k8s-deployment.yaml
This section show you how structure the values to deploy a single
application using django-nginx-uwsgi
chart.
# your_demo_app_values.yaml
global:
image:
uwsgi: eu.gcr.io/project/my-app-uwsgi
nginx: eu.gcr.io/project/my-app-nginx
dataConfigMap:
- name: REDIS_HOST
value: "10.0.0.1"
- name: DEFAULT_FROM_EMAIL
key: django.emailDefaultFromEmail
value: Demo <[email protected]>
- name: AWS_STORAGE_BUCKET_NAME
value: my-app-prod
- name: AWS_ACCESS_KEY_ID
value: aws-key-id
dataSecrets:
- name: AWS_SECRET_ACCESS_KEY
value: secret-aws-access-ley
app:
deployment:
probes:
livenessEnabled: true
liveness:
enabled: false
replicaCount: 1
strategy:
rollingUpdate:
maxSurge: 1
maxUnavailable: 0
type: RollingUpdate
secrets:
secretKey: django-secret-key-value
passwordDB: django-passwd-db-value
sentryDSN: sentry-dsn-value
configMap:
enableSentry: "True"
databaseHost: 127.0.0.1
databaseName: myappdb
databasePort: "5432"
databaseUser: usrmyapp
enableBasicAuth: "False"
enableHttpsRedirect: "True"
enable3wRedirect: "True"
varnish:
enabled: true
crons:
enabled: false
redis:
enabled: false
There are some notes and some command line instructions that can be useful as a guide how to develop new charts.
To create a new chart:
helm create CHART
helm create django-nginx-uwsgi
After develop your template chart, you can validate if your chart is valid running a lint.
helm lint django-nginx-uwsgi
If you contribute creating new Charts or improving the existent you should do this:
To simplify all this tasks, you only have to execute this:
make helm-up & \
make helm-packages && \
helm repo index packages
NOTE: Its possible see some non-liveness message using make command to build packages. If the message is like "No requirements found in ~/kubernetes-charts/nginx-uwsgi/charts" ignore it. It is because the commnand script try to get dependencies of all packages even if it has not charts (the dependency folder).
We will generate a new chart packagedemo:
helm create packagedemo
cd packages
helm serve
helm package -u -d packages uwsgi
helm package -u -d packages nginx
helm package -u -d packages packagedemo
or use the Makefile commands:
make helm-packages
helm repo index packages
or use the Makefile commands:
make helm-index
helm template packages/packagedemo-0.0.1.tgz -n demo -r r-demo -f your_demo_app_values.yaml --notes . > ~/k8s-deployment.yaml
or
helm template ./django-nginx-uwsgi