Commit Graph

11 Commits

Author SHA1 Message Date
Sergiy Markin 32ad8a96b0 [focal] Python modules sync with Airship project
- uplifted/downgraded some python modules
- fixed falcon.API deprecation - -> falcon.App
- uplifted deckhand reference for python deps
- fixed formatting style  using yapf linter
- added bindep role and bindep.txt file with required deps
- fixed quai docker image publishing
- re-enabled openstack-tox-py38 gate job

Change-Id: I0e248182efad75630721a1291bc86a5edc79c22a
2023-04-21 06:09:14 +00:00
Mark Burnett 8bc8c7c028 Implement encryption for genesis/join scripts
This introduces a new document called `EncryptionPolicy` to configure
this behavior.  It currently only supports using symmetric encryption
with `GPG`, but that should be available on all Ubuntu systems (which is
what we currently support) and should also be fairly reliable.

Change-Id: I06d4faa119b736773df0d8cbf0e7a23fd98edcdf
Depends-On: https://review.openstack.org/#/c/602175/
2018-09-14 11:32:12 -05:00
Scott Hussey 9f875767cb [458884] Refactor validation
- This addresses a bug where Promenade doesn't detect some invalid
  configurations during genesis script generation.
- Refactor some validation checks for performance

Change-Id: I8b39caaab04819a935b83eb544979eac333fe409
2018-08-31 10:41:01 -05:00
Mark Burnett 0e5009277a Fix broken validatedesign endpoint
This endpoint did not correctly return a response body.

Change-Id: Iec23083402d92069ab34698f31aeee4dce035aa6
2018-07-19 13:29:18 -05:00
Samantha Blanco 2cd353da21 Update validatedesign message
Update validatedesign failure message to return more detailed error
message.

Change-Id: I56f11ecd3030532d90b421dce5d8959b28d40cbb
2018-06-25 10:22:10 -04:00
Samantha Blanco 0604b0404f Improve Promenade validatedesign message
Improves validatedesign return message by including count and list
of validation errors.

Change-Id: I7771eafedaa56c748f43fe1212926154933f247f
2018-04-03 10:53:25 -04:00
Scott Hussey 7917237ae0 Migrate to DH-managed config files
Use the Deckhand engine module directly to manage local configuration
files during CLI usage.

Note: not doing document validation as DH currently requires schemas to
be sourced from the database. Simple schema validation in place.

- Layering/substitution
- Schema validation based on DataSchema documents in payload
- Add deckhand to requirements

A few tooling updates

- concatenate test & schema yaml files into a single file to avoid name
  conflicts
- make nginx directory in build-scripts stage

Change-Id: I2d56244f01c58052f14331bc09fd5843d4c95292
2018-01-26 13:43:18 -05:00
Samantha Blanco fd31aae8e8 Add API unit tests
Add unit tests for Promenade API endpoints. Also adds validatedesign
API endpoint.

Change-Id: I4c6a5da1f521f913c94ae8a07c8bc43cf4114f75
2017-12-19 16:45:37 -05:00
Samantha Blanco 9eb6f9c686 Inital API Commit
Creates necessary API files and implements health API route.

Change-Id: Id545d65949fcc48a05565f39b08180d4aa86006f
2017-11-03 14:48:47 -04:00
Mark Burnett 597c1a3929 Security: Add bandit job to tox
Change-Id: Idcf6efade852e7de0c636184c21f35a03fe0d980
2017-10-30 13:34:23 -04:00
Mark Burnett 95643147c5 Migrate to self hosted using charts
This change includes several interconnected features:

* Migration to Deckhand-based configuration.  This is integrated here,
  because new configuration data were needed, so it would have been
  wasted effort to either implement it in the old format or to update
  the old configuration data to Dechkand format.
* Failing faster with stronger validation.  Migration to Deckhand
  configuration was a good opportunity to add schema validation, which
  is a requirement in the near term anyway.  Additionally, rendering
  all templates up front adds an additional layer of "fail-fast".
* Separation of certificate generation and configuration assembly into
  different commands.  Combined with Deckhand substitution, this creates
  a much clearer distinction between Promenade configuration and
  deployable secrets.
* Migration of components to charts.  This is a key step that will
  enable support for dynamic node management.  Additionally, this paves
  the way for significant configurability in component deployment.
* Version of kubelet is configurable & controlled via download url.
* Restructuring templates to be more intuitive.  Many of the templates
  require changes or deletion due to the migration to charts.
* Installation of pre-configured useful tools on hosts, including calicoctl.
* DNS is now provided by coredns, which is highly configurable.

Change-Id: I9f2d8da6346f4308be5083a54764ce6035a2e10c
2017-10-17 13:29:46 -05:00