Commit Graph

44 Commits

Author SHA1 Message Date
Joonas Bergius f190e50c6f
Merge pull request #29 from joonas/fix/chart-publishing-pipeline
Use the full chart path for helm package
2024-04-30 11:25:47 -05:00
Joonas Bergius fcf4a445e3
Use the full chart path for helm package
Signed-off-by: Joonas Bergius <joonas@cosmonic.com>
2024-04-30 11:14:02 -05:00
Joonas Bergius 58b976c250
Merge pull request #28 from joonas/joonas/add-pods-and-endpointslices-permissions-to-chart
Add Pods and EndpointSlices permissions to wasmcloud-operator ClusterRole
2024-04-26 10:41:36 -05:00
Joonas Bergius 878a008a01
Merge pull request #27 from joonas/joonas/add-conditions-to-endpoints
Add conditions to Endpoints part of the EndpointSlices reflecting wadm application Service entries
2024-04-26 10:41:20 -05:00
Joonas Bergius 60723198aa
Add Pods and EndpointSlices permissions to operator CR
Signed-off-by: Joonas Bergius <joonas@cosmonic.com>
2024-04-25 16:35:57 -05:00
Joonas Bergius 1aa3942b6e
Add conditions to Endpoints part of the EndpointSlices reflecting wadm application Service entries
Signed-off-by: Joonas Bergius <joonas@cosmonic.com>
2024-04-24 19:50:44 -05:00
Dan Norris 4804546fd4
Merge pull request #26 from wasmCloud/update_wasmcloud_1.0_deps
chore: update wadm and wash-lib to the latest released versions
2024-04-17 19:45:44 -04:00
Dan Norris cd02677b16 chore: update wadm and wash-lib to the latest released versions
Update to use the latest wasmCloud 1.0 compatible versions of wadm and
wash-lib.

Signed-off-by: Dan Norris <protochron@users.noreply.github.com>
2024-04-17 19:39:20 -04:00
Taylor Thomas a9a05905c1
Merge pull request #25 from thomastaylor312/chore/1.0_bump
feat(*): Bumps to 0.2 for wasmcloud 1.0 support
2024-04-17 17:22:39 -06:00
Joonas Bergius 82ab69b84f
Merge pull request #19 from joonas/joonas/fix-up-readme-and-add-links
Fix up some README typos and add relevant links
2024-04-17 18:02:29 -05:00
Taylor Thomas a947d144cb feat(*): Bumps to 0.2 for wasmcloud 1.0 support
This bumps both the version of the operator and the default host version
in the example to 1.0. Also updates the README to use the released wadm
chart

Signed-off-by: Taylor Thomas <taylor@cosmonic.com>
2024-04-17 16:47:23 -06:00
Joonas Bergius 72f58558bd
Fix up some README typos and add relevant links
Signed-off-by: Joonas Bergius <joonas@cosmonic.com>
2024-04-15 10:49:55 -05:00
Joonas Bergius 692d78308b
Merge pull request #20 from ericgregory/readme
Add wadm instructions to readme
2024-04-15 10:48:25 -05:00
Taylor Thomas 1659819c23
Merge pull request #21 from thomastaylor312/ref/small_changes_and_bump
ref(*): Refactors some copied code and bumps version
2024-04-13 16:04:06 -05:00
Taylor Thomas 9eb70ec23a ref(*): Refactors some copied code and bumps version
This fixes a few Rust-y things and dedupes some code I found while
addressing clippy errors

Signed-off-by: Taylor Thomas <taylor@cosmonic.com>
2024-04-13 13:52:40 -06:00
Eric Gregory 04607fdcb5 Add wadm instructions to readme
Signed-off-by: Eric Gregory <eric@cosmonic.com>
2024-04-12 09:41:02 -04:00
Dan Norris 9a9a4a8f97
Merge pull request #18 from wasmCloud/1.0_compat
feat: rework the operator for wasmCloud 1.0 compatibility
2024-04-10 17:24:20 -04:00
Dan Norris 4d378f263f feat: rework the operator for wasmCloud 1.0 compatibility
wasmCloud 1.0 fully converts over to using components among other large
changes, so we need to rework the operator to account for it. 1.0 is
still in the works, so this updates the operator to depend on wasmCloud
1.0 libraries along with refactoring the service creation code to use
the updated application manifest format.

Once this is in we will likely cut a 0.2.0 pre-release and wait for an
actual release until wasmCloud 1.0.0 and wadm 0.11 are out.

