Beispiel #1
0
class Service(db.Model):

    __tablename__ = 'service'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=True)
    serviceslo = db.relationship('ServiceSLO', backref='service')
Beispiel #2
0
class Severity(db.Model):

    __tablename__ = 'severity'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=True)
    vulnerabilities = db.relationship('Vulnerability', backref='severity')
Beispiel #3
0
class Token(db.Model):

    __tablename__ = 'token'

    id = db.Column(db.Integer, primary_key=True)
    timestamp = db.Column(db.DateTime)
    pods = db.relationship('Pod', backref='token')
Beispiel #4
0
class LatestTokens(db.Model):

    __tablename__ = 'latesttokens'

    id = db.Column(db.Integer, primary_key=True)
    # no index here, this is a very small table that won't almost grow
    token_id = db.Column(db.Integer, db.ForeignKey('token.id'))
Beispiel #5
0
class Cluster(db.Model):

    __tablename__ = 'cluster'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=True)
    namespaces = db.relationship('Namespace', backref='cluster')
Beispiel #6
0
class ImageFeature(db.Model):

    __tablename__ = 'imagefeature'

    image_id = db.Column(db.Integer, db.ForeignKey('image.id'),
                         primary_key=True)
    feature_id = db.Column(db.Integer, db.ForeignKey('feature.id'),
                           primary_key=True)
Beispiel #7
0
class Namespace(db.Model):

    __tablename__ = 'namespace'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=False)
    cluster_id = db.Column(db.Integer, db.ForeignKey('cluster.id'))
    pods = db.relationship('Pod', backref='namespace')
Beispiel #8
0
class ObjectKind(db.Model):

    __tablename__ = 'objectkind'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=False)
    deploymentvalidation = db.relationship('DeploymentValidation',
                                           backref='objectkind')
Beispiel #9
0
class Image(db.Model):

    __tablename__ = 'image'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=False)
    manifest = db.Column(db.String(1000), unique=False)
    features = db.relationship('Feature', secondary='imagefeature')
    pods = db.relationship('Pod', backref='image')
Beispiel #10
0
class Pod(db.Model):

    __tablename__ = 'pod'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(256), unique=False)
    namespace_id = db.Column(db.Integer, db.ForeignKey('namespace.id'))
    image_id = db.Column(db.Integer, db.ForeignKey('image.id'))
    token_id = db.Column(db.Integer, db.ForeignKey('token.id'))
Beispiel #11
0
class Validation(db.Model):

    __tablename__ = 'validation'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=False)
    status = db.Column(db.Integer, unique=False)
    deploymentvalidation = db.relationship('DeploymentValidation',
                                           backref='validation')
Beispiel #12
0
class Token(db.Model):

    __tablename__ = 'token'

    id = db.Column(db.Integer, primary_key=True)
    timestamp = db.Column(db.DateTime)
    pods = db.relationship('Pod', backref='token')
    deploymentvalidation = db.relationship('DeploymentValidation',
                                           backref='token')
    serviceslo = db.relationship('ServiceSLO', backref='token')
Beispiel #13
0
class Feature(db.Model):

    __tablename__ = 'feature'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=False)
    namespacename = db.Column(db.String(64), unique=False)
    version = db.Column(db.String(64), unique=False)
    versionformat = db.Column(db.String(64), unique=False)
    images = db.relationship('Image', secondary='imagefeature')
    vulnerabilities = db.relationship('Vulnerability', backref='feature')
Beispiel #14
0
class Namespace(db.Model):

    __tablename__ = 'namespace'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=False, index=True)
    cluster_id = db.Column(db.Integer, db.ForeignKey('cluster.id'), index=True)
    pods = db.relationship('Pod', backref='namespace')
    deploymentvalidation = db.relationship('DeploymentValidation',
                                           backref='namespace')
    serviceslo = db.relationship('ServiceSLO', backref='namespace')
