Commit Graph

310 Commits

Author SHA1 Message Date
Hidde Beydals 4d7812ea64 Release v0.17.0
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-10-28 15:11:58 +02:00
Hidde Beydals b7376ce94c gogit: allow checkout of commit without branch
This commit changes the `gogit` behavior for commit checkouts,
now allowing one to reference to just a commit while omitting any
branch reference. Doing this creates an Artifact with a
`HEAD/<commit>` revision.

If both a `branch` and `commit` are defined, the commit is expected
to exist within the branch. This results in a more efficient clone
of just the target branch, and also makes this change backwards
compatible.

Fixes #407
Fixes #315

Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-10-27 00:43:31 +05:30
Hidde Beydals bef17ae851 Release v0.16.1
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-10-22 14:24:22 +02:00
Hidde Beydals 96ab646cd4 Release v0.16.0
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-10-14 13:49:52 -05:00
Dylan Arbour 5e6abae9e8 Add ReconcileStrategy to HelmChart
This commit adds a `ReconcileStrategy` field to the `HelmChart` resource, which
allows defining when a new chart should be packaged and/or published if it
originates from a `Bucket` or `GitRepository` resource.

The two available strategies are:

- `ChartVersion`: creates a new artifact when the version of the Helm chart as
  defined in the `Chart.yaml` from the Source is different from the current
  version.
- `Revision`: creates a new artifact when the revision of the Source is
  different from the current revision.

For the `Revision` strategy, the (checksum part of the) revision of the
artifact the chart originatesfrom is added as SemVer metadata.

A chart from a `GitRepository` with Artifact revision
`main/f0faacd5164a875ebdbd9e3fab778f49c5aadbbc` and a chart with e.g. SemVer
`0.1.0` will be published as `0.1.0+f0faacd5164a875ebdbd9e3fab778f49c5aadbbc`.

A chart from a `Bucket` with Artifact revision
`f0faacd5164a875ebdbd9e3fab778f49c5aadbbc` and a chart with e.g. SemVer `0.1.0`
will be published as `0.1.0+f0faacd5164a875ebdbd9e3fab778f49c5aadbbc`.

Signed-off-by: Dylan Arbour <arbourd@users.noreply.github.com>
2021-10-14 13:49:52 -05:00
pa250194 0444c6e16d Service Account Key Authentication to GCP Provider
Signed-off-by: pa250194 <pa250194@ncr.com>
2021-09-16 09:49:56 -05:00
Hidde Beydals fd1b3ce0bb Release v0.15.4
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-08-05 13:45:07 +02:00
Stefan Prodan be9f05baf1
Release v0.15.3
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-06-29 12:27:52 +03:00
Hidde Beydals bec2d83c2b Release v0.15.2
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-06-22 14:05:36 +02:00
Hidde Beydals 2c63246ede Change large-repo-* ref.branch to main
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-06-22 13:01:36 +02:00
Hidde Beydals 7013af77c5 Release v0.15.1
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-06-18 12:54:34 +02:00
Hidde Beydals 1f27410b34 Update Helm to v3.6.1
v3.6.1 is a a security update from Helm, ensuring that credentials are
always only passed to the defined repository host.

Based on Helm user reports, disabling this behavior may be required for
some Helm repository solutions like Artifactory, and may be done by
setting `PassCredentials` in the `HelmRepositorySpec`.