This also adds a new field to the CRD so that you can specify the full
image reference instead of just the version. The `image` parameter takes
precedence.

Signed-off-by: Dan Norris <protochron@users.noreply.github.com>
2024-04-10 16:27:00 -04:00
Dan Norris 8bcd13b1e1
Merge pull request #14 from wasmCloud/service_sync
feat: automatically create Kubernetes Services for apps using a httpserver component
2024-04-09 12:13:08 -04:00
Dan Norris 0121602ee7 feat: Refactor configuration into a module
Also add support for setting the number of stream replicas when creating
the stream mirror for the operator.

Signed-off-by: Dan Norris <protochron@users.noreply.github.com>
2024-04-09 11:12:43 -04:00
Dan Norris b93332029f feat: automatically create Kubernetes Services for apps using a httpserver component
One advantage of wasmCloud applications is that we always know what
components make up an application and therefore can intelligently make
decisions based on what interfaces we're using. This makes it much
easier for software like the operator to take particular actions based
on the contents of an application manifest.

This change adds an additional set of reconciliations we can perform on
a per-lattice basis to automatically create Kubernetes Services for
applications that deploy a httpserver component. The operator uses a
NATS consumer that watches for manifest deploy and undeploy events and
triggers a reconciliation on a managed Service. Right now this is
restricted only to `daemonscalers`, since we do not have to do any
bookeeping on where components are deployed if they are running on all
of the hosts in a lattice or in a subset identified by label. We will
add support for `spreadscalers` in a future PR.

This allows for some interesting deployment scenarios, such as wasmCloud
applications that span multiple Kubernetes deployments in the same
namespace, or potentially in _multiple namespaces_ if we decide to
implement support for them. Initially the operator is only creating
endpoints that route traffic from a service to pods in the same
namespace, but we may add an option to relax that assumption.

