Commit Graph

159 Commits

Author SHA1 Message Date
ideahitme
a0b66b91f3 refactor 2017-03-02 16:47:38 +01:00
ideahitme
885b2349e1 better flag parse testing 2017-03-02 15:55:49 +01:00
Martin Linkhorst
99371a1e83 implementation of basic control loop (#40)
* feat(google): add ability to apply changes generated from a plan

* feat(controller): first implementation of controller

* feat: allow to configure in-cluster and kubeconfig

* fix(controller): call RunOnce at the right time and in a loop

* feat(google): add dryRun attribute to Google DNS provider

* fix: use hosted zone id instead of DNS name

* fix(google): stupidly filter by A records for now

* feat: allow specifying the google project and zone

* feat: provide a dry-run flag which defaults to false

* chore: vendor new dependencies

* fix(config): fix failing tests for config object

* ref(controller): return plain value of ApplyChanges

* ref: simplify how to get a valid kubernetes client
2017-03-01 16:17:47 +01:00
Justin Santa Barbara
cb364cdbf7 Move config to apimachinery (#37)
Types that we want to work using apimachinery typically go into
pkg/apis/X, and the validation goes into pkg/apis/X/validation.  We then
add versions into e.g. pkg/apis/X/v1alpha1, but this feels premature at
the moment.

Changing this later is annoyingly difficult, especially in terms of
validation and dependencies.

We will want the apimachinery, so that we can configure from a
configuration file that is versioned.  Hopefully dns-controller won't
end up so complicated that we will require it, but I think there is also
value in following the "standard" patterns for controllers that are
emerging from e.g. ingress.

For a fairly simple example of an API, please consult
https://github.com/kubernetes/kubernetes/tree/master/pkg/apis/certificates
2017-03-01 11:49:02 +01:00
ideahitme
0537b77f16 boilerplate header is newline sensitive -_- 2017-02-21 18:53:50 +01:00
ideahitme
c666bbcb7d add boilerplate header 2017-02-21 18:47:07 +01:00
ideahitme
74a2d8ace7 move config to separate package 2017-02-21 16:15:21 +01:00
ideahitme
13b4c8c094 add config validate tests 2017-02-21 14:32:50 +01:00
ideahitme
c6af349a9b add main, config, termination, healthcheck 2017-02-21 14:10:09 +01:00