Commit Graph

332 Commits

Author SHA1 Message Date
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