Signed-off-by: Dan Norris <protochron@users.noreply.github.com>
2024-04-09 10:09:44 -04:00
Dan Norris bad704df22
Merge pull request #13 from wasmCloud/dependabot/cargo/h2-0.3.26
chore(deps): Bump h2 from 0.3.25 to 0.3.26
2024-04-08 11:11:49 -04:00
dependabot[bot] fe4ee8af32
chore(deps): Bump h2 from 0.3.25 to 0.3.26
Bumps [h2](https://github.com/hyperium/h2) from 0.3.25 to 0.3.26.
- [Release notes](https://github.com/hyperium/h2/releases)
- [Changelog](https://github.com/hyperium/h2/blob/v0.3.26/CHANGELOG.md)
- [Commits](https://github.com/hyperium/h2/compare/v0.3.25...v0.3.26)

---
updated-dependencies:
- dependency-name: h2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-04-08 15:07:25 +00:00
Joonas Bergius 290db9919c
Merge pull request #10 from joonas/chore/publish-charts-under-separate-namespace
chore: Update charts to be published under separate namespace
2024-04-01 13:51:57 -05:00
Dan Norris 58a9799b0e
Merge pull request #9 from wasmCloud/node_affinity
feat: enable additional scheduling options for wasmCloud host pods
2024-04-01 14:33:56 -04:00
Dan Norris e671b4f12b feat: enable additional scheduling options for wasmCloud host pods
This refactors the WasmCloudHostConfig CRD so that it has a single field
(`schedulingOptions`) for configuring how the underlying Pods are
scheduled in Kubernetes. This includes:
* Relocating the `daemonset` option to this new field
* Relocating the `resources` option to this new field
* Adding a new `pod_template_additions` field that allows you to set any
  valid option in a `PodSpec`

Doing so allows cluster operators to do things like set node affinity
and node selector rules, along with any other valid PodSpec option. The
only thing that cannot be done is adding additional containers to the
pod, since that is all handled by the controller. We could look at
exposing that option if users want to be able to add additional
sidecars.

Signed-off-by: Dan Norris <protochron@users.noreply.github.com>
2024-04-01 13:53:39 -04:00
Joonas Bergius 8c1fa43765
chore: Update charts to be published under separate namespace
Signed-off-by: Joonas Bergius <joonas@cosmonic.com>
2024-04-01 12:42:03 -05:00
Joonas Bergius 50a2d67798
Merge pull request #8 from joonas/feat/add-helm-chart
feat: Add helm chart
2024-03-29 18:20:52 -05:00
Joonas Bergius a4a0035aa2
feat: Add helm chart
Signed-off-by: Joonas Bergius <joonas@cosmonic.com>
2024-03-29 16:06:54 -05:00
Joonas Bergius 88369e3cdd
Merge pull request #7 from joonas/chore/add-dependency-review
chore: Add dependency-review workflow for pull requests
2024-03-29 16:06:08 -05:00
Joonas Bergius baee51eecc
chore: Add dependency-review workflow for pull requests
Signed-off-by: Joonas Bergius <joonas@cosmonic.com>
2024-03-29 12:43:27 -05:00
Joonas Bergius 3fa82d0857
Merge pull request #6 from wasmCloud/dependabot/cargo/h2-0.3.25
chore(deps): Bump h2 from 0.3.21 to 0.3.25
2024-03-29 12:29:53 -05:00
Joonas Bergius df435d802b
Merge pull request #5 from wasmCloud/dependabot/cargo/unsafe-libyaml-0.2.11
chore(deps): Bump unsafe-libyaml from 0.2.9 to 0.2.11
2024-03-29 12:29:27 -05:00
Joonas Bergius ca3527b6f3
Merge pull request #4 from joonas/fix/GHSA-g98v-hv3f-hcfr
fix: Address GHSA-g98v-hv3f-hcfr
2024-03-29 12:27:42 -05:00
dependabot[bot] d9111366a2
chore(deps): Bump h2 from 0.3.21 to 0.3.25
Bumps [h2](https://github.com/hyperium/h2) from 0.3.21 to 0.3.25.
- [Release notes](https://github.com/hyperium/h2/releases)
- [Changelog](https://github.com/hyperium/h2/blob/v0.3.25/CHANGELOG.md)
- [Commits](https://github.com/hyperium/h2/compare/v0.3.21...v0.3.25)

---
updated-dependencies:
- dependency-name: h2
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-29 17:25:16 +00:00
dependabot[bot] bdc43302b2
chore(deps): Bump unsafe-libyaml from 0.2.9 to 0.2.11
Bumps [unsafe-libyaml](https://github.com/dtolnay/unsafe-libyaml) from 0.2.9 to 0.2.11.
- [Release notes](https://github.com/dtolnay/unsafe-libyaml/releases)
- [Commits](https://github.com/dtolnay/unsafe-libyaml/compare/0.2.9...0.2.11)

---
updated-dependencies:
- dependency-name: unsafe-libyaml
  dependency-type: indirect
...

Signed-off-by: dependabot[bot] <support@github.com>
2024-03-29 17:24:48 +00:00
Joonas Bergius 1726808a14
fix: Address GHSA-g98v-hv3f-hcfr
Signed-off-by: Joonas Bergius <joonas@cosmonic.com>
2024-03-29 12:22:04 -05:00
Dan Norris 00adb860fc
Merge pull request #3 from wasmCloud/fix_oci_vars
fix: use the correct OCI registry environment variables for newer hosts
2024-03-28 09:21:58 -04:00
Dan Norris debadb3109 fix: use the correct OCI registry environment variables for newer hosts
In wasmCloud 0.81.0 we deprecated the old `OCI_REGISTRY` variables in
favor of prefixing them with `WASMCLOUD`. 0.82.0 fully removed those
variables, so this updates the controller to use the new variables with
an eye towards wasmCloud 1.0 compatibility.

Signed-off-by: Dan Norris <protochron@users.noreply.github.com>
2024-03-28 09:18:06 -04:00
Dan Norris 0756cdeeff
Merge pull request #2 from wasmCloud/add_credentials_docs
chore: add docs on how to use the `registryCredentialsSecret` option
2024-03-27 19:51:18 -04:00
Dan Norris c0e782dc1b chore: add docs on how to use the `registryCredentialsSecret` option
Add documentation on how to use the `registryCredentialsSecret` to
enable wasmCloud hosts to pull from a private registry.

Also add comments to each of the CRD fields outlining what each field
does.

Signed-off-by: Dan Norris <protochron@users.noreply.github.com>
2024-03-27 19:46:13 -04:00
Dan Norris b375604010
Merge pull request #1 from protochron/daemonset_option
feat: add option to start hosts as a DaemonSet
2024-03-27 12:58:29 +00:00
Dan Norris 72fa8af4d6 feat: add option to start hosts as a DaemonSet
Add a `daemonset` option for managing hosts as a DaemonSet instead of
just a Deployment.

Signed-off-by: Dan Norris <protochron@users.noreply.github.com>
2024-03-27 08:37:40 -04:00
Dan Norris 6e56a7e3d8 Initial commit 2024-03-19 01:14:21 +01:00