For more information, see:
https://github.com/helm/helm/security/advisories/GHSA-56hp-xqp3-w2jf

Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-06-18 12:31:23 +02:00
Stefan Prodan 50c15b81b3
Release v0.15.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-06-17 18:51:09 +03:00
Hidde Beydals 3c1a27a7c3 Release v0.14.0
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-06-08 14:19:05 +02:00
Hidde Beydals a76b10cebb Update K8s, controller-runtime and fluxcd/pkg deps
Controller-runtime has been updated to `v0.9.0`, K8s dependencies to
`v0.21.1`, and all `fluxcd/pkg` and other dependencies to the versions
that have matching dependencies and/or build constraints.

Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-06-08 13:41:34 +02:00
Hidde Beydals bbbb3174cd Release v0.13.2
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-06-02 12:03:26 +02:00
Stefan Prodan 2819924c78
Add e2e tests for large Git repositories
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-06-02 12:45:38 +03:00
Stefan Prodan b3aa9548ec
Release v0.13.1
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-05-28 11:17:27 +03:00
Stefan Prodan 145a82a429
Release v0.13.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-05-26 14:45:14 +03:00
Philip Laine fcf7048992 Add include property to GitRepositories
Signed-off-by: Philip Laine <philip.laine@gmail.com>
Signed-off-by: Philip Laine <philip.laine@xenit.se>
2021-05-11 09:46:50 +02:00
Hidde Beydals ba5bd31572 Release v0.12.2
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-05-10 16:14:52 +02:00
Hidde Beydals fe995a74bf Release v0.12.1
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-04-23 11:35:34 +02:00
Stefan Prodan bd0f1fdd19
Release v0.12.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-04-21 17:57:50 +03:00
Dylan Arbour 4a834e1d2d Add `ValuesFiles` to HelmChart spec
Signed-off-by: Dylan Arbour <arbourd@users.noreply.github.com>
2021-04-19 09:16:53 -04:00
abhinav454 ae24285596 Add shortNames to api resources
Signed-off-by: abhinav454 <43758739+abhinav454@users.noreply.github.com>
2021-04-15 09:03:56 -04:00
Stefan Prodan 89c37039fb
Release v0.11.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-03-31 17:42:40 +03:00
Stefan Prodan 664a568822
Add support for Git submodules with go-git
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-03-30 13:00:13 +03:00
Hidde Beydals 2c084ba825 Release v0.10.0
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-03-26 13:41:18 +01:00
Hidde Beydals 1a4b2662e6 Release v0.9.1
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-03-15 12:29:48 +01:00
Stefan Prodan f818317d39
Release v0.9.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-02-23 15:08:16 +02:00
Stefan Prodan 22f5a6f6fb
Update dependencies
- helm.sh/helm/v3 v3.5.2 (forces us into pinning docker)
- sigs.k8s.io/controller-tools/cmd/controller-gen v0.4.1
- sigs.k8s.io/controller-runtime v0.8.2
- fluxcd/pkg/apis/meta v0.8.0
- fluxcd/pkg/runtime v0.8.3

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-02-23 13:18:21 +02:00
Hidde Beydals f2dfa2d0cb Release v0.8.1
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-02-18 10:26:55 +01:00
Hidde Beydals cae8241e17 Release v0.8.0
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-02-12 12:07:28 +01:00
Stefan Prodan e1ee5104e3
Add fsGroup to pod security context
Required for AWS IAM Role bindings

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-02-07 18:34:11 +02:00
Hidde Beydals 7ae5857e13 Release v0.7.4
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-02-03 12:53:00 +01:00
Hidde Beydals cfab200bf6 Release v0.7.3
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-02-02 12:16:53 +01:00
Hidde Beydals 16c6a07504 Use Recreate strategy for controller deployment
- Prevents a deadlock in active-passive HA setups with multiple
  replicas and during upgrades that previously occurred. As the
  leader election would be held hostage by the previous replica
  set due to the rolling update strategy.
- Ensures backing persistent (RW) volumes can safely be used, as
  they can not be shared and will not become available to the next
  pod without recreating all.

Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-02-02 11:40:52 +01:00
Hidde Beydals 77d28a0ed0 Release v0.7.2
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-02-01 15:55:39 +01:00
Hidde Beydals c665907540 Use controller-runtime health probe for liveness
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-02-01 15:00:17 +01:00
Hidde Beydals 144754112b Release v0.7.1
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-01-25 23:02:05 +01:00
Hidde Beydals 2effa7c0b6 Release v0.7.0
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-01-21 17:43:57 +01:00
Stefan Prodan 207ed99d72
Use LocalObjectReference from fluxcd/pkg/meta v0.7
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-01-21 14:18:42 +02:00
Hidde Beydals a050f6457c Release v0.6.3
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-01-19 11:21:38 +01:00
Stefan Prodan 057c134bfa
Release v0.6.2
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2021-01-16 15:12:56 +02:00
Hidde Beydals b979574454 Release v0.6.1
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-01-14 12:05:14 +01:00
Hidde Beydals fa257b13f3 Release v0.6.0
Signed-off-by: Hidde Beydals <hello@hidde.co>
2021-01-12 12:41:45 +01:00
Hidde Beydals fda481efe9 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.0 to include `controller-runtime` changes.
- Loggers have been removed from the reconcilers and are 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
  `ReconcilateAtChangedPredicate`, 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 `client.MatchingField` function was deprecated, and has been
  replaced with `client.MatchingFields{}`.
