Commit Graph

24 Commits

Author SHA1 Message Date
Michael Bridgen 1c33a2d45f Generate docs for v1alpha2
This switches the API doc generation from v1alpha1, to v1alpha2.

Signed-off-by: Michael Bridgen <michael@weave.works>
2021-04-13 11:01:45 +01:00
Stefan Prodan 1332f65372
Release v0.8.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-04-06 17:27:40 +03:00
Stefan Prodan d6d2b55525
Update kyaml to v0.10.16
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-03-31 15:00:19 +03:00
Stefan Prodan d732f55955
Update image-reflector-controller/api to v0.7.1
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-03-16 18:39:07 +02:00
Stefan Prodan 1e87ebdcc1
Add REFLECTOR_VER to Makefile
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-03-16 18:05:22 +02:00
Stefan Prodan 4da2c82d23
Update dependencies
- sigs.k8s.io/controller-tools/cmd/controller-gen v0.4.1
- sigs.k8s.io/controller-runtime v0.8.2
- fluxcd/pkg/runtime v0.8.3
- fluxcd/source-controller v0.9.0

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-02-23 16:57:47 +02:00
Hidde Beydals 1d3978709e Update source-controller dependencies to v0.8.0
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-02-12 12:38:14 +01:00
Stefan Prodan f5a8b922b9
Update fluxcd/pkg/runtime to v0.8.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-01-21 19:57:12 +02:00
Stefan Prodan db94176374
Update Kubernetes packages
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-01-18 14:54:42 +02:00
Hidde Beydals 0531deaaed Upgrade controller-runtime to v0.7.0
This commit upgrades the `controller-runtime` dependency to `v0.7.0`,
including all changes required to make all wiring work again.

- Upgrade `runtime` to v0.6.2 to include `controller-runtime` changes.
- Logger has been removed from the reconciler, and is now retrieved
  from the `context.Context` passed to the `Reconcile` method and
  downwards functions.
- Logger configuration flags are now bound to the flag set using
  `BindFlags` from `runtime/logger`, ensuring the same contract across
  GitOps Toolkit controllers, and the `--log-json` flag has been
  deprecated in favour of the `--log-encoding=json` default.
- The `ChangePredicate` from `runtime` has changed to a
  `ReconcileRequestedPredicate`, and is now chained with the
  `GenerationChangedPredicate` from `controller-runtime` using
  `predicate.Or`.
- Signatures that made use of `runtime.Object` have changed to
  `client.Object`, removing the requirement to e.g. call
  `runtime.Object#Object`.
- The `leader-election-role` was changed, as leader election now works
  via the `coordination/v1` API.

Other notable changes:

- Upgrade of `image-reflector-controller` API package to include
  controller-runtime changes.
- Upgrade of `source-controller` API package to v0.6.1.

Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-01-14 13:48:37 +01:00
Michael Bridgen fec80515b2 Bump toolkit CRDs used
This also corrects a defect in the Makefile: if it can't fetch the
CRDs successfully, it should fail. (Otherwise, it just write the 404
resopnse body to the expected-CRD file!)

Signed-off-by: Michael Bridgen <michael@weave.works>
2020-12-10 13:32:43 +00:00
Michael Bridgen 7227dd00ff Line up $IMG in Makefile with convention
This changes the value of $IMG in the Makefile to line up with other
GitOps toolkit controllers. The main effect is the the `kustomize edit
image` commands used in the deploy and dev-deploy targets will now set
the image tag, rather than let it stay at whatever the last release
was.

Signed-off-by: Michael Bridgen <michael@weave.works>
2020-12-08 10:17:47 +00:00
Michael Bridgen a036d00db1 Add target for API docs generation to Makefile
This adapts the API docs generation, minimally, from
kustomize-controller to work here.

Signed-off-by: Michael Bridgen <michael@weave.works>
2020-11-30 14:17:03 +00:00
Michael Bridgen a09ac3f9d4 Make controller update ready condition
This gives ImageUpdateAutomation objects .status.conditions and
.status.observedGeneration fields, which are maintained by the
controller in the GOTK-standard way.

The only condition used is a Ready condition, compatible with kstatus
(and in common with other GOTK controllers). An object is marked Ready
if the reconciliation exits without an error, whether or not changes
were actually made. If the automation run cannot proceed, e.g.,
because the git repository referred to does not exist, or is not
cloneable, it will be marked as not ready.

This means the condition is a reliable guide to whether the particular
automation is operating or not; new objects will be marked ready as
soon as they have been run through successfully, and will stay ready
until there's a problem. Generally, if there _is_ a problem, the
object will be requeued with a backoff, or left to wait until
circumstances change (e.g., the object itself is edited); one way or
another, there will be a retry, and thereby an opportunity to
transition to ready.

Signed-off-by: Michael Bridgen <michael@weave.works>
2020-11-25 14:59:14 +00:00
Michael Bridgen 3666b91366 Change config/ to be in line with GOTK
Broadly,

 - remove prometheus, webhooks and certificate handling
 - use standard names and filenames
 - don't authenticate the metrics endpoint

Signed-off-by: Michael Bridgen <michael@weave.works>
2020-11-23 17:15:05 +00:00
Hidde Beydals bf8c2deeb7 Make the API package a dedicated module
This includes changes to:

* Bump the Kubernetes dependencies to v1.19.3 to align
  with the other toolkit controllers.
* Update controller-runtime dependency to v0.6.3 to align
  with the other toolkit controllers.
* Update the source-controller dependency to the most recent
  v0.2.2 version to include the v1beta1 API.
* Add the `pkg/gittestserver` dependency for the Git tests,
  as this package was removed in a newer source-controller version.
* Bump the Go version to v1.15.

Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-11-19 12:16:17 +01:00
Stefan Prodan e7ec904fef
Generate CRDs using the stable apiextensions
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-10-22 17:17:48 +03:00
Michael Bridgen ab4a963d50 Change package name and fixup imports and paths 2020-08-10 18:09:57 +01:00
Michael Bridgen 08b0961100 Bump controller-runtime to 0.6.2 2020-08-06 09:15:55 +01:00
Michael Bridgen 9328b2c284 Make target for cleaning CRDs used for test 2020-08-03 17:53:16 +01:00
Hidde Beydals 8dc836e604 Change CRDs domain to 'image.toolkit.fluxcd.io'
This includes changes to the `README.md`, and a bump of the
`source-controller` dependency.
2020-07-31 17:05:56 +02:00
Michael Bridgen 97393366da Test controller to the point of committing changes
This adds a test for the controller, checking that it will commit and
push a change, with the given commit message. I think checking it made
the right change will need a bit of rejigging tests elsewhere, so I
can compare directory contents (as with pkg/update tests).
2020-07-23 18:20:35 +01:00
Michael Bridgen 258468cf14 Give the image and configs less generic names 2020-07-21 12:26:24 +01:00
Michael Bridgen baf50cd4fc Initialise controller scaffolding
go mod init github.com/squaremo/image-automation-controller
    kubebuilder init --domain=fluxcd.io
    $EDITOR hack/boilerplate.go.txt
2020-07-18 15:23:13 +01:00