/kubedrone

Apply Kubernetes configurations from Drone

Primary LanguageShell

Apply kubernetes configuration from drone

kubectl apply -f

- name: deploy
  image: zzzsochi/kubedrone
  settings:
    apply_file: build/config.yaml
    ...

kustomize build | kubectl apply -f

- name: deploy
  image: zzzsochi/kubedrone
  settings:
    apply_kustomize: build/kustomize/stage
    ...

Run script

- name: deploy
  image: zzzsochi/kubedrone
  settings:
    script: build/kustomize/stage
    ...

Authentification

Token

- name: deploy
  image: zzzsochi/kubedrone
  settings:
    server: "secret"
    server_ca: "secret"
    token: "secret"
    ...

Client key

- name: deploy
  image: zzzsochi/kubedrone
  settings:
    server: "secret"
    server_ca: "secret"
    client_crt: "secret"
    client_key: "secret"
    ...

Basic auth

- name: deploy
  image: zzzsochi/kubedrone
  settings:
    server: "secret"
    server_ca: "secret"
    username: "secret"
    password: "secret"
    ...

AWS EKS

- name: deploy
  image: zzzsochi/kubedrone
  settings:
    eks_cluster_region: "secret"
    eks_cluster_name: "secret"
    aws_access_key_id: "secret"
    aws_secret_access_key: "secret"
    ...

Verbose mode

- name: deploy
  image: zzzsochi/kubedrone
  settings:
    debug: "true"
    ...

Work with version of your project

We need to save version when project build for stage and get this version when project deploy from master.

Save version for commit

- name: version
  image: zzzsochi/kubedrone:version
  settings:
    command: save
    vendor: tc
    service: core
    status: ok
    version_file: build/version
    ...

This stage will save version to ConfigMap.

Get version by commit

- name: version
  image: zzzsochi/kubedrone:version
  settings:
    command: get
    vendor: tc
    service: core
    status: ok
    version_file: build/version
    ...

This stage will create the file build/version with your project version, saved by previews example.