- The `leader-election-role` was changed, as leader election now works
  via the `coordination/v1` API.

Other notable changes:

- `util.ObjectKey` was added to easily construct a `client.ObjectKey` /
  `types.NamespacedName` from a `metav1.Object`.
- The `SourceIndexKey` constant has been split out into
  `{GitRepository,HelmRepository,Bucket}IndexKey` constants.

Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-12-18 19:17:10 +01:00
Hidde Beydals 5286cb0f90 Release v0.5.6
Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-12-18 11:32:12 +01:00
Aurel Canciu a55c502bb4
Fix HelmChart valuesFile chart path restriction
As part of the feature implementation to support helm chart
dependencies, the functionality for allowing values files overwriting
from any location scoped to the same source was altered. This should fix
the problem by allowing users to load files from any arbitrary location
as long as it's in the context of the same source from where the helm
chart itself is loaded.

Signed-off-by: Aurel Canciu <aurelcanciu@gmail.com>
2020-12-17 12:57:41 +02:00
Hidde Beydals b46f32cd3f Release v0.5.5
Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-12-16 15:50:00 +01:00
Stefan Prodan fd08e9f678
Release v0.5.4
Fix for ARMv7

Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-12-12 14:34:12 +02:00
Hidde Beydals 21a007e7eb Release v0.5.3
Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-12-11 16:29:43 +01:00
Hidde Beydals 6520490c62 Release v0.5.2
Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-12-11 14:33:22 +01:00
Hidde Beydals fa71f3269b Allow overwrite of advertised storage addr
The added `--storage-adv-addr` flag allows overwriting the HTTP address
advertised in the status objects of the sources. This allows for finer
grain configuration in setups where a modified service is used, or where
the DNS resolution differs from the Kubernetes defaults.

When the flag is omitted, an attempt is made to determine the address
based on the configured `--storage-addr` and the `HOSTNAME`.

Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-12-11 14:07:27 +01:00
Hidde Beydals e8888e2896 Release v0.5.1
Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-12-10 00:22:32 +01:00
Hidde Beydals 3fdd95713c Release v0.5.0
Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-12-09 19:15:20 +01:00
Philip Laine f044ebc253 Rename git2go option to libgit2
Signed-off-by: Philip Laine <philip.laine@xenit.se>
2020-12-06 23:19:57 +01:00
Philip Laine 1b4eacc588 Refactor argument name to enable git2go
Signed-off-by: Philip Laine <philip.laine@xenit.se>
2020-12-04 10:07:17 +01:00
Philip Laine 2cb3754953 Add support for gitv2 servers
Signed-off-by: Philip Laine <philip.laine@xenit.se>
2020-12-02 20:18:29 +01:00
Hidde Beydals 0e44d13870 Release v0.4.1
Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-11-26 18:30:04 +01:00
Hidde Beydals e19bb4e62d Release v0.4.0
Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-11-26 14:41:56 +01:00
Stefan Prodan 07d09e2c2e
Add suspend field to Source API
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-11-26 12:49:12 +02:00
Stefan Prodan 81d8830aa4
Release v0.3.0
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-11-19 19:07:56 +02:00
Hidde Beydals 0b4586253c Add LastHandledReconcileAt to source statuses
Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-11-19 13:21:59 +01:00
Aurel Canciu 00bb853d0e
Refactor to adopt k8s standardized Condition type
Updates to use metav1.Condition type and removes references for
deprecated corev1.Condition* constants and uses the new k8s api/meta
helpers in place of the old pkg/apis/meta types.