Beispiel #15
0
class Token(db.Model):

    __tablename__ = 'token'

    id = db.Column(db.Integer, primary_key=True)
    timestamp = db.Column(db.DateTime)
    uuid = db.Column(db.String(36), index=True)
    data_type = db.Column(db.Enum(DataTypes))
    is_open = db.Column(db.Boolean, default=False)
    pods = db.relationship('Pod', backref='token')
    deploymentvalidation = db.relationship('DeploymentValidation',
                                           backref='token')
    serviceslo = db.relationship('ServiceSLO', backref='token')
Beispiel #16
0
class ServiceSLO(db.Model):

    __tablename__ = 'serviceslo'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=False, index=True)
    value = db.Column(db.Float, unique=False, nullable=False)
    target = db.Column(db.Float, unique=False, nullable=False)
    # no index, slitype is a very small table
    slitype_id = db.Column(db.Integer, db.ForeignKey('slitype.id'))
    slodoc_id = db.Column(db.Integer, db.ForeignKey('slodoc.id'), index=True)
    token_id = db.Column(db.Integer, db.ForeignKey('token.id'), index=True)
    service_id = db.Column(db.Integer, db.ForeignKey('service.id'), index=True)
    namespace_id = db.Column(db.Integer, db.ForeignKey('namespace.id'),
                             index=True)
Beispiel #17
0
class ServiceSLO(db.Model):

    __tablename__ = 'serviceslo'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=False)
    value = db.Column(db.Integer, unique=False)
    target = db.Column(db.Integer, unique=False)
    slitype_id = db.Column(db.Integer, db.ForeignKey('slitype.id'))
    token_id = db.Column(db.Integer, db.ForeignKey('token.id'))
    service_id = db.Column(db.Integer, db.ForeignKey('service.id'))
    namespace_id = db.Column(db.Integer, db.ForeignKey('namespace.id'))
Beispiel #18
0
class Vulnerability(db.Model):

    __tablename__ = 'vulnerability'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=False)
    description = db.Column(db.String(10000), unique=False)
    fixedby = db.Column(db.String(10000), unique=False)
    link = db.Column(db.String(10000), unique=False)
    severity_id = db.Column(db.Integer, db.ForeignKey('severity.id'))
    feature_id = db.Column(db.Integer, db.ForeignKey('feature.id'))
Beispiel #19
0
class Vulnerability(db.Model):

    __tablename__ = 'vulnerability'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(64), unique=False, index=True)
    description = db.Column(db.String(10000), unique=False)
    fixedby = db.Column(db.String(10000), unique=False)
    link = db.Column(db.String(10000), unique=False)
    # No index in severity_id as we have a very small subset of severities
    severity_id = db.Column(db.Integer, db.ForeignKey('severity.id'))
    feature_id = db.Column(db.Integer, db.ForeignKey('feature.id'), index=True)
Beispiel #20
0
class DeploymentValidation(db.Model):

    __tablename__ = 'deploymentvalidation'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(256), unique=False)
    token_id = db.Column(db.Integer, db.ForeignKey('token.id'))
    namespace_id = db.Column(db.Integer, db.ForeignKey('namespace.id'))
    objectkind_id = db.Column(db.Integer, db.ForeignKey('objectkind.id'))
    validation_id = db.Column(db.Integer, db.ForeignKey('validation.id'))
Beispiel #21
0
class DeploymentValidation(db.Model):

    __tablename__ = 'deploymentvalidation'

    id = db.Column(db.Integer, primary_key=True)
    name = db.Column(db.String(256), unique=False, index=True)
    token_id = db.Column(db.Integer, db.ForeignKey('token.id'), index=True)
    namespace_id = db.Column(db.Integer, db.ForeignKey('namespace.id'),
                             index=True)
    # No index in objectkind_id as we have a very small subset of them
    objectkind_id = db.Column(db.Integer, db.ForeignKey('objectkind.id'))
    validation_id = db.Column(db.Integer, db.ForeignKey('validation.id'),
                              index=True)