Commit Graph

6 Commits (main)

Author SHA1 Message Date
David Boreham bf1eccd486 Fix image tag name 2024-06-13 08:31:45 -06:00
David Boreham 3fb025b5c9 Make remote image tags unique to the deployment (#838)
Webapp Test / Run webapp test suite (push) Failing after 4s Details
Deploy Test / Run deploy test suite (push) Failing after 3s Details
Publish / Build and publish (push) Failing after 4s Details
Smoke Test / Run basic test suite (push) Failing after 3s Details
Lint Checks / Run linter (push) Failing after 3s Details
Reviewed-on: https://git.vdb.to/cerc-io/stack-orchestrator/pulls/838
Reviewed-by: Thomas E Lackey <telackey@noreply.git.vdb.to>
Co-authored-by: David Boreham <david@bozemanpass.com>
Co-committed-by: David Boreham <david@bozemanpass.com>
2024-06-13 03:26:58 +00:00
Thomas E Lackey a0413659f7 Check for existing tag in remote repo before building. (#764)
Webapp Test / Run webapp test suite (push) Successful in 4m5s Details
Smoke Test / Run basic test suite (push) Successful in 3m55s Details
Deploy Test / Run deploy test suite (push) Successful in 5m13s Details
Publish / Build and publish (push) Successful in 1m5s Details
Lint Checks / Run linter (push) Failing after 3s Details
webapps are meant to be build-once/deploy-many, but we were rebuilding them for every request.  This changes that, so that we rebuild only for every unique ApplicationRecord.

When we push the image, we now tag it according to its ApplicationRecord.

We don't want to use that tag directly in the compose file for the deployment, however, as the deployment needs to be able to adjust to new builds w/o re-writing the file all the time.  Instead, we use a per-deployment unique tag (same as before), we just update what image it references as needed.

Reviewed-on: https://git.vdb.to/cerc-io/stack-orchestrator/pulls/764
2024-02-24 03:22:49 +00:00
Thomas E Lackey b22c72e715 For k8s, use provisioner-managed volumes when an absolute host path is not specified. (#741)
In kind, when we bind-mount a host directory it is first mounted into the kind container at /mnt, then into the pod at the desired location.

We accidentally picked this up for full-blown k8s, and were creating volumes at /mnt.  This changes the behavior for both kind and regular k8s so that bind mounts are only allowed if a fully-qualified path is specified.  If no path is specified at all, a default storageClass is assumed to be present, and the volume managed by a provisioner.

Eg, for kind, the default provisioner is: https://github.com/rancher/local-path-provisioner

```
stack: test
deploy-to: k8s-kind
config:
  test-variable-1: test-value-1
network:
  ports:
    test:
     - '80'
volumes:
  # this will be bind-mounted to a host-path
  test-data-bind: /srv/data
  # this will be managed by the k8s node
  test-data-auto:
configmaps:
  test-config: ./configmap/test-config
```

Reviewed-on: https://git.vdb.to/cerc-io/stack-orchestrator/pulls/741
Co-authored-by: Thomas E Lackey <telackey@bozemanpass.com>
Co-committed-by: Thomas E Lackey <telackey@bozemanpass.com>
2024-02-14 21:45:01 +00:00
Thomas E Lackey 12ec1bec43
Add ConfigMap support for k8s. (#714)
Publish / Build and publish (push) Successful in 50s Details
Deploy Test / Run deploy test suite (push) Successful in 3m7s Details
Webapp Test / Run webapp test suite (push) Successful in 2m38s Details
Smoke Test / Run basic test suite (push) Successful in 3m45s Details
* Minor fixes for deploying with k8s and podman.

* ConfigMap support
2024-01-30 23:09:48 -06:00
David Boreham f6624cb33a
Add image push command (#656)
Publish / Build and publish (push) Successful in 57s Details
Deploy Test / Run deploy test suite (push) Successful in 3m6s Details
K8s Deploy Test / Run deploy test suite (push) Failing after 3m10s Details
Webapp Test / Run webapp test suite (push) Failing after 3m37s Details
Smoke Test / Run basic test suite (push) Successful in 4m8s Details
2023-11-20 20:23:55 -07:00