Signed-off-by: Aurel Canciu <aurelcanciu@gmail.com>
2020-11-19 13:08:33 +02:00
Stefan Prodan 33a693060b
Release v0.2.2
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-11-12 17:27:43 +02:00
Philip Laine c0ee546ce8 Generate CRDs
Signed-off-by: Philip Laine <philip.laine@xenit.se>
2020-11-02 09:55:39 +01:00
Philip Laine 01d0053871 Fix duration default values
Signed-off-by: Philip Laine <philip.laine@xenit.se>
2020-11-02 09:55:39 +01:00
Hidde Beydals 08c4254464 Release v0.2.1
Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-10-30 19:59:21 +01:00
Hidde Beydals a3f7b1d5b2 Release v0.2.0
Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-10-29 12:35:51 +01:00
Stefan Prodan 08d98ff214
Add finalizers to RBAC
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-10-28 14:39:53 +02:00
Hidde Beydals c657e68ba1 Various API doc corrections
Signed-off-by: Hidde Beydals <hello@hidde.co>
2020-10-28 01:09:21 +01:00
Stefan Prodan 987e562922
Release v0.1.1
Signed-off-by: Stefan Prodan <stefan.prodan@gmail.com>
2020-10-13 17:52:59 +03:00
Hidde Beydals f7ceac644d e2e: use podinfo chart for valuesfile tests 2020-10-06 10:37:15 +02:00
Hidde Beydals c176dcf3a9 Release v0.1.0 2020-09-30 17:37:23 +02:00
Hidde Beydals f6c5849235 Rename samples to match `v1beta1` API 2020-09-30 17:07:16 +02:00
stefanprodan f16e5f041a Promote API to v1beta1 2020-09-30 16:11:00 +03:00
Hidde Beydals 431ea05427 Implement `fluxcd/pkg/meta/api` in APIs 2020-09-30 10:18:43 +02:00
stefanprodan 501b4ac6ab Release v0.0.18 2020-09-23 13:05:18 +03:00
Hidde Beydals 8cdb821946 docs: document Bucket support HelmChart 2020-09-21 12:40:15 +02:00
Hidde Beydals 1798b200c9 e2e: test HelmChart from Bucket 2020-09-21 12:40:15 +02:00
Hidde Beydals 03ce9d96da Support Helm charts from Bucket sources 2020-09-21 12:40:15 +02:00
stefanprodan 924e0124b4 Release v0.0.17 2020-09-18 16:44:59 +03:00
stefanprodan 6f8c3816f4 Add secrets read-only access to RBAC 2020-09-18 16:11:28 +03:00
stefanprodan 7abb7ccf60 Add Bucket e2e tests 2020-09-18 16:11:24 +03:00
stefanprodan 716d5532a4 Add S3 test data 2020-09-18 16:11:24 +03:00
stefanprodan 0e6ae3b769 Add Bucket type to API 2020-09-18 16:11:24 +03:00
stefanprodan bdabea02ab Release v0.0.16 2020-09-12 10:36:17 +03:00
stefanprodan 800efe6664 Add watch all namespaces flag 2020-09-11 15:57:36 +03:00
Hidde Beydals 3e04d16292 Release v0.0.15 2020-09-11 13:52:32 +02:00
Hidde Beydals eaec41f6e9 e2e: test HelmChart ValuesFile 2020-09-11 13:33:08 +02:00
Hidde Beydals 2e0b6cb6c9 Allow overwriting chart values from GitRepository 2020-09-11 11:32:45 +02:00
Hidde Beydals b5d869db03 Include PATCH rule for events in manager-role
During high custom resource count / low interval tests, I was greated
with a `cannot patch resource "events"` message. This happened due to
event compaction, where it will perform a patch instead of a create.
By giving the role the permission to do so this should no longer pose
a problem.
2020-09-10 21:17:10 +02:00
Hidde Beydals 7a3a5938d3 Mark resources as progressing on spec changes 2020-09-10 14:13:41 +02:00
stefanprodan 86c8b0c9bd Configure manager logging and set level to info 2020-09-09 15:22:03 +03:00
Hidde Beydals 99b74da044 api/artifact: add checksum field to artifact
This includes a change to how the revision for HelmRepository sources is
recorded, as this will now equal to the generated timestamp from the index
in RFC3339Nano format.
2020-09-09 13:41:56 +02:00
stefanprodan 5126da855e Release v0.0.14 2020-09-04 15:41:12 +03:00
Hidde Beydals 91fa9acdc3 Release v0.0.13 2020-09-01 16:53:29 +02:00
Hidde Beydals c229af95b0 Release v0.0.12 2020-08-31 17:16:32 +02:00
Hidde Beydals 24f47ac183 Support Helm charts from GitRepository sources 2020-08-31 16:21:53 +02:00
Hidde Beydals d38b8fe193 Support proper semver ranges for Helm charts
This commit changes the semver range parser to `blang/semver`, which
is also used to parse semver tags for GitRepository sources.
2020-08-31 10:03:47 +02:00
stefanprodan 87193e1522 Remove deprecated bases from default kustomization 2020-08-21 10:26:46 +03:00
stefanprodan f47eb995fe Release v0.0.10 2020-08-18 14:40:12 +03:00
Hidde Beydals 3a1894482c Release v0.0.9 2020-08-17 15:27:10 +02:00
stefanprodan 0a1cf8c4e3 Release v0.0.8 2020-08-12 17:20:25 +03:00
stefanprodan 4486ab7a5e Implement HelmRepository timeout 2020-08-12 14:10:03 +03:00
stefanprodan 3e76138806 Release v0.0.7 2020-07-31 09:22:16 +03:00
Hidde Beydals 8e1b213da5 Change CRD domain to 'source.toolkit.fluxcd.io'
Due to required domain changes for the helm-controller so that it
can co-exist in a cluster with the Helm Operator, other Toolkit
components are moving to a *.toolklit.fluxcd.io domain too.
2020-07-30 21:50:46 +02:00
stefanprodan 7182d9f1f3 Release v0.0.6 2020-07-20 13:24:49 +03:00
stefanprodan 7e2fe14efa Upgrade CRDs to apiextensions.k8s.io/v1 2020-07-20 12:21:34 +03:00
stefanprodan 780b4388a3 Release v0.0.5 2020-07-13 16:35:22 +03:00
stefanprodan b3e58b48dd Rename syncAt annotation to reconcileAt
Use `fluxcd.io/reconcileAt` annotation across all controllers.
2020-07-13 16:06:16 +03:00
Hidde Beydals d98882462e Setup production logging
For production the log format is JSON, the timestamps format is ISO8601
and stack traces are logged when the level is set to debug.
2020-07-13 11:02:46 +02:00
stefanprodan d1052ffd8b Release v0.0.4 2020-07-10 16:19:29 +03:00
stefanprodan 4cee48c385 Release v0.0.3 2020-07-09 15:30:01 +03:00
stefanprodan b9dc2ecf64 Add ignore field to GitRepository spec 2020-07-09 14:48:02 +03:00
Erik Hollensbe b1b1dbcec5 Support programming excluded patterns in gitrepository spec
-- More coming in this commit message soon

