Commit 9a084db7 authored by Simon Cornet's avatar Simon Cornet
Browse files

initial commit

parents
Loading
Loading
Loading
Loading

.drone.yaml

0 → 100644
+27 −0
Original line number Diff line number Diff line
---
kind: 'pipeline'
name: 'build'
type: 'kubernetes'

steps:

# deploy to kubernetes
- image: 'docker.io/bitnami/kubectl'
  name: 'deploy'
  pull: 'always'
  when:
    branch:
    - 'master'
    event:
    - 'push'

  settings:
    mtu: '1440'

  environment:
    KUBE_CONFIG:
      from_secret: 'drone_kube_config_kaas'

  commands:
  - 'echo "$KUBE_CONFIG" > $HOME/.kube/config'
  - 'kubectl apply -f manifests'
+6 −0
Original line number Diff line number Diff line
# namespace
---
apiVersion: 'v1'
kind: 'Namespace'
metadata:
  name: 'start-simoncor-net'
+14 −0
Original line number Diff line number Diff line
# secret
---
apiVersion: 'v1'
kind: 'Secret'
type: 'kubernetes.io/dockerconfigjson'
metadata:
  name: 'cr-simoncor-net-login'
  namespace: 'start-simoncor-net'

data:
  .dockerconfigjson:
    "eyJhdXRocyI6eyJjci5zaW1vbmNvci5uZXQiOnsidXNlcm5hbWUiOiJzaWVtcGllIiwicGFzc3\
     dvcmQiOiJXdXdKdk44VGZrN05VciIsImVtYWlsIjoic2ltb25Ac2ltb25jb3IubmV0IiwiYXV0\
     aCI6ImMybGxiWEJwWlRwWGRYZEtkazQ0Vkdack4wNVZjZz09In19fQ=="
+102 −0
Original line number Diff line number Diff line
# deployment
---
apiVersion: 'apps/v1'
kind: 'Deployment'
metadata:
  name: 'start-simoncor-net'
  namespace: 'start-simoncor-net'
  labels:
    app: 'start-simoncor-net'

spec:
  replicas: 2
  selector:
    matchLabels:
      app: 'start-simoncor-net'
  template:
    metadata:
      labels:
        app: 'start-simoncor-net'

    spec:

      # login on docker.io
      imagePullSecrets:
        - name: 'cr-simoncor-net-login'

      containers:
        - name: 'start-simoncor-net'
          image: 'cr.simoncor.net/siempie/start-simoncor-net'
          imagePullPolicy: 'Always'

          resources:
            limits:
              cpu: '500m'
              memory: '16Mi'
            requests:
              cpu: '250m'
              memory: '8Mi'

          readinessProbe:
            initialDelaySeconds: 5
            periodSeconds: 5
            httpGet:
              path: '/fav/favicon-16x16.png'
              port: 80
              httpHeaders:
                - name: 'Host'
                  value: 'start.simoncor.net'

          livenessProbe:
            initialDelaySeconds: 10
            periodSeconds: 5
            httpGet:
              path: '/fav/favicon-16x16.png'
              port: 80
              httpHeaders:
                - name: 'Host'
                  value: 'start.simoncor.net'

          ports:
            - containerPort: 80


# service
---
apiVersion: 'v1'
kind: 'Service'
metadata:
  name: 'start-simoncor-net-svc'
  namespace: 'start-simoncor-net'

spec:
  type: 'ClusterIP'
  selector:
    app: 'start-simoncor-net'

  ports:
    - protocol: 'TCP'
      port: 80
      targetPort: 80


# network policy
---
apiVersion: 'networking.k8s.io/v1'
kind: 'NetworkPolicy'
metadata:
  name: 'start-simoncor-net-np'
  namespace: 'start-simoncor-net'

spec:
  podSelector:
    matchLabels:
      app: 'start-simoncor-net'

  policyTypes:
    - 'Ingress'

  ingress:
    - ports:
        - protocol: 'TCP'
          port: 80

manifests/40_ing.yaml

0 → 100644
+21 −0
Original line number Diff line number Diff line
# ingress
---
apiVersion: 'networking.k8s.io/v1'
kind: 'Ingress'
metadata:
  name: 'start-simoncor-net-ing'
  namespace: 'start-simoncor-net'

spec:
  ingressClassName: 'nginx'
  rules:
    - host: 'start.simoncor.net'
      http:
        paths:
          - path: '/'
            pathType: 'Prefix'
            backend:
              service:
                name: 'start-simoncor-net-svc'
                port:
                  number: 80