Signed-off-by: Erik Hollensbe <github@hollensbe.org>
2020-07-08 14:38:44 +00:00
stefanprodan 7140305620 Release v0.0.2 2020-07-03 10:27:42 +03:00
stefanprodan c9681ae949 Change ports: 8080 for metrics and 9090 for storage 2020-07-03 08:48:07 +03:00
Hidde Beydals 283c0a5275 Release v0.0.1 2020-06-24 16:17:39 +02:00
stefanprodan af2cb9c23e Release v0.0.1-beta.2 2020-06-10 11:09:36 +03:00
stefanprodan a45536adbc Release v0.0.1-beta.1 2020-05-29 18:01:03 +03:00
stefanprodan 937a665e4a Release v0.0.1-alpha.6 2020-05-06 10:48:34 +03:00
stefanprodan 913c2eec0d Release v0.0.1-alpha.5 2020-04-30 16:48:42 +03:00
stefanprodan c9db552555 git: fix reference json serialization
- add omitempty to GitRepositoryRef fields
2020-04-30 09:54:34 +03:00
stefanprodan 86117cf2eb Release v0.0.1-alpha.4 2020-04-28 14:58:04 +03:00
stefanprodan 4282189591 Release v0.0.1-alpha.3 2020-04-27 12:11:34 +03:00
Hidde Beydals 98cade9443 Release v0.0.1-alpha.2 2020-04-24 14:01:19 +02:00
stefanprodan 7ef9218de9 deploy: reusable config 2020-04-24 12:17:33 +03:00
Stefan Prodan f469418dcd
Merge pull request #38 from fluxcd/nonroot
build: run controller as a non-root user
2020-04-24 12:10:50 +03:00
stefanprodan a6a41eeec5 deploy: add liveness and readiness probes 2020-04-24 11:56:51 +03:00
stefanprodan d0cdb6b029 deploy: add container security context
- deny privilege escalation
- set readonly root fs
- add tmp emptyDir volume
2020-04-24 11:45:23 +03:00
stefanprodan eeab85c0cb controllers: add JSON logging cmd flag 2020-04-24 10:05:32 +03:00
Hidde Beydals 920d37fcda api: add timeout field to GitRepositorySpec
This commit adds a timeout field to the GitRepositorySpec to be used
during the git clone operation when reconciling the resource.
When no interval is defined the default timeout returned by the getter
is 20 seconds.

The timeout can not be added yet to the Helm related sources as it
is currently not possible to inject anything custom into the HTTP
client from the Helm HTTP getter except for the authentication
options built in. A submit has been submitted to make this possible
and is waiting for review.

This commit includes some context changes to the other reconcilers
to tidy them up and make them depend on a single background context.

It also includes some added docblocks that crossed my path.
2020-04-22 11:42:27 +02:00
stefanprodan 7c35de918d Release v0.0.1-alpha.1 2020-04-16 14:12:38 +03:00
stefanprodan 40c1851ffc Add verification failed reason 2020-04-14 18:35:23 +03:00
stefanprodan 8d67f3360b Add PGP signature verification to API 2020-04-14 18:25:25 +03:00
Hidde Beydals dbe3f4fa9c api: corrections to match v1alpha1 spec 2020-04-14 13:34:38 +02:00
stefanprodan 1832b2d11d Introduce source interface
- add source interface with `GetArtifact` and `GetInterval` funcs
- implement source interface for all types
- fix HelmChart requeue
2020-04-14 12:49:31 +03:00
Hidde Beydals 23f0b38ac2 Add helmchart/finalizers RBAC rule for OpenShift 2020-04-13 13:12:41 +02:00
Hidde Beydals ea610829c3 Helm repository and chart HTTP and TLS auth 2020-04-13 11:47:51 +02:00
Hidde Beydals d378bd1852 Introduce HelmChart API and controller
- Add the HelmChart types and controller
- Semver expressions are found by utilizing Helm repository index
  helpers. As Helm makes use of `masterminds/semver`, the support
  for i.e. ranges less mature than the `GitRepository` implementation.
- Recorded semver is as defined in the metadata of the chart. The
  used name for the artifact does however include the checksum of the
  chart archive, as chart maintainers may not always properly apply
  semver.
- Switches to `sigs.k8s.io/yaml` for YAML operations as this among
  other things is able to properly unmarshal embedded structures.
- Directly requeues on transient errors instead of using the defined
  interval as a back-off strategy is applied on repeated failures.
2020-04-12 18:44:37 +02:00
stefanprodan 461c015273 Add artifact type to API 2020-04-12 17:31:25 +03:00
stefanprodan bbc25c3de0 Implement Git HTTP authentication 2020-04-11 12:14:16 +03:00
stefanprodan e2d28296e1 Add GitRepositoryRef type
- add commit ref field
- implement commit checkout
2020-04-11 11:21:12 +03:00
stefanprodan ce01399c15 Refactor git controller fs operations
- use storage helper in GitRepositoryReconciler
- implement artifacts GC
- rename status artifacts to artifact
2020-04-10 12:01:06 +03:00
stefanprodan 8cd8d8f6f2 Consolidate status conditions
- Use the same condition type as https://github.com/kubernetes/enhancements/pull/1624 so it can be dropped in favour of the Kubernetes type when that PR is merged
2020-04-10 08:38:40 +03:00
Hidde Beydals 81873e7553 Download Helm repository indexes w/ Helm's getter 2020-04-09 15:53:38 +02:00
Hidde Beydals 4d30a82ef4 Rename project to source-controller 2020-04-08 16:12:17 +03:00
stefanprodan 86c2c9f745 Implement CI with GitHub Actions 2020-04-08 14:17:06 +03:00
stefanprodan 62350a944b Implement git tag semver filter 2020-04-07 13:22:55 +03:00
stefanprodan 98901f2909 Expose git artifacts inside the cluster 2020-04-07 10:49:57 +03:00
stefanprodan d2b0653c34 Setup build and deploy manifests 2020-04-06 20:37:53 +03:00
stefanprodan 3efd54efd1 Add git repository artifacts to API 2020-04-06 19:02:14 +03:00
stefanprodan 3deb7caf9a Implement force sync via predicates 2020-04-06 15:41:57 +03:00
stefanprodan 9ad2be5b67 Add Git and Helm samples 2020-04-06 10:43:33 +03:00
stefanprodan f4e568d4b9 Add Git branch and tag to API 2020-04-06 10:42:35 +03:00
stefanprodan f740d434dc Add repository sync interval to API 2020-04-05 18:10:30 +03:00
stefanprodan 6b31c57ba7 Add repository status conditions 2020-04-05 15:18:43 +03:00
stefanprodan 92b7b1fe43 Scaffold repository controllers 2020-04-05 12:34:29